//>>built define(["dojo","../main"],function(g,n){g.getObject("math.stats",!0,n);var h=n.math.stats;g.mixin(h,{sd:function(a){return Math.sqrt(h.variance(a))},variance:function(a){var b=0,c=0;g.forEach(a,function(a){b+=a;c+=Math.pow(a,2)});return c/a.length-Math.pow(b/a.length,2)},bestFit:function(a,b,c){b=b||"x";c=c||"y";void 0!==a[0]&&"number"==typeof a[0]&&(a=g.map(a,function(a,b){return{x:b,y:a}}));for(var d=0,f=0,k=0,h=0,l=0,n=0,q=0,m=a.length,p,e=0;ea&&(l=-l);return{slope:a,intercept:(f-d*a)/(m||1),r:l,r2:k}},forecast:function(a,b,c,d){a=h.bestFit(a,c,d);return a.slope*b+a.intercept},mean:function(a){var b=0;g.forEach(a,function(a){b+=a});return b/Math.max(a.length,1)},min:function(a){return Math.min.apply(null, a)},max:function(a){return Math.max.apply(null,a)},median:function(a){var b=a.slice(0).sort(function(a,b){return a-b});return(b[Math.floor(a.length/2)]+b[Math.ceil(a.length/2)])/2},mode:function(a){var b={},c=0,d=Number.MIN_VALUE;g.forEach(a,function(a){void 0!==b[a]?b[a]++:b[a]=1});for(var f in b)dd?a[0]:c>=a.length?a[a.length-1]:a[d]* (c-b)+a[c]*(b-d)},summary:function(a,b){b||(a=a.slice(0),a.sort(function(a,b){return a-b}));b=h.approxLin;return{min:a[0],p25:b(a,.25),med:b(a,.5),p75:b(a,.75),max:a[a.length-1],p10:b(a,.1),p90:b(a,.9)}}});return n.math.stats});