UNPKG

quoslibero

Version:

FusionCharts JavaScript charting framework

1 lines 687 B
import aggregatorStore from'./';var sum,avg,count,min,max,first,last,variance,stddev,aggregators;sum=(a,b)=>a+b,avg=(a,b,c)=>((c-1)*a+b)/c,count=a=>++a,min=(a,b)=>null===a?b:a>b?b:a,max=(a,b)=>null===a?b:a<b?b:a,first=(a,b)=>null===a?b:a,last=(a,b)=>b,variance=(a,b,c)=>{var d,e=b,f=0;return a&&(e=a.avg,f=a.variance),d=e,1<c&&(e=avg(e,b,c),f=(f*(c-2)+(b-e)*(b-d))/(c-1)),{avg:e,variance:f}},stddev=(a,b,c)=>{var d,e;return a&&(d={avg:a.avg,variance:a.stddev*a.stddev}),e=variance(d,b,c),{avg:e.avg,stddev:Math.sqrt(e.variance)}},aggregators={sum,avg,count,min,max,first,last,variance,stddev},Object.entries(aggregators).forEach(a=>{aggregatorStore.register(a[0],a[1])});export{sum,avg};