UNPKG

@stdlib/esm

Version:

ES module distribution for Stdlib, a standard library for JavaScript and Node.js.

3 lines 7.22 kB
// 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-typed-array-like.js";import e from"./../assert/is-number.js";import i from"./../assert/is-number-array.js";import t from"./../utils/define-read-only-property.js";import a from"./../assert/is-function.js";import s from"./../assert/is-string.js";import o from"./../assert/is-nan.js";import n from"./base/max.js";import m from"./../math/base/special/binomcoefln.js";import f from"./../math/base/special/floor.js";import p from"./../math/base/special/exp.js";import l from"./../math/base/special/ln.js";import d from"./../math/base/special/sqrt.js";import c from"./../math/base/special/pow.js";import u from"./../array/float64.js";import b from"./../assert/is-boolean.js";import v from"./../assert/is-plain-object.js";import h from"./../assert/has-own-property.js";import g from"./base/dists/arcsine/cdf.js";import j from"./base/dists/beta/cdf.js";import w from"./base/dists/betaprime/cdf.js";import y from"./base/dists/cauchy/cdf.js";import E from"./base/dists/chi/cdf.js";import T from"./base/dists/chisquare/cdf.js";import V from"./base/dists/cosine/cdf.js";import k from"./base/dists/erlang/cdf.js";import O from"./base/dists/exponential/cdf.js";import q from"./base/dists/f/cdf.js";import x from"./base/dists/frechet/cdf.js";import F from"./base/dists/gamma/cdf.js";import D from"./base/dists/gumbel/cdf.js";import P from"./base/dists/invgamma/cdf.js";import A from"./base/dists/kumaraswamy/cdf.js";import C from"./base/dists/laplace/cdf.js";import R from"./base/dists/levy/cdf.js";import S from"./base/dists/logistic/cdf.js";import z from"./base/dists/lognormal/cdf.js";import I from"./base/dists/normal/cdf.js";import K from"./base/dists/pareto-type1/cdf.js";import N from"./base/dists/rayleigh/cdf.js";import U from"./base/dists/t/cdf.js";import B from"./base/dists/triangular/cdf.js";import G from"./base/dists/uniform/cdf.js";import H from"./base/dists/weibull/cdf.js";import J from"./../assert/is-positive-integer.js";import L from"./../math/base/special/roundn.js";var M=m,Q=f,W=p,X=l;function Y(r,e){var i,t,a,s;if(r<=0)return 0;if(r>=1)return 1;for(i=Q(e*(1-r))+1,t=0,s=0;s<i;s++)a=M(e,s),a+=(e-s)*X(1-r-s/e),a+=(s-1)*X(r+s/e),t+=W(a);return 1-r*t}var Z=f,$=d,_=c,rr=p,er=u;function ir(r,e){var i,t,a,s,o,n,m,f,p,l;if((l=r*r*e)>7.24||l>3.76&&e>99)return 1-2*rr(-(2.000071+.331/$(e)+1.409/e)*l);for(t=(f=Z(e*r)+1)-e*r,a=new er((p=2*f-1)*p),s=new er(p*p),n=0;n<p;n++)for(m=0;m<p;m++)a[n*p+m]=n-m+1<0?0:1;for(n=0;n<p;n++)a[n*p]-=_(t,n+1),a[(p-1)*p+n]-=_(t,p-n);for(a[(p-1)*p]+=2*t-1>0?_(2*t-1,p):0,n=0;n<p;n++)for(m=0;m<p;m++)if(n-m+1>0)for(o=1;o<=n-m+1;o++)a[n*p+m]/=o;for(0,function r(e,t,a){var o,n,m;if(1===a){for(m=0;m<p*p;m++)s[m]=e[m],i=t;return}if(r(e,t,Z(a/2)),n=d(s,s),o=2*i,a%2==0){for(m=0;m<p*p;m++)s[m]=n[m];i=o}else s=d(e,n),i=t+o;if(s[Z(p/2)*p+Z(p/2)]>1e140){for(m=0;m<p*p;m++)s[m]*=1e-140;i+=140}}(a,0,e),l=s[(f-1)*p+f-1],n=1;n<=e;n++)(l=l*n/e)<1e-140&&(l*=1e140,i-=140);return l*=_(10,i);function d(r,e){var i,t,a,s,o;for(o=new er(p*p),i=0;i<p;i++)for(t=0;t<p;t++)for(s=0,a=0;a<p;a++)s+=r[i*p+a]*e[a*p+t],o[i*p+t]=s;return o}}function tr(r,e){return r-e}function ar(r,e){var i,t,a;for(i=e.length,t=new Array(i),a=0;a<i;a++)t[a]=r-e[a];return t}var sr=b.isPrimitive,or=e.isPrimitive,nr=v,mr=s.isPrimitive,fr=o,pr=h;function lr(r,e){return nr(e)?pr(e,"alpha")&&(r.alpha=e.alpha,!or(r.alpha)||fr(r.alpha))?new TypeError("invalid option. `alpha` option must be a number primitive. Option: `"+r.alpha+"`."):pr(e,"alternative")&&(r.alternative=e.alternative,!mr(r.alternative))?new TypeError("invalid option. `alternative` option must be a string primitive. Option: `"+r.alternative+"`."):pr(e,"sorted")&&(r.sorted=e.sorted,!sr(r.sorted))?new TypeError("invalid option. `sorted` flag must be a boolean primitive. Option: `"+r.sorted+"`."):null:new TypeError("invalid argument. Options argument must be an object. Value: `"+e+"`.")}var dr={};dr.arcsine=g,dr.beta=j,dr.betaprime=w,dr.cauchy=y,dr.chi=E,dr.chisquare=T,dr.cosine=V,dr.erlang=k,dr.exponential=O,dr.f=q,dr.frechet=x,dr.gamma=F,dr.gumbel=D,dr.invgamma=P,dr.kumaraswamy=A,dr.laplace=C,dr.levy=R,dr.logistic=S,dr.lognormal=z,dr.normal=I,dr["pareto-type1"]=K,dr.rayleigh=N,dr.t=U,dr.triangular=B,dr.uniform=G,dr.weibull=H;var cr=dr;function ur(r){var e=cr[r];if(void 0===e)throw new Error("invalid argument. Unsupported/unrecognized distribution name. Value: `"+r+"`.");return e}var br=J,vr=v,hr=b.isPrimitive,gr=h,jr=L;function wr(r){var e,i,t;if(i=4,e=!0,arguments.length>0){if(!vr(r))throw new TypeError("invalid argument. First argument must be an options object. Value: `"+r+"`.");if(gr(r,"digits")){if(!br(r.digits))throw new TypeError("invalid option. `digits` option must be a positive integer. Option: `"+r.digits+"`.");i=r.digits}if(gr(r,"decision")){if(!hr(r.decision))throw new TypeError("invalid option. `decision` option must be a boolean primitive. Option: `"+r.decision+"`.");e=r.decision}}switch(t="",t+=this.method,t+="\n\n",t+="Null hypothesis: the CDF of `x` is ",this.alternative){case"two-sided":default:t+="equal to ";break;case"less":t+="greater than or equal to ";break;case"greater":t+="less than or equal to "}return t+="the reference CDF",t+="\n\n",t+=" pValue: "+jr(this.pValue,-i)+"\n",t+=" statistic: "+jr(this.statistic,-i),t+="\n\n",e&&(t+="Test Decision: ",this.rejected?t+="Reject null in favor of alternative at "+100*this.alpha+"% significance level":t+="Fail to reject null in favor of alternative at "+100*this.alpha+"% significance level",t+="\n"),t}var yr=r,Er=e,Tr=i.primitives,Vr=t,kr=a,Or=s.isPrimitive,qr=o,xr=n,Fr=Y,Dr=ir,Pr=tr,Ar=ar,Cr=lr,Rr=ur,Sr=wr,zr=Array.prototype.slice;function Ir(){var r,e,i,t,a,s,o,n,m,f,p,l,d,c,u,b,v;if(v=arguments[1],!Tr(b=arguments[0])&&!yr(b))throw new TypeError("invalid argument. First argument must be a typed array or number array. Value: `"+b+"`.");if(!kr(v)&&!Or(v))throw new TypeError("invalid argument. Second argument must be either a CDF function or a string primitive. Value: `"+v+"`");for(Or(v)&&(v=Rr(v)),r=v.length-1,u=b.length,e=new Array(r),c=0;c<r;c++){if(!Er(d=arguments[p=c+2])||qr(d))throw new TypeError("invalid argument. Distribution parameter must be a number primitive. Value: `"+d+"`.");e[c]=arguments[p]}if(a={},arguments.length>2+r&&(f=Cr(a,arguments[2+r])))throw f;if(b=zr.call(b),(t=void 0===a.alpha?.05:a.alpha)<0||t>1)throw new RangeError("invalid argument. Option `alpha` must be a number in the range 0 to 1. Value: `"+t+"`.");for(!0!==a.sorted&&b.sort(Pr),i=[null].concat(e),c=0;c<u;c++)i[0]=b[c],n=v.apply(null,i),b[c]=n-c/u;switch(m=a.alternative||"two-sided"){case"two-sided":o=xr(u,[xr(u,b,1),xr(u,Ar(1/u,b),1)],1);break;case"greater":o=xr(u,Ar(1/u,b),1);break;case"less":o=xr(u,b,1);break;default:throw new Error("Invalid option. `alternative` must be either `two-sided`, `less` or `greater`. Value: `"+m+"`")}return s="two-sided"===m?1-Dr(o,u):1-Fr(o,u),Vr(l={},"rejected",s<=t),Vr(l,"alpha",t),Vr(l,"pValue",s),Vr(l,"statistic",o),Vr(l,"method","Kolmogorov-Smirnov goodness-of-fit test"),Vr(l,"print",Sr),Vr(l,"alternative",m),l}var Kr=Ir;export default Kr; //# sourceMappingURL=kstest.js.map