mirror of
https://github.com/nunocoracao/blowfish.git
synced 2025-06-08 05:01:53 +02:00
25 lines
668 B
JavaScript
25 lines
668 B
JavaScript
export default function variance(values, valueof) {
|
|
let count = 0;
|
|
let delta;
|
|
let mean = 0;
|
|
let sum = 0;
|
|
if (valueof === undefined) {
|
|
for (let value of values) {
|
|
if (value != null && (value = +value) >= value) {
|
|
delta = value - mean;
|
|
mean += delta / ++count;
|
|
sum += delta * (value - mean);
|
|
}
|
|
}
|
|
} else {
|
|
let index = -1;
|
|
for (let value of values) {
|
|
if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {
|
|
delta = value - mean;
|
|
mean += delta / ++count;
|
|
sum += delta * (value - mean);
|
|
}
|
|
}
|
|
}
|
|
if (count > 1) return sum / (count - 1);
|
|
}
|