time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

commit fa73c33c27a324c74ee2ea0102624e8459734054
parent 2cddf557bf56a38ec20fdbad4bc2ca80f4aeb833
Author: NunoSempere <nuno.sempere@protonmail.com>
Date:   Sat, 14 Oct 2023 20:57:21 +0100

savepoint, too tired.

Diffstat:
Mocaml/out/samples | 0
Mocaml/out/samples.cmi | 0
Mocaml/out/samples.cmx | 0
Mocaml/out/samples.o | 0
Mocaml/samples.ml | 8++++++--
5 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/ocaml/out/samples b/ocaml/out/samples Binary files differ. diff --git a/ocaml/out/samples.cmi b/ocaml/out/samples.cmi Binary files differ. diff --git a/ocaml/out/samples.cmx b/ocaml/out/samples.cmx Binary files differ. diff --git a/ocaml/out/samples.o b/ocaml/out/samples.o Binary files differ. diff --git 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 () =