UNPKG

reductio

Version:

Reductio: Crossfilter groupings

37 lines (36 loc) 821 B
var std = { add: function (prior, path) { return function (p, v, nf) { if(prior) prior(p, v, nf); if(path(p).count > 0) { path(p).std = 0.0; var n = path(p).sumOfSq - path(p).sum*path(p).sum/path(p).count; if (n>0.0) path(p).std = Math.sqrt(n/(path(p).count-1)); } else { path(p).std = 0.0; } return p; }; }, remove: function (prior, path) { return function (p, v, nf) { if(prior) prior(p, v, nf); if(path(p).count > 0) { path(p).std = 0.0; var n = path(p).sumOfSq - path(p).sum*path(p).sum/path(p).count; if (n>0.0) path(p).std = Math.sqrt(n/(path(p).count-1)); } else { path(p).std = 0; } return p; }; }, initial: function (prior, path) { return function (p) { p = prior(p); path(p).std = 0; return p; }; } }; export default std;