(rebase): begin setup for big redo
This commit is contained in:
parent
396fb9f6b0
commit
dd53c7554b
|
@ -0,0 +1,20 @@
|
||||||
|
open Jest
|
||||||
|
open Expect
|
||||||
|
open TestHelpers
|
||||||
|
|
||||||
|
describe("Mean", () => {
|
||||||
|
|
||||||
|
let distributions = list{
|
||||||
|
normalMake(0.0, 1e0),
|
||||||
|
betaMake(2e0, 4e0),
|
||||||
|
exponentialMake(1.234e0),
|
||||||
|
uniformMake(7e0, 1e1),
|
||||||
|
cauchyMake(1e0, 1e0),
|
||||||
|
lognormalMake(1e0, 1e0),
|
||||||
|
triangularMake(1e0, 1e1, 5e1),
|
||||||
|
floatMake(1e1)
|
||||||
|
}
|
||||||
|
test("addition", () => {
|
||||||
|
true -> expect -> toBe(true)
|
||||||
|
})
|
||||||
|
})
|
|
@ -2,14 +2,6 @@ open Jest
|
||||||
open Expect
|
open Expect
|
||||||
open TestHelpers
|
open TestHelpers
|
||||||
|
|
||||||
// TODO: use Normal.make (etc.), but preferably after the new validation dispatch is in.
|
|
||||||
let mkNormal = (mean, stdev) => GenericDist_Types.Symbolic(#Normal({mean: mean, stdev: stdev}))
|
|
||||||
let mkBeta = (alpha, beta) => GenericDist_Types.Symbolic(#Beta({alpha: alpha, beta: beta}))
|
|
||||||
let mkExponential = rate => GenericDist_Types.Symbolic(#Exponential({rate: rate}))
|
|
||||||
let mkUniform = (low, high) => GenericDist_Types.Symbolic(#Uniform({low: low, high: high}))
|
|
||||||
let mkCauchy = (local, scale) => GenericDist_Types.Symbolic(#Cauchy({local: local, scale: scale}))
|
|
||||||
let mkLognormal = (mu, sigma) => GenericDist_Types.Symbolic(#Lognormal({mu: mu, sigma: sigma}))
|
|
||||||
|
|
||||||
describe("mixture", () => {
|
describe("mixture", () => {
|
||||||
testAll(
|
testAll(
|
||||||
"fair mean of two normal distributions",
|
"fair mean of two normal distributions",
|
||||||
|
|
|
@ -19,9 +19,24 @@ let run = DistributionOperation.run(~env)
|
||||||
let outputMap = fmap(~env)
|
let outputMap = fmap(~env)
|
||||||
let unreachableInTestFileMessage = "Should be impossible to reach (This error is in test file)"
|
let unreachableInTestFileMessage = "Should be impossible to reach (This error is in test file)"
|
||||||
let toExtFloat: option<float> => float = E.O.toExt(unreachableInTestFileMessage)
|
let toExtFloat: option<float> => float = E.O.toExt(unreachableInTestFileMessage)
|
||||||
let toExtDist: option<GenericDist_Types.genericDist> => GenericDist_Types.genericDist = E.O.toExt(
|
let toExtDist: option<DistributionTypes.genericDist> => DistributionTypes.genericDist = E.O.toExt(unreachableInTestFileMessage)
|
||||||
unreachableInTestFileMessage,
|
|
||||||
)
|
|
||||||
// let toExt: option<'a> => 'a = E.O.toExt(unreachableInTestFileMessage)
|
// let toExt: option<'a> => 'a = E.O.toExt(unreachableInTestFileMessage)
|
||||||
let unpackFloat = x => x->toFloat->toExtFloat
|
let unpackFloat = x => x -> toFloat -> toExtFloat
|
||||||
let unpackDist = y => y->toDist->toExtDist
|
let unpackDist = y => y -> toDist -> toExtDist
|
||||||
|
|
||||||
|
// TODO: use Normal.make (etc.), but preferably after the new validation dispatch is in.
|
||||||
|
let mkNormal = (mean, stdev) => DistributionTypes.Symbolic(#Normal({mean: mean, stdev: stdev}))
|
||||||
|
let mkBeta = (alpha, beta) => DistributionTypes.Symbolic(#Beta({alpha: alpha, beta: beta}))
|
||||||
|
let mkExponential = rate => DistributionTypes.Symbolic(#Exponential({rate: rate}))
|
||||||
|
let mkUniform = (low, high) => DistributionTypes.Symbolic(#Uniform({low: low, high: high}))
|
||||||
|
let mkCauchy = (local, scale) => DistributionTypes.Symbolic(#Cauchy({local: local, scale: scale}))
|
||||||
|
let mkLognormal = (mu, sigma) => DistributionTypes.Symbolic(#Lognormal({mu: mu, sigma: sigma}))
|
||||||
|
|
||||||
|
let normalMake = SymbolicDist.Normal.make
|
||||||
|
let betaMake = SymbolicDist.Beta.make
|
||||||
|
let exponentialMake = SymbolicDist.Exponential.make
|
||||||
|
let uniformMake = SymbolicDist.Uniform.make
|
||||||
|
let cauchyMake = SymbolicDist.Cauchy.make
|
||||||
|
let lognormalMake = SymbolicDist.Lognormal.make
|
||||||
|
let triangularMake = SymbolicDist.Triangular.make
|
||||||
|
let floatMake = SymbolicDist.Float.make
|
||||||
|
|
|
@ -260,6 +260,12 @@ module L = {
|
||||||
let update = Rationale.RList.update
|
let update = Rationale.RList.update
|
||||||
let iter = List.iter
|
let iter = List.iter
|
||||||
let findIndex = Rationale.RList.findIndex
|
let findIndex = Rationale.RList.findIndex
|
||||||
|
let completeGraph = xs => {
|
||||||
|
// TODO
|
||||||
|
let n = length(xs)
|
||||||
|
let result = n
|
||||||
|
n
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* A for Array */
|
/* A for Array */
|
||||||
|
|
Loading…
Reference in New Issue
Block a user