Minor cleanup
This commit is contained in:
parent
6887da59b3
commit
447215421d
|
@ -165,8 +165,8 @@ module DemoDist = {
|
||||||
<DistPlusPlot distPlus={DistPlus.T.normalize(distPlus1)} />
|
<DistPlusPlot distPlus={DistPlus.T.normalize(distPlus1)} />
|
||||||
| Ok(`Function(f, a)) =>
|
| Ok(`Function(f, a)) =>
|
||||||
let result1 = DistPlusRenderer.runFunction(inputs1, (f, a), [|`SymbolicDist(`Float(5.0))|],);
|
let result1 = DistPlusRenderer.runFunction(inputs1, (f, a), [|`SymbolicDist(`Float(5.0))|],);
|
||||||
let result2 = DistPlusRenderer.runFunction(inputs1, (f, a), [|`SymbolicDist(`Float(20.0))|],);
|
let result2 = DistPlusRenderer.runFunction(inputs1, (f, a), [|`SymbolicDist(`Float(10.0))|],);
|
||||||
let result3 = DistPlusRenderer.runFunction(inputs1, (f, a), [|`SymbolicDist(`Float(40.0))|],);
|
let result3 = DistPlusRenderer.runFunction(inputs1, (f, a), [|`SymbolicDist(`Float(20.0))|],);
|
||||||
switch (result1, result2, result3) {
|
switch (result1, result2, result3) {
|
||||||
| (Ok(`DistPlus(distPlus1)),Ok(`DistPlus(distPlus2)),Ok(`DistPlus(distPlus3))) =>
|
| (Ok(`DistPlus(distPlus1)),Ok(`DistPlus(distPlus2)),Ok(`DistPlus(distPlus3))) =>
|
||||||
<>
|
<>
|
||||||
|
@ -174,6 +174,7 @@ module DemoDist = {
|
||||||
<DistPlusPlot distPlus={DistPlus.T.normalize(distPlus2)} />
|
<DistPlusPlot distPlus={DistPlus.T.normalize(distPlus2)} />
|
||||||
<DistPlusPlot distPlus={DistPlus.T.normalize(distPlus3)} />
|
<DistPlusPlot distPlus={DistPlus.T.normalize(distPlus3)} />
|
||||||
</>
|
</>
|
||||||
|
| (Error(r), _, _) => r |> R.ste
|
||||||
| _ => "Failure " |> R.ste
|
| _ => "Failure " |> R.ste
|
||||||
};
|
};
|
||||||
| Error(r) => r |> R.ste
|
| Error(r) => r |> R.ste
|
||||||
|
|
|
@ -259,7 +259,6 @@ module DistPlusChart = {
|
||||||
module IntegralChart = {
|
module IntegralChart = {
|
||||||
[@react.component]
|
[@react.component]
|
||||||
let make = (~distPlus: DistTypes.distPlus, ~config: chartConfig, ~onHover) => {
|
let make = (~distPlus: DistTypes.distPlus, ~config: chartConfig, ~onHover) => {
|
||||||
open DistPlus;
|
|
||||||
let integral = distPlus.integralCache;
|
let integral = distPlus.integralCache;
|
||||||
let continuous =
|
let continuous =
|
||||||
integral
|
integral
|
||||||
|
|
|
@ -9,7 +9,7 @@ let toLeaf = (samplingInputs, environment, node: node) =>
|
||||||
let rec toString: node => string =
|
let rec toString: node => string =
|
||||||
fun
|
fun
|
||||||
| `SymbolicDist(d) => SymbolicDist.T.toString(d)
|
| `SymbolicDist(d) => SymbolicDist.T.toString(d)
|
||||||
| `RenderedDist(_) => "[shape]"
|
| `RenderedDist(_) => "[renderedShape]"
|
||||||
| `AlgebraicCombination(op, t1, t2) =>
|
| `AlgebraicCombination(op, t1, t2) =>
|
||||||
Operation.Algebraic.format(op, toString(t1), toString(t2))
|
Operation.Algebraic.format(op, toString(t1), toString(t2))
|
||||||
| `PointwiseCombination(op, t1, t2) =>
|
| `PointwiseCombination(op, t1, t2) =>
|
||||||
|
|
|
@ -93,5 +93,5 @@ let fnn =
|
||||||
| _ => Error("Needs 3 valid arguments")
|
| _ => Error("Needs 3 valid arguments")
|
||||||
}
|
}
|
||||||
| ("to", _) => to_(args)
|
| ("to", _) => to_(args)
|
||||||
| _ => Error("Function not found")
|
| _ => Error("Function " ++ name ++ " not found")
|
||||||
};
|
};
|
||||||
|
|
|
@ -144,24 +144,31 @@ let run = (inputs: Inputs.inputs) => {
|
||||||
|> E.R.bind(_, r =>
|
|> E.R.bind(_, r =>
|
||||||
switch (r) {
|
switch (r) {
|
||||||
| `RenderedDist(n) => Ok(n)
|
| `RenderedDist(n) => Ok(n)
|
||||||
| _ => Error("Didn't output renderedDist")
|
| n =>
|
||||||
|
Error(
|
||||||
|
"Didn't output a rendered distribution. Format:"
|
||||||
|
++ ExpressionTree.toString(n),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|> E.R.fmap(Internals.outputToDistPlus(inputs));
|
|> E.R.fmap(Internals.outputToDistPlus(inputs));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let exportDistPlus = inputs =>
|
||||||
|
fun
|
||||||
|
| `RenderedDist(n) => Ok(`DistPlus(Internals.outputToDistPlus(inputs, n)))
|
||||||
|
| `Function(n) => Ok(`Function(n))
|
||||||
|
| n =>
|
||||||
|
Error(
|
||||||
|
"Didn't output a rendered distribution. Format:"
|
||||||
|
++ ExpressionTree.toString(n),
|
||||||
|
);
|
||||||
|
|
||||||
let run2 = (inputs: Inputs.inputs) => {
|
let run2 = (inputs: Inputs.inputs) => {
|
||||||
inputs
|
inputs
|
||||||
|> Internals.distPlusRenderInputsToInputs
|
|> Internals.distPlusRenderInputsToInputs
|
||||||
|> Internals.inputsToLeaf
|
|> Internals.inputsToLeaf
|
||||||
|> E.R.bind(_, r =>
|
|> E.R.bind(_, exportDistPlus(inputs));
|
||||||
switch (r) {
|
|
||||||
| `RenderedDist(n) =>
|
|
||||||
Ok(`DistPlus(Internals.outputToDistPlus(inputs, n)))
|
|
||||||
| `Function(n) => Ok(`Function(n))
|
|
||||||
| _ => Error("Didn't output renderedDist")
|
|
||||||
}
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
let runFunction =
|
let runFunction =
|
||||||
|
@ -185,10 +192,5 @@ let runFunction =
|
||||||
fnInputs,
|
fnInputs,
|
||||||
fn,
|
fn,
|
||||||
);
|
);
|
||||||
Js.log2("GOt output", output);
|
output |> E.R.bind(_, exportDistPlus(ins));
|
||||||
switch (output) {
|
|
||||||
| Ok(`RenderedDist(n)) => Ok(`DistPlus(Internals.outputToDistPlus(ins, n)))
|
|
||||||
| Ok(`Function(n)) => Ok(`Function(n))
|
|
||||||
| _ => Error("Didn't output renderedDist")
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue
Block a user