diff --git a/ocaml/out/samples b/ocaml/out/samples index a954344c..2abfdf3c 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 a8acf933..a27e5b2b 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 c88049e5..6daf99ef 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 5d12d7ae..e6ff1b71 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 dd4861ce..daa8438f 100644 --- a/ocaml/samples.ml +++ b/ocaml/samples.ml @@ -41,7 +41,8 @@ let sampleTo low high = let logstd = (loghigh -. loglow) /. (2.0 -. normal_95_ci_length ) in sampleLognormal logmean logstd -let mixture (samplers: (unit -> float) array) (weights: float array) = +let (|>) x f = f x +let mixture (samplers: (unit -> float) array) (weights: float array): float option = match (Array.length samplers == Array.length weights) with | false -> None | true -> @@ -51,7 +52,7 @@ let mixture (samplers: (unit -> float) array) (weights: float array) = let chosenSamplerIndex = findIndex cumsummed_normalized_weights (fun x -> x < p) in let sample = match chosenSamplerIndex with | None -> None - | Some(i) -> Some((samplers.(i) ())) (* (samplers.(i) ()) |> Some *) + | Some(i) -> Some(samplers.(i) ()) in sample