RosettaCodeData/Task/Averages-Arithmetic-mean/OCaml/averages-arithmetic-mean-2.ocaml
2023-07-01 13:44:08 -04:00

24 lines
450 B
Text

let mean_floats xs =
if xs = [] then
invalid_arg "empty list"
else
let total, length =
List.fold_left
(fun (tot,len) x -> (x +. tot), len +. 1.)
(0., 0.) xs
in
(total /. length)
;;
let mean_ints xs =
if xs = [] then
invalid_arg "empty list"
else
let total, length =
List.fold_left
(fun (tot,len) x -> (x + tot), len +. 1.)
(0, 0.) xs
in
(float total /. length)
;;