diff --git a/ocaml/out/samples b/ocaml/out/samples index baa8f92f..8894eb80 100755 Binary files a/ocaml/out/samples and b/ocaml/out/samples differ diff --git a/ocaml/out/samples.cmi b/ocaml/out/samples.cmi index 54a81c16..206bf915 100644 Binary files a/ocaml/out/samples.cmi and b/ocaml/out/samples.cmi differ diff --git a/ocaml/out/samples.cmx b/ocaml/out/samples.cmx index 04d0f87d..ac1d98bb 100644 Binary files a/ocaml/out/samples.cmx and b/ocaml/out/samples.cmx differ diff --git a/ocaml/out/samples.o b/ocaml/out/samples.o index 9db00f59..e25be8e9 100644 Binary files a/ocaml/out/samples.o and b/ocaml/out/samples.o differ diff --git a/ocaml/samples.ml b/ocaml/samples.ml index 78282de3..11939124 100644 --- a/ocaml/samples.ml +++ b/ocaml/samples.ml @@ -4,7 +4,8 @@ let normal_95_ci_length = 1.6448536269514722 (* Array manipulation helpers *) let sumFloats xs = List.fold_left(fun acc x -> acc +. x) 0.0 xs -let normalizeXs xs = let sum_xs = sumFloats xs in +let normalizeXs xs = + let sum_xs = sumFloats xs in List.map(fun x -> x /. sum_xs) xs let cumsumXs xs = let _, cum_sum = List.fold_left(fun (sum, ys) x -> @@ -31,7 +32,10 @@ let sampleTo low high = let mixture (samplers: (unit -> float) list) (weights: float list) = match (List.length samplers == List.length weights) with | false -> None - | true -> let normalized_weights = cumsumXs (normalizeXs weights) in Some(1.0) + | true -> + let normalized_weights = normalizeXs weights in + let cumsummed_normalized_weights = cumsumXs normalized_weights in + Some(1.0) let () =