reductio
Version:
Reductio: Crossfilter groupings
25 lines (24 loc) • 505 B
JavaScript
var sum_of_sq = {
add: function (a, prior, path) {
return function (p, v, nf) {
if(prior) prior(p, v, nf);
path(p).sumOfSq = path(p).sumOfSq + a(v)*a(v);
return p;
};
},
remove: function (a, prior, path) {
return function (p, v, nf) {
if(prior) prior(p, v, nf);
path(p).sumOfSq = path(p).sumOfSq - a(v)*a(v);
return p;
};
},
initial: function (prior, path) {
return function (p) {
p = prior(p);
path(p).sumOfSq = 0;
return p;
};
}
};
export default sum_of_sq;