You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
740 B
24 lines
740 B
import none from "./none"; |
|
|
|
export default function(series, order) { |
|
if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return; |
|
for (var y = 0, j = 1, s0, m, n; j < m; ++j) { |
|
for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) { |
|
var si = series[order[i]], |
|
sij0 = si[j][1] || 0, |
|
sij1 = si[j - 1][1] || 0, |
|
s3 = (sij0 - sij1) / 2; |
|
for (var k = 0; k < i; ++k) { |
|
var sk = series[order[k]], |
|
skj0 = sk[j][1] || 0, |
|
skj1 = sk[j - 1][1] || 0; |
|
s3 += skj0 - skj1; |
|
} |
|
s1 += sij0, s2 += s3 * sij0; |
|
} |
|
s0[j - 1][1] += s0[j - 1][0] = y; |
|
if (s1) y -= s2 / s1; |
|
} |
|
s0[j - 1][1] += s0[j - 1][0] = y; |
|
none(series, order); |
|
}
|
|
|