Averages/Arithmetic mean: Difference between revisions

no edit summary
(Emacs Lisp: Improve formatting and calc.el example)
No edit summary
Line 3,767:
return sum / len(a:lst)
endfunction</lang>
 
=={{header|Vlang}}==
<lang vlang>import math
import arrays
fn main() {
for v in [
[]f64{}, // mean returns ok = false
[math.inf(1), math.inf(1)], // answer is +Inf
// answer is NaN, and mean returns ok = true, indicating NaN
// is the correct result
[math.inf(1), math.inf(-1)],
[f64(3), 1, 4, 1, 5, 9],
[f64(10), 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 0, 0, 0, .11],
[f64(10), 20, 30, 40, 50, -100, 4.7, -11e2],
] {
println("Vector: $v")
m := arrays.fold(v, 0.0, fn(r f64, v f64) f64 { return r+v })/v.len
println("Mean of $v.len numbers is $m\n")
}
}</lang>
{{out}}
<pre>Vector: []
Mean of 0 numbers is nan
 
Vector: [+inf, +inf]
Mean of 2 numbers is +inf
 
Vector: [+inf, -inf]
Mean of 2 numbers is nan
 
Vector: [3, 1, 4, 1, 5, 9]
Mean of 6 numbers is 3.8333333333333335
 
Vector: [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 0, 0, 0, 0.11]
Mean of 15 numbers is 3.674
 
Vector: [10, 20, 30, 40, 50, -100, 4.7, -1100]
Mean of 8 numbers is -130.66</pre>
 
=={{header|Wart}}==
338

edits