60 lines
1.7 KiB
Plaintext
60 lines
1.7 KiB
Plaintext
open FunctionRegistry_Core
|
|
open FunctionRegistry_Helpers
|
|
|
|
let twoArgs = (fn, (a1, a2)) => fn(a1, a2)
|
|
|
|
module NormalFn = {
|
|
let fnName = "normal"
|
|
|
|
let toFn = Function.make(
|
|
~name="Normal",
|
|
~definitions=[
|
|
TwoArgDist.mkRegular(fnName, twoArgs(SymbolicDist.Normal.make)),
|
|
TwoArgDist.mkDef90th(fnName, r => twoArgs(SymbolicDist.Normal.from90PercentCI, r)->Ok),
|
|
TwoArgDist.mkDefMeanStdev(fnName, twoArgs(SymbolicDist.Normal.make)),
|
|
],
|
|
)
|
|
}
|
|
|
|
module LognormalFn = {
|
|
let fnName = "lognormal"
|
|
|
|
let toFn = Function.make(
|
|
~name="Lognormal",
|
|
~definitions=[
|
|
TwoArgDist.mkRegular(fnName, twoArgs(SymbolicDist.Lognormal.make)),
|
|
TwoArgDist.mkDef90th(fnName, r => twoArgs(SymbolicDist.Lognormal.from90PercentCI, r)->Ok),
|
|
TwoArgDist.mkDefMeanStdev(fnName, twoArgs(SymbolicDist.Lognormal.fromMeanAndStdev)),
|
|
],
|
|
)
|
|
}
|
|
|
|
let more = [
|
|
Function.make(
|
|
~name="Uniform",
|
|
~definitions=[TwoArgDist.mkRegular("uniform", twoArgs(SymbolicDist.Uniform.make))],
|
|
),
|
|
Function.make(
|
|
~name="Beta",
|
|
~definitions=[TwoArgDist.mkRegular("beta", twoArgs(SymbolicDist.Beta.make))],
|
|
),
|
|
Function.make(
|
|
~name="Cauchy",
|
|
~definitions=[TwoArgDist.mkRegular("cauchy", twoArgs(SymbolicDist.Cauchy.make))],
|
|
),
|
|
Function.make(
|
|
~name="Gamma",
|
|
~definitions=[TwoArgDist.mkRegular("gamma", twoArgs(SymbolicDist.Gamma.make))],
|
|
),
|
|
Function.make(
|
|
~name="Logistic",
|
|
~definitions=[TwoArgDist.mkRegular("logistic", twoArgs(SymbolicDist.Logistic.make))],
|
|
),
|
|
Function.make(
|
|
~name="To",
|
|
~definitions=[TwoArgDist.mkRegular("to", twoArgs(SymbolicDist.From90thPercentile.make))],
|
|
)
|
|
]
|
|
|
|
let allFunctions = [NormalFn.toFn, LognormalFn.toFn]
|