(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 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", () => {
 | 
			
		||||
  testAll(
 | 
			
		||||
    "fair mean of two normal distributions",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,9 +19,24 @@ let run = DistributionOperation.run(~env)
 | 
			
		|||
let outputMap = fmap(~env)
 | 
			
		||||
let unreachableInTestFileMessage = "Should be impossible to reach (This error is in test file)"
 | 
			
		||||
let toExtFloat: option<float> => float = E.O.toExt(unreachableInTestFileMessage)
 | 
			
		||||
let toExtDist: option<GenericDist_Types.genericDist> => GenericDist_Types.genericDist = E.O.toExt(
 | 
			
		||||
  unreachableInTestFileMessage,
 | 
			
		||||
)
 | 
			
		||||
let toExtDist: option<DistributionTypes.genericDist> => DistributionTypes.genericDist = E.O.toExt(unreachableInTestFileMessage)
 | 
			
		||||
// let toExt: option<'a> => 'a = E.O.toExt(unreachableInTestFileMessage)
 | 
			
		||||
let unpackFloat = x => x->toFloat->toExtFloat
 | 
			
		||||
let unpackDist = y => y->toDist->toExtDist
 | 
			
		||||
let unpackFloat = x => x -> toFloat -> toExtFloat
 | 
			
		||||
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 iter = List.iter
 | 
			
		||||
  let findIndex = Rationale.RList.findIndex
 | 
			
		||||
  let completeGraph = xs => {
 | 
			
		||||
    // TODO
 | 
			
		||||
    let n = length(xs)
 | 
			
		||||
    let result = n
 | 
			
		||||
    n 
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* A for Array */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user