squiggle/src/distributions/DistPlusIngredients.re

44 lines
913 B
ReasonML
Raw Normal View History

2020-02-23 13:27:52 +00:00
open DistTypes;
let make =
(~guesstimatorString, ~domain=Complete, ~unit=UnspecifiedDistribution, ())
: distPlusIngredients => {
guesstimatorString,
domain,
unit,
};
let toDistPlus =
2020-02-25 12:28:26 +00:00
(
~sampleCount=2000,
~outputXYPoints=1500,
~truncateTo=Some(300),
~kernelWidth=5,
2020-02-25 12:28:26 +00:00
t: distPlusIngredients,
)
: option(distPlus) => {
let shape =
Guesstimator.toMixed(
~string=t.guesstimatorString,
~sampleCount,
~outputXYPoints,
~kernelWidth,
2020-02-25 12:28:26 +00:00
~truncateTo,
(),
);
2020-02-24 21:33:27 +00:00
let distPlus =
shape
|> E.O.fmap(
Distributions.DistPlus.make(
~shape=_,
~domain=t.domain,
~unit=t.unit,
2020-03-03 19:25:06 +00:00
~guesstimatorString=Some(t.guesstimatorString),
(),
),
2020-02-24 21:33:27 +00:00
)
|> E.O.fmap(
Distributions.DistPlus.T.scaleToIntegralSum(~intendedSum=1.0),
);
2020-02-24 21:33:27 +00:00
distPlus;
};