From 710eb4267bbcf46a45d9d6d6282d6e85f0d76621 Mon Sep 17 00:00:00 2001 From: NunoSempere Date: Sun, 15 Oct 2023 00:53:58 +0100 Subject: [PATCH] finally fix types, but get numeric error --- ocaml/out/samples | Bin 2844864 -> 2844864 bytes ocaml/out/samples.o | Bin 20000 -> 20000 bytes ocaml/samples.ml | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ocaml/out/samples b/ocaml/out/samples index dbf252f39781e69a68331c444fd134cb6f8fb0fc..c452ddf00de0e35fcc0a2925a4a95cc929f0207e 100755 GIT binary patch delta 228 zcmWm5yAHun0Dxh2in`XNsQamFwYwLv)L@W!3bRod3XRXrYY`y6C}1-#@(_ GbNK^^L~T3( delta 228 zcmWN=I}X8c0KnnYzuu)SMZN1)G-l}$IDC4$!|bx%Dc6%Fd`n17P=uC{mv3nwdLMZ%Wftd^_ERG7VN(WsN55Y_Q1|+w8DQi#_%^;E*HQ9CN~H7{rcw`~zt4 BZ5{vs diff --git a/ocaml/out/samples.o b/ocaml/out/samples.o index 3c007face4b0b6faa706b7ac7b87c661e22ded8c..b81ec268e823c23accbc1e0531aff24935ad3548 100644 GIT binary patch delta 30 mcmZ25hjGCi#tk#s8A~?LVmD*t_{1;3;L+_Yu=xguhbsW6cM2*1 delta 30 mcmZ25hjGCi#tk#s8A~_MVmD*t@aT>f_{1;3y!i%)hbsW7`3gn= diff --git a/ocaml/samples.ml b/ocaml/samples.ml index d35dfd26..83b2a540 100644 --- a/ocaml/samples.ml +++ b/ocaml/samples.ml @@ -65,13 +65,13 @@ let sampleTo low high = sampleLognormal logmean logstd let mixture (samplers: (unit -> float) list) (weights: float list): (float, string) result = - if (List.length samplers == List.length weights) + if (List.length samplers <> List.length weights) then Error "in mixture function, List.length samplers != List.length weights" else let normalized_weights = normalizeXs weights in let cumsummed_normalized_weights = cumsumXs normalized_weights in let p = sampleZeroToOne () in - let chosenSamplerIndex = findIndex cumsummed_normalized_weights (fun x -> x < p) in + let chosenSamplerIndex = findIndex cumsummed_normalized_weights (fun x -> p < x) in let sampler = match chosenSamplerIndex with | Error e -> Error e | Ok(i) -> nth samplers i