CR comment

This commit is contained in:
Quinn Dougherty 2022-04-13 12:06:50 -04:00
parent 7e6a26a2d0
commit 3bf571f953

View File

@ -27,13 +27,17 @@ let algebraicLogarithm = algebraicLogarithm(~env)
let algebraicPower = algebraicPower(~env) let algebraicPower = algebraicPower(~env)
describe("Mean", () => { describe("Mean", () => {
let digits = -4
let mean = GenericDist_Types.Constructors.UsingDists.mean let mean = GenericDist_Types.Constructors.UsingDists.mean
let runMean: result<DistributionTypes.genericDist, DistributionTypes.error> => float = distR => { let runMean: result<DistributionTypes.genericDist, DistributionTypes.error> => float = distR => {
switch distR->E.R2.fmap(mean)->E.R2.fmap(run)->E.R2.fmap(toFloat) { distR
| Ok(Some(x)) => x ->E.R2.fmap(mean)
| _ => 9e99 // We trust input in test fixtures so this won't happen ->E.R2.fmap(run)
} ->E.R2.fmap(toFloat)
->E.R.toExn
->E.O2.toExn("Shouldn't see this because we trust testcase input")
} }
let impossiblePath: string => assertion = algebraicOp => let impossiblePath: string => assertion = algebraicOp =>
@ -51,7 +55,6 @@ describe("Mean", () => {
} }
let combinations = E.L.combinations2(distributions) let combinations = E.L.combinations2(distributions)
let zipDistsDists = E.L.zip(distributions, distributions) let zipDistsDists = E.L.zip(distributions, distributions)
let digits = -4
let testOperationMean = ( let testOperationMean = (
distOp: (DistributionTypes.genericDist, DistributionTypes.genericDist) => result<DistributionTypes.genericDist, DistributionTypes.error>, distOp: (DistributionTypes.genericDist, DistributionTypes.genericDist) => result<DistributionTypes.genericDist, DistributionTypes.error>,
@ -79,7 +82,7 @@ describe("Mean", () => {
} }
describe("addition", () => { describe("addition", () => {
let testAdditionMean = testOperationMean(algebraicAdd, "algebraicAdd", (x,y)=>x+.y) let testAdditionMean = testOperationMean(algebraicAdd, "algebraicAdd", \"+.")
testAll("homogeneous addition", zipDistsDists, dists => { testAll("homogeneous addition", zipDistsDists, dists => {
let (dist1, dist2) = dists let (dist1, dist2) = dists
@ -98,7 +101,7 @@ describe("Mean", () => {
}) })
describe("subtraction", () => { describe("subtraction", () => {
let testSubtractionMean = testOperationMean(algebraicSubtract, "algebraicSubtract", (x,y)=>x-.y) let testSubtractionMean = testOperationMean(algebraicSubtract, "algebraicSubtract", \"-.")
testAll("homogeneous subtraction", zipDistsDists, dists => { testAll("homogeneous subtraction", zipDistsDists, dists => {
let (dist1, dist2) = dists let (dist1, dist2) = dists
@ -117,7 +120,7 @@ describe("Mean", () => {
}) })
describe("multiplication", () => { describe("multiplication", () => {
let testMultiplicationMean = testOperationMean(algebraicMultiply, "algebraicMultiply", (x,y)=>x*.y) let testMultiplicationMean = testOperationMean(algebraicMultiply, "algebraicMultiply", \"*.")
testAll("homogeneous subtraction", zipDistsDists, dists => { testAll("homogeneous subtraction", zipDistsDists, dists => {
let (dist1, dist2) = dists let (dist1, dist2) = dists