RosettaCodeData/Task/Averages-Arithmetic-mean/Standard-ML/averages-arithmetic-mean-2.ml
Ingy döt Net d066446780 langs a-z
2013-04-10 22:43:41 -07:00

20 lines
417 B
Standard ML

fun mean_reals [] = raise Empty
| mean_reals xs = let
val (total, length) =
foldl
(fn (x, (tot,len)) => (x + tot, len + 1.0))
(0.0, 0.0) xs
in
(total / length)
end;
fun mean_ints [] = raise Empty
| mean_ints xs = let
val (total, length) =
foldl
(fn (x, (tot,len)) => (x + tot, len + 1.0))
(0, 0.0) xs
in
(real total / length)
end;