Skip to content

Commit d58599b

Browse files
committed
Remove support for setting high=low in triangle
1 parent cd5dd9b commit d58599b

1 file changed

Lines changed: 13 additions & 25 deletions

File tree

src/semeio/fmudesign/design_distributions.py

Lines changed: 13 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -320,33 +320,21 @@ def draw_values_triangular(
320320
mode = float(dist_parameters[1])
321321
high = float(dist_parameters[2])
322322

323-
if high == low: # collapsed distribution
324-
print(
325-
"Low and high parameters for triangular distribution"
326-
f" are equal. Using constant {low}"
323+
dist_scale = high - low
324+
shape = (mode - low) / dist_scale
325+
326+
if normalscoresamples is not None:
327+
values = scipy.stats.triang.ppf(
328+
scipy.stats.norm.cdf(normalscoresamples),
329+
shape,
330+
loc=low,
331+
scale=dist_scale,
327332
)
328-
if normalscoresamples is not None:
329-
values = scipy.stats.uniform.ppf(
330-
scipy.stats.norm.cdf(normalscoresamples), loc=low, scale=0
331-
)
332-
else:
333-
values = np.full(numreals, low)
334333
else:
335-
dist_scale = high - low
336-
shape = (mode - low) / dist_scale
337-
338-
if normalscoresamples is not None:
339-
values = scipy.stats.triang.ppf(
340-
scipy.stats.norm.cdf(normalscoresamples),
341-
shape,
342-
loc=low,
343-
scale=dist_scale,
344-
)
345-
else:
346-
uniform_samples = generate_stratified_samples(numreals, rng)
347-
values = scipy.stats.triang.ppf(
348-
uniform_samples, shape, loc=low, scale=dist_scale
349-
)
334+
uniform_samples = generate_stratified_samples(numreals, rng)
335+
values = scipy.stats.triang.ppf(
336+
uniform_samples, shape, loc=low, scale=dist_scale
337+
)
350338

351339
return values
352340

0 commit comments

Comments
 (0)