@stdlib/esm
Version:
ES module distribution for Stdlib, a standard library for JavaScript and Node.js.
3 lines • 1.48 kB
JavaScript
// This file is a part of stdlib. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0
import r from"./../../assert/is-positive-integer.js";import e from"./../../assert/is-number.js";import i from"./../../math/base/assert/is-nan.js";import t from"./../../math/base/special/sqrt.js";var a=r.isPrimitive,n=e.isPrimitive,s=i,f=t;function u(r,e){var i,t,u,o,l,m,v,N;if(!a(r))throw new TypeError("invalid argument. Must provide a positive integer. Value: `"+r+"`.");if(t=new Array(r),v=r-1,o=0,N=-1,m=0,arguments.length>1){if(!n(e))throw new TypeError("invalid argument. Must provide a number primitive. Value: `"+e+"`.");return l=e,g}return l=0,p;function p(e){var a,n;if(0===arguments.length)return 0===m?null:1===m?s(o)?NaN:0/l:m<r?f(o/(m-1))/l:f(o/v)/l;if(N=(N+1)%r,s(e))m=r,l=NaN,o=NaN;else{if(m<r)return t[N]=e,o+=(i=e-l)*(e-(l+=i/(m+=1))),1===m?0/l:f(o/(m-1))/l;if(1===m)return(o=0)/(l=e);if(s(t[N])){for(m=1,l=e,o=0,a=0;a<r;a++)if(a!==N){if(n=t[a],s(n)){m=r,l=NaN,o=NaN;break}o+=(i=n-l)*(n-(l+=i/(m+=1)))}}else!1===s(o)&&(u=t[N],o+=(i=e-u)*(u-l+(e-(l+=i/r))))}return t[N]=e,f(o/v)/l}function g(e){var a;if(0===arguments.length)return 0===m?null:m<r?f(o/m)/l:f(o/r)/l;if(N=(N+1)%r,s(e))m=r,o=NaN;else{if(m<r)return t[N]=e,f((o+=(i=e-l)*i)/(m+=1))/l;if(s(t[N])){for(o=0,a=0;a<r;a++)if(a!==N){if(s(t[a])){m=r,o=NaN;break}i=t[a]-l,o+=i*i}}else!1===s(o)&&(u=t[N],o+=(e-u)*(e-l+u-l))}return t[N]=e,f(o/r)/l}}var o=u;export default o;
//# sourceMappingURL=mcv.js.map