@numero-uno-jpn/rstats 0.5.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +101 -0
- package/README.ja.md +36 -20
- package/README.md +34 -18
- package/THIRD_PARTY_NOTICES.md +25 -5
- package/dist/chunks/chunk-2JCIB5H2.js +2 -0
- package/dist/chunks/chunk-7JVSDGQQ.js +2 -0
- package/dist/chunks/chunk-7NK4SA6B.js +2 -0
- package/dist/chunks/chunk-AJYQNFXK.js +2 -0
- package/dist/chunks/chunk-DRNMIEYH.js +2 -0
- package/dist/chunks/chunk-NAYDS7CL.js +2 -0
- package/dist/chunks/chunk-NOCEAM44.js +2 -0
- package/dist/chunks/chunk-QNAIK4PY.js +2 -0
- package/dist/chunks/chunk-TPC6MTYC.js +2 -0
- package/dist/chunks/chunk-UGUQYWRQ.js +2 -0
- package/dist/chunks/chunk-XM2TVD63.js +2 -0
- package/dist/chunks/chunk-Y4IZV7XK.js +2 -0
- package/dist/chunks/chunk-ZWJ42QN6.js +2 -0
- package/dist/descriptive/basic.d.ts +73 -0
- package/dist/descriptive/basic.js +256 -0
- package/dist/descriptive/cov.d.ts +39 -0
- package/dist/descriptive/cov.js +105 -0
- package/dist/descriptive/hist.d.ts +64 -0
- package/dist/descriptive/hist.js +304 -0
- package/dist/descriptive/moments.d.ts +63 -0
- package/dist/descriptive/moments.js +158 -0
- package/dist/descriptive/quantile.d.ts +50 -0
- package/dist/descriptive/quantile.js +131 -0
- package/dist/descriptive/rank.d.ts +23 -0
- package/dist/descriptive/rank.js +72 -0
- package/dist/descriptive/table.d.ts +54 -0
- package/dist/descriptive/table.js +160 -0
- package/dist/descriptive.js +2 -0
- package/dist/distributions/arcsine.d.ts +24 -0
- package/dist/distributions/arcsine.js +73 -0
- package/dist/distributions/invgamma.d.ts +29 -0
- package/dist/distributions/invgamma.js +85 -0
- package/dist/distributions/kumaraswamy.d.ts +17 -0
- package/dist/distributions/kumaraswamy.js +96 -0
- package/dist/distributions/laplace.d.ts +23 -0
- package/dist/distributions/laplace.js +69 -0
- package/dist/distributions/multinomial.d.ts +24 -0
- package/dist/distributions/multinomial.js +70 -0
- package/dist/distributions/nbeta.js +28 -10
- package/dist/distributions/nchisq.js +20 -3
- package/dist/distributions/pareto.d.ts +23 -0
- package/dist/distributions/pareto.js +76 -0
- package/dist/distributions/summary.d.ts +25 -0
- package/dist/distributions/summary.js +289 -0
- package/dist/distributions/triangular.d.ts +25 -0
- package/dist/distributions/triangular.js +87 -0
- package/dist/distributions.js +2 -0
- package/dist/entries/descriptive.d.ts +7 -0
- package/dist/entries/descriptive.js +8 -0
- package/dist/entries/distributions.d.ts +41 -0
- package/dist/entries/distributions.js +41 -0
- package/dist/entries/linalg.d.ts +11 -0
- package/dist/entries/linalg.js +11 -0
- package/dist/entries/numerics.d.ts +8 -0
- package/dist/entries/numerics.js +6 -0
- package/dist/entries/special.d.ts +9 -0
- package/dist/entries/special.js +9 -0
- package/dist/entries/tests.d.ts +21 -0
- package/dist/entries/tests.js +20 -0
- package/dist/htest/ansariTest.d.ts +13 -0
- package/dist/htest/ansariTest.js +80 -0
- package/dist/htest/aov.d.ts +85 -0
- package/dist/htest/aov.js +178 -0
- package/dist/htest/binomTest.d.ts +36 -0
- package/dist/htest/binomTest.js +121 -0
- package/dist/htest/cor.d.ts +14 -0
- package/dist/htest/cor.js +4 -3
- package/dist/htest/core/ansari.d.ts +18 -0
- package/dist/htest/core/ansari.js +121 -0
- package/dist/htest/core/kolmogorov.d.ts +26 -0
- package/dist/htest/core/kolmogorov.js +221 -0
- package/dist/htest/core/mantelhaen.d.ts +26 -0
- package/dist/htest/core/mantelhaen.js +145 -0
- package/dist/htest/core/shapiro.d.ts +24 -0
- package/dist/htest/core/shapiro.js +142 -0
- package/dist/htest/core/smirnov.d.ts +20 -0
- package/dist/htest/core/smirnov.js +75 -0
- package/dist/htest/fisherTest.js +134 -120
- package/dist/htest/groups.d.ts +20 -0
- package/dist/htest/groups.js +62 -0
- package/dist/htest/ksTest.d.ts +31 -0
- package/dist/htest/ksTest.js +106 -0
- package/dist/htest/mantelhaenTest.d.ts +26 -0
- package/dist/htest/mantelhaenTest.js +196 -0
- package/dist/htest/mcnemarTest.d.ts +26 -0
- package/dist/htest/mcnemarTest.js +99 -0
- package/dist/htest/onewayTest.d.ts +26 -0
- package/dist/htest/onewayTest.js +97 -0
- package/dist/htest/pairwise.d.ts +64 -0
- package/dist/htest/pairwise.js +152 -0
- package/dist/htest/poissonTest.d.ts +35 -0
- package/dist/htest/poissonTest.js +170 -0
- package/dist/htest/propTest.d.ts +37 -0
- package/dist/htest/propTest.js +164 -0
- package/dist/htest/rankTests.d.ts +52 -0
- package/dist/htest/rankTests.js +234 -0
- package/dist/htest/types.d.ts +2 -0
- package/dist/htest/types.js +6 -0
- package/dist/htest/varTest.d.ts +48 -0
- package/dist/htest/varTest.js +118 -0
- package/dist/htest/wilcoxTest.js +136 -174
- package/dist/index.d.ts +6 -50
- package/dist/index.js +8 -50
- package/dist/integrate/quadpack.d.ts +29 -0
- package/dist/integrate/quadpack.js +525 -0
- package/dist/internal/seq.d.ts +5 -0
- package/dist/internal/seq.js +14 -0
- package/dist/internal/uniroot.js +10 -71
- package/dist/linalg/lu.d.ts +45 -0
- package/dist/linalg/lu.js +88 -0
- package/dist/linalg/ops.d.ts +90 -0
- package/dist/linalg/ops.js +320 -0
- package/dist/linalg.js +2 -0
- package/dist/models/lm.d.ts +98 -0
- package/dist/models/lm.js +187 -0
- package/dist/numerics/deriv.d.ts +37 -0
- package/dist/numerics/deriv.js +150 -0
- package/dist/numerics/integrate.d.ts +91 -0
- package/dist/numerics/integrate.js +264 -0
- package/dist/numerics/interp.d.ts +103 -0
- package/dist/numerics/interp.js +581 -0
- package/dist/numerics/ode.d.ts +23 -0
- package/dist/numerics/ode.js +59 -0
- package/dist/numerics.js +2 -0
- package/dist/optim/localmin.d.ts +16 -0
- package/dist/optim/localmin.js +97 -0
- package/dist/random/beta.js +1 -1
- package/dist/random/binomial.js +1 -1
- package/dist/random/continuous.js +1 -1
- package/dist/random/extra.d.ts +33 -0
- package/dist/random/extra.js +62 -0
- package/dist/random/gamma.js +1 -1
- package/dist/random/hyper.js +1 -1
- package/dist/random/mt.js +0 -1
- package/dist/random/poisson.js +0 -1
- package/dist/random/rank.js +1 -1
- package/dist/random/rng.js +1 -1
- package/dist/random/sample.js +1 -1
- package/dist/rstats.js +2 -2
- package/dist/special/besselIK.d.ts +38 -0
- package/dist/special/besselIK.js +315 -0
- package/dist/special/besselJY.d.ts +32 -0
- package/dist/special/besselJY.js +508 -0
- package/dist/special/besselSeries.d.ts +8 -0
- package/dist/special/besselSeries.js +24 -0
- package/dist/special/beta.js +22 -5
- package/dist/special/choose.d.ts +75 -0
- package/dist/special/choose.js +233 -0
- package/dist/special/erf.d.ts +28 -2
- package/dist/special/erf.js +37 -10
- package/dist/special/extra.d.ts +47 -0
- package/dist/special/extra.js +220 -0
- package/dist/special/igam.d.ts +4 -0
- package/dist/special/igam.js +57 -2
- package/dist/special/incbet.js +77 -22
- package/dist/special/lgammaDiff.d.ts +7 -0
- package/dist/special/lgammaDiff.js +16 -3
- package/dist/special/psigamma.d.ts +48 -0
- package/dist/special/psigamma.js +318 -0
- package/dist/special/rCompatible.d.ts +8 -0
- package/dist/special/rCompatible.js +1 -0
- package/dist/special.js +2 -0
- package/dist/tests.js +2 -0
- package/package.json +26 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! rStats.js 0.6.1 | MIT License | includes code ported from SciPy, Boost.Math, statsmodels, LAPACK and others: see THIRD_PARTY_NOTICES.md at https://github.com/numero-uno-jpn/rStats.js */
|
|
2
|
+
import{a as N3,b as w,c as p3,d as h,e as g3,f as H,g as I,h as d,i as b3,j as I3,k as g}from"./chunk-UGUQYWRQ.js";function v(e,t){let n=t[0];for(let o=1;o<t.length;o++)n=n*e+t[o];return n}function q(e,t){let n=e+t[0];for(let o=1;o<t.length;o++)n=n*e+t[o];return n}var y5=[2461969814735305e-25,.5641895648310689,7.463210564422699,48.63719709856814,196.5208329560771,526.4451949954773,934.5285271719576,1027.5518868951572,557.5353353693994],_5=[13.228195115474499,86.70721408859897,354.9377788878199,975.7085017432055,1823.9091668790973,2246.3376081871097,1656.6630919416134,557.5353408177277],P5=[.5641895835477551,1.275366707599781,5.019050422511805,6.160210979930536,7.4097426995044895,2.9788666537210022],F5=[2.2605286322011726,9.396035249380015,12.048953980809666,17.08144507475659,9.608968090632859,3.369076451000815],R5=[9.604973739870516,90.02601972038427,2232.005345946843,7003.325141128051,55592.30130103949],L5=[33.56171416475031,521.3579497801527,4594.323829709801,22629.000061389095,49267.39426086359],E5=709.782712893384,w5=.5641895835477563;function r1(e){if(Number.isNaN(e))return NaN;if(e<0)return-r1(-e);if(e>1)return 1-I1(e);let t=e*e;return e*v(t,R5)/q(t,L5)}function I1(e){if(Number.isNaN(e))return NaN;let t=Math.abs(e);if(t<1)return 1-r1(e);if(e<0)return 2-I1(t);let[n,o]=p3(t,t);if(n>E5+40)return 0;let r=d3(t)*(1-o);return n<700?Math.exp(-n)*r:Math.exp(700-n)*r*Math.exp(-700)}function d1(e){return Number.isNaN(e)?NaN:e<1?Math.exp(e*e)*(1-r1(e)):e>1e8?w5/e:d3(e)}function d3(e){return e<8?v(e,y5)/q(e,_5):v(e,P5)/q(e,F5)}var q5=[-59.96335010141079,98.00107541859997,-56.67628574690703,13.931260938727968,-1.2391658386738125],G5=[1.9544885833814176,4.676279128988815,86.36024213908905,-225.46268785411937,200.26021238006066,-82.03722561683334,15.90562251262117,-1.1833162112133],T5=[4.0554489230596245,31.525109459989388,57.16281922464213,44.08050738932008,14.684956192885803,2.1866330685079025,-.1402560791713545,-.03504246268278482,-.0008574567851546854],D5=[15.779988325646675,45.39076351288792,41.3172038254672,15.04253856929075,2.504649462083094,-.14218292285478779,-.03808064076915783,-.0009332594808954574],k5=[3.2377489177694603,6.915228890689842,3.9388102529247444,1.3330346081580755,.20148538954917908,.012371663481782003,.00030158155350823543,26580697468673755e-22,6239745391849833e-24],C5=[6.02427039364742,3.6798356385616087,1.3770209948908132,.21623699359449663,.013420400608854318,.00032801446468212774,28924786474538068e-22,6790194080099813e-24],A3=.1353352832366127,O5=2.5066282746310007;function S3(e){let t=e-Math.log(e)/e,n=1/e,o=e<8?n*v(n,T5)/q(n,D5):n*v(n,k5)/q(n,C5);return t-o}function A1(e){if(e===0)return-1/0;if(e===1)return 1/0;if(!(e>=0&&e<=1))return NaN;let t=e,n=!0;if(t>1-A3&&(t=1-t,n=!1),t>A3){t=t-.5;let r=t*t;return(t+t*(r*v(r,q5)/q(r,G5)))*O5}let o=S3(Math.sqrt(-2*Math.log(t)));return n?-o:o}function v3(e){if(e<-Number.MAX_VALUE)return-1/0;if(e<-2){let t=e>=-Number.MAX_VALUE*.5?Math.sqrt(-2*e):Math.SQRT2*Math.sqrt(-e);return-S3(t)}return e>-.14541345786885906?-A1(-Math.expm1(e)):A1(Math.exp(e))}function S1(e,t){return typeof e=="number"?t(e):e instanceof Float64Array?e.map(t):e.map(n=>t(n))}var v1=Math.SQRT1_2;function y3(e,t){let n=Math.floor(e*16)/16,o=e-n,r=n*n/2,s=t*Math.exp(-o*(e+n)/2);return r<=700?s*Math.exp(-r):s*Math.exp(700-r)*Math.exp(-700)}function S0(e){let t=-e;return t<Math.SQRT2?.5-.5*r1(t*v1):y3(t,.5*d1(t*v1))}function _3(e,t){if(!t)return e<=0?S0(e):1-S0(-e);if(e>-1)return Math.log1p(-S0(-e));let n=-e;return Math.log(.5*d1(n*v1))-n*n/2}function Q5(e,t,n,o,r){if(Number.isNaN(e)||Number.isNaN(t)||Number.isNaN(n))return NaN;if(!Number.isFinite(e)&&t===e)return NaN;let s=o?r?-1/0:0:r?0:1,i=o?r?0:1:r?-1/0:0;if(n<0)return NaN;if(n===0)return e<t?s:i;let c=(e-t)/n;return Number.isFinite(c)?_3(o?c:-c,r):e<t?s:i}function z5(e,t,n,o,r){if(Number.isNaN(e)||Number.isNaN(t)||Number.isNaN(n))return NaN;let s=o?-1/0:1/0;if(r){if(e>0)return NaN;if(e===0)return-s;if(e===-1/0)return s}else{if(e<0||e>1)return NaN;if(e===0)return s;if(e===1)return-s}if(n<0)return NaN;if(n===0)return t;let i=r?B5(e):A1(e);return t+n*(o?i:-i)}var X5=.7978845608028654;function B5(e){let t=v3(e);if(!(e<-2048)||!Number.isFinite(t))return t;let n=X5/d1(-t*v1),o=(_3(t,!0)-e)/n;return Number.isFinite(o)?t-o:t}var H5=.9189385332046728,V5=.3989422804014327;function Y5(e,t,n,o){if(Number.isNaN(e)||Number.isNaN(t)||Number.isNaN(n))return NaN;if(n<0)return NaN;if(!Number.isFinite(n))return o?-1/0:0;if(!Number.isFinite(e)&&t===e)return NaN;if(n===0)return e===t?1/0:o?-1/0:0;let r=(e-t)/n;return Number.isFinite(r)?o?-(H5+.5*r*r+Math.log(n)):y3(Math.abs(r),V5/n):o?-1/0:0}function Y6(e,t={}){let{mean:n=0,sd:o=1,log:r=!1}=t;return S1(e,s=>Y5(s,n,o,r))}function U6(e,t={}){let{mean:n=0,sd:o=1,lowerTail:r=!0,logP:s=!1}=t;return S1(e,i=>Q5(i,n,o,r,s))}function j6(e,t={}){let{mean:n=0,sd:o=1,lowerTail:r=!0,logP:s=!1}=t;return S1(e,i=>z5(i,n,o,r,s))}var G=11102230246251565e-32;var D=171.6243769563027,s1=.9189385332046728,P3=1.1447298858494002;var v0=.5772156649015329;var U5=[.00016011952247675185,.0011913514700658638,.010421379756176158,.04763678004571372,.20744822764843598,.4942148268014971,1],j5=[-23158187332412014e-21,.0005396055804933034,-.004456419138517973,.011813978522206043,.035823639860549865,-.23459179571824335,.0714304917030273,1];function E3(e){let t=1;e<0&&(e=-e,t=-1);let n=e%2;return n<.5?t*Math.sin(Math.PI*n):n>1.5?t*Math.sin(Math.PI*(n-2)):-t*Math.sin(Math.PI*(n-1))}function F3(e){if(e>=D)return 1/0;let t=e-1,n=h(d(g([t,0]),t),[-t+t6(t),0]);return Math.sqrt(2*Math.PI*t)*Math.exp(n[0])*(1+n[1])}function k(e){if(!Number.isFinite(e))return e>0?e:NaN;if(e===0)return NaN;let t=Math.abs(e);if(t>33){if(e<0){let o=Math.floor(t);if(o===t)return NaN;let r=o%2===0?-1:1,s=t-o;return s>.5&&(o+=1,s=t-o),s=t*E3(s),s===0?r*(1/0):r*Math.PI/(Math.abs(s)*F3(t))}return F3(e)}let n=1;for(;e>=3;)e-=1,n*=e;for(;e<0;){if(e>-1e-9)return R3(e,n);n/=e,e+=1}for(;e<2;){if(e<1e-9)return R3(e,n);n/=e,e+=1}return e===2?n:(e-=2,n*v(e,U5)/v(e,j5))}function R3(e,t){return e===0?NaN:t/((1+v0*e)*e)}var K5=[.0008116141674705085,-.0005950619042843014,.0007936503404577169,-.002777777777300997,.08333333333333319],Z5=[-1378.2515256912086,-38801.631513463784,-331612.9927388712,-1162370974927623e-9,-1.7217370082083966e6,-853555.6642457654],J5=[-351.81570143652345,-17064.210665188115,-220528.59055385445,-1.1393344436798252e6,-2.5325230717758294e6,-2.0188914143353277e6],W5=2556348e299;function $5(e){let t=(e-.5)*Math.log(e)-e+s1;if(e>1e8)return t;let n=1/(e*e);return t+((.0007936507936507937*n-.002777777777777778)*n+.08333333333333333)/e}function T(e){if(!Number.isFinite(e))return{value:e===-1/0?1/0:e,sign:1};if(e<-34){let o=-e,r=T(o).value,s=Math.floor(o);if(s===o)return{value:1/0,sign:1};let i=s%2===0?-1:1,c=o-s;return c>.5&&(s+=1,c=s-o),c=o*E3(c),c===0?{value:1/0,sign:1}:{value:P3-Math.log(c)-r,sign:i}}if(e<13){let o=1,r=0,s=e;for(;s>=3;)r-=1,s=e+r,o*=s;for(;s<2;){if(s===0)return{value:1/0,sign:1};o/=s,r+=1,s=e+r}let i=1;if(o<0&&(i=-1,o=-o),s===2)return{value:Math.log(o),sign:i};r-=2;let c=e+r;return{value:Math.log(o)+c*v(c,Z5)/q(c,J5),sign:i}}if(e>W5)return{value:1/0,sign:1};if(e>=1e3)return{value:$5(e),sign:1};let t=(e-.5)*Math.log(e)-e+s1,n=1/(e*e);return{value:t+v(n,K5)/e,sign:1}}function K(e){return Math.abs(e-1)<=.2?V(e-1):Math.abs(e-2)<=.2?V(e-2)+Math.log1p(e-2):T(e).value}var x5=[1.6449340668482264,1.2020569031595942,1.0823232337111381,1.03692775514337,1.0173430619844492,1.008349277381923,1.0040773561979444,1.0020083928260821,1.000994575127818,1.0004941886041194,1.000246086553308,1.0001227133475785,1.0000612481350588,1.000030588236307,1.0000152822594086,1.0000076371976379,1.000003817293265,1.0000019082127165,1.0000009539620338,1.0000004769329869,1.0000002384505027,1.000000119219926,1.000000059608189,1.0000000298035034,1.0000000149015549,1.0000000074507118,1.000000003725334,1.0000000018626598,1.0000000009313275,1.0000000004656628,1.000000000232831,1.0000000001164155,1.0000000000582077,1.0000000000291038,1.000000000014552,1.000000000007276,1.000000000003638,1.000000000001819,1.0000000000009095,1.0000000000004547];function L3(e){if(e===0)return 0;let t=-v0*e,n=-e;for(let o=2;o<42;o++){n*=-e;let r=x5[o-2]*n/o;if(t+=r,Math.abs(r)<G*Math.abs(t))break}return t}function V(e){return Math.abs(e)<=.2?L3(e):Math.abs(e-1)<=.2?Math.log(e)+L3(e-1):K(e+1)}var e6=[1/12,-1/360,1/1260,-1/1680,1/1188,-691/360360,1/156];function t6(e){let t=1/(e*e),n=0,o=1/e;for(let r of e6)n+=r*o,o*=t;return n}var w3=[1/12,-1/360,1/1260,-1/1680,1/1188,-691/360360,1/156];function q3(e,t){let n=y0(e,t);return n[0]+n[1]}function y0(e,t){if(e===0)return[0,0];let n=0,o=t;for(;o<=15;)n-=Math.log1p(e/o),o+=1;let r=Math.log1p(e/o),s=e*Math.log(o+e),i=Math.abs(s)>2&&Number.isFinite(s)&&e<1e300?d(g(w(o,e)),e):[s,0],c=(o-.5)*r-e,u=1/o,l=1/(o*o);for(let f=0;f<w3.length;f++){let a=2*f+1;c+=w3[f]*u*Math.expm1(-a*r),u*=l}return h(i,[n+c,0])}var G3=22250738585072014e-324,F0=1.8378770664093456,n6=[.15342640972002736,.08106146679532726,.05481412105191765,.0413406959554093,.03316287351993629,.02767792568499834,.023746163656297496,.020790672103765093,.018488450532673187,.016644691189821193,.015134973221917378,.013876128823070748,.012810465242920227,.01189670994589177,.011104559758206917,.010411265261972096,.009799416126158804,.009255462182712733,.008768700134139386,.00833056343336287,.00793411456431402,.007573675487951841,.007244554301320383,.00694284010720953,.006665247032707682,.006408994188004207,.006171712263039458,.0059513701127588475,.0057462165130101155,.005554733551962801],y1=1/12,_1=1/360,_0=1/1260,T3=1/1680,o6=1/1188,r6=691/360360,s6=1/156;function D3(e){let t=1/(e*e);return e>500?(y1-_1*t)/e:e>80?(y1-(_1-_0*t)*t)/e:e>35?(y1-(_1-(_0-T3*t)*t)*t)/e:(y1-(_1-(_0-(T3-(o6-(r6-s6*t)*t)*t)*t)*t)*t)/e}function A(e){if(e>15)return D3(e);let t=2*e;if(t===Math.floor(t)&&t>=1)return n6[t-1];if(e<1)return V(e)-(e+.5)*Math.log(e)+e-s1;let n=0,o=e;for(;o<=15;)n+=(o+.5)*Math.log1p(1/o)-1,o+=1;return n+D3(o)}function C(e,t){if(!N3())return i6(e,t);let n=-t[0],o=-t[1],r=e+n,s=r-e,i=e-(r-s)+(n-s),c=0+o,u=c-0,l=0-(c-u)+(o-u),f=i+c,a=r+f,b=f-(a-r)+l,S=a+b,y=b-(S-a),p=S,P=y;if(Math.abs(p)<.1*(e+t[0])){let R=e+t[0],Z=R-e,J=e-(R-Z)+(t[0]-Z),Y=0+t[1],O=Y-0,c1=0-(Y-O)+(t[1]-O),W=J+Y,w1=R+W,w0=W-(w1-R)+c1,_=w1+w0,q0=w0-(_-w1),Q=p/_,q1=_*Q,G0=134217729*_,G1=G0-(G0-_),T0=_-G1,D0=134217729*Q,T1=D0-(D0-Q),k0=Q-T1,C0=G1*T1-q1+G1*k0+T0*T1+T0*k0+q0*Q,O0=q1+C0,e5=C0-(O0-q1),Q0=-O0,z0=-e5,u1=p+Q0,X0=u1-p,t5=p-(u1-X0)+(Q0-X0),D1=P+z0,B0=D1-P,n5=P-(D1-B0)+(z0-B0),H0=t5+D1,k1=u1+H0,V0=H0-(k1-u1)+n5,$=k1+V0,C1=V0-($-k1),z=$/_,O1=_*z,Y0=134217729*_,Q1=Y0-(Y0-_),U0=_-Q1,j0=134217729*z,z1=j0-(j0-z),K0=z-z1,Z0=Q1*z1-O1+Q1*K0+U0*z1+U0*K0+q0*z,J0=O1+Z0,o5=Z0-(J0-O1),W0=-J0,$0=-o5,f1=$+W0,x0=f1-$,r5=$-(f1-x0)+(W0-x0),X1=C1+$0,e2=X1-C1,s5=C1-(X1-e2)+($0-e2),t2=r5+X1,B1=f1+t2,n2=t2-(B1-f1)+s5,o2=B1+n2,S6=n2-(o2-B1),r2=o2/_,a1=Q+z,H1=z-(a1-Q),l1=a1+r2,s2=l1-a1,i5=a1-(l1-s2)+(r2-s2),V1=H1+0,i2=V1-H1,c5=H1-(V1-i2)+(0-i2),c2=i5+V1,Y1=l1+c2,u2=c2-(Y1-l1)+c5,f2=Y1+u2,u5=u2-(f2-Y1),M=f2,h1=u5,U1=p*M,a2=134217729*p,j1=a2-(a2-p),l2=p-j1,h2=134217729*M,K1=h2-(h2-M),M2=M-K1,m2=j1*K1-U1+j1*M2+l2*K1+l2*M2+(p*h1+P*M),N2=U1+m2,f5=m2-(N2-U1),U=N2,j=f5,x=2*e,Z1=M*x,p2=134217729*M,J1=p2-(p2-M),g2=M-J1,b2=134217729*x,W1=b2-(b2-x),I2=x-W1,d2=J1*W1-Z1+J1*I2+g2*W1+g2*I2+h1*x,A2=Z1+d2,a5=d2-(A2-Z1),E=A2,e1=a5,$1=M*M,S2=134217729*M,x1=S2-(S2-M),v2=M-x1,y2=134217729*M,e0=y2-(y2-M),_2=M-e0,P2=x1*e0-$1+x1*_2+v2*e0+v2*_2+(M*h1+h1*M),F2=$1+P2,l5=P2-(F2-$1),t1=F2,h5=l5;for(let t0=1;t0<1e3;t0++){let n0=E*t1,R2=134217729*E,o0=R2-(R2-E),L2=E-o0,E2=134217729*t1,r0=E2-(E2-t1),w2=t1-r0,q2=o0*r0-n0+o0*w2+L2*r0+L2*w2+(E*h5+e1*t1),G2=n0+q2,M5=q2-(G2-n0);E=G2,e1=M5;let L=2*t0+1,X=E/L,s0=L*X,T2=134217729*L,i0=T2-(T2-L),D2=L-i0,k2=134217729*X,c0=k2-(k2-X),C2=X-c0,O2=i0*c0-s0+i0*C2+D2*c0+D2*C2+0*X,Q2=s0+O2,m5=O2-(Q2-s0),z2=-Q2,X2=-m5,M1=E+z2,B2=M1-E,N5=E-(M1-B2)+(z2-B2),u0=e1+X2,H2=u0-e1,p5=e1-(u0-H2)+(X2-H2),V2=N5+u0,f0=M1+V2,Y2=V2-(f0-M1)+p5,n1=f0+Y2,a0=Y2-(n1-f0),B=n1/L,l0=L*B,U2=134217729*L,h0=U2-(U2-L),j2=L-h0,K2=134217729*B,M0=K2-(K2-B),Z2=B-M0,J2=h0*M0-l0+h0*Z2+j2*M0+j2*Z2+0*B,W2=l0+J2,g5=J2-(W2-l0),$2=-W2,x2=-g5,m1=n1+$2,e3=m1-n1,b5=n1-(m1-e3)+($2-e3),m0=a0+x2,t3=m0-a0,I5=a0-(m0-t3)+(x2-t3),n3=b5+m0,N0=m1+n3,o3=n3-(N0-m1)+I5,r3=N0+o3,q6=o3-(r3-N0),s3=r3/L,N1=X+B,p0=B-(N1-X),p1=N1+s3,i3=p1-N1,d5=N1-(p1-i3)+(s3-i3),g0=p0+0,c3=g0-p0,A5=p0-(g0-c3)+(0-c3),u3=d5+g0,b0=p1+u3,f3=u3-(b0-p1)+A5,g1=b0+f3,a3=f3-(g1-b0),b1=U+g1,l3=b1-U,S5=U-(b1-l3)+(g1-l3),I0=j+a3,h3=I0-j,v5=j-(I0-h3)+(a3-h3),M3=S5+I0,d0=b1+M3,m3=M3-(d0-b1)+v5,o1=d0+m3,A0=m3-(o1-d0);if(Math.abs(g1)<=1e-33*Math.abs(o1)||o1===U&&A0===j)return[o1,A0];U=o1,j=A0}return[U,j]}let F=H(g([e,0]),g(t));return h(d(F,e),[-p,-P])}function i6(e,t){let n=H([e,0],t);if(Math.abs(n[0])<.1*(e+t[0])){let r=b3(n,h([e,0],t)),s=I(n,r),i=d(r,2*e),c=I(r,r);for(let u=1;u<1e3;u++){i=I(i,c);let l=I3(i,2*u+1),f=h(s,l);if(Math.abs(l[0])<=1e-33*Math.abs(f[0])||f[0]===s[0]&&f[1]===s[1])return f;s=f}return s}let o=H(g([e,0]),g(t));return h(d(o,e),g3(n))}function i4(e,t){if(!Number.isFinite(e)||!Number.isFinite(t)||t===0)return NaN;if(e===0)return t;let n=C(e,[t,0]);return n[0]+n[1]}function P0(e,t,n,o){if(t)return-e[0]-e[1]-.5*n();if(e[0]<700)return Math.exp(-e[0])*(1-e[1])/Math.sqrt(o());let r=o();return!Number.isFinite(r)||r===0?Math.exp(-e[0]-e[1]-.5*n()):Math.exp(700-e[0])*(1-e[1])/Math.sqrt(r)*Math.exp(-700)}function c4(e,t,n,o,r){let s=r?-1/0:0,i=r?0:1,c=w(e,t),u=c[0];if(n[0]===0)return e===0?i:s;if(o[0]===0)return t===0?i:s;if(e===0){if(u===0)return i;if(n[0]<.1){let N=h(C(u,I(c,o)),I(c,n));return r?-N[0]-N[1]:Math.exp(-N[0])*(1-N[1])}let f=g(o),a=I(c,f);return r?a[0]+a[1]:Math.exp(a[0])*(1+a[1])}if(t===0){if(o[0]<.1){let a=h(C(u,I(c,n)),I(c,o));return r?-a[0]-a[1]:Math.exp(-a[0])*(1-a[1])}let f=I(c,g(n));return r?f[0]+f[1]:Math.exp(f[0])*(1+f[1])}if(e<0||t<0)return s;let l=h(C(e,I(c,n)),C(t,I(c,o)));return l=h(l,w(A(e)+A(t),-A(u))),P0(l,r,()=>F0+Math.log(e)+Math.log(t)-Math.log(u),()=>2*Math.PI*e*(t/u))}function u4(e,t,n,o){let r=w(e,t),s=r[0],i=h(C(e,I(r,n)),C(t,I(r,o)));return i=h(i,w(A(e)+A(t),-A(s))),{e:i,logDenom:F0+Math.log(e)+Math.log(t)-Math.log(s)}}function i1(e,t,n){let o=k3(e,t,n,!n);return n?o[0]:o[1]}function R0(e,t){return k3(e,t,!0,!0)}function k3(e,t,n,o){if(t===0)return e===0?[0,1]:[-1/0,0];if(!Number.isFinite(t)||e<0)return[-1/0,0];if(e<=t*G3)return[-t,o?Math.exp(-t):NaN];if(t<e*G3){if(!Number.isFinite(e))return[-1/0,0];let c=-t+e*Math.log(t)-V(e);return[c,o?Math.exp(c):NaN]}let r=h(C(e,[t,0]),[A(e),0]),s=()=>F0+Math.log(e),i=()=>2*Math.PI*e;return[n?P0(r,!0,s,i):NaN,o?P0(r,!1,s,i):NaN]}var P1=1e6;function Q3(e,t){let{value:n,sign:o}=T(t),r=n;return r-=t*Math.log(e),r+=t*(1-t)/(2*e),r+=t*(1-t)*(1-2*t)/(12*e*e),r+=-t*t*(1-t)*(1-t)/(12*e*e*e),{value:r,sign:o}}function c6(e,t){if(Number.isNaN(e)||Number.isNaN(t))return NaN;if(e===1/0&&t>0||t===1/0&&e>0)return 0;if(e>0&&t>0&&Math.max(e,t)>15){let i=Math.min(e,t),c=Math.max(e,t);if(i<1){let l=y0(i,c);return k(i)*Math.exp(-l[0])*(1-l[1])}let u=c>=X3?B3(c,i):H3(e,t);return Math.exp(u[0])*(1+u[1])}let n=1;if(e<=0&&e===Math.floor(e))return C3(e,t);if(t<=0&&t===Math.floor(t))return C3(t,e);if(Math.abs(e)<Math.abs(t)&&([e,t]=[t,e]),Math.abs(e)>P1*Math.abs(t)&&e>P1){let i=Q3(e,t);return i.sign*Math.exp(i.value)}let o=e+t;if(Math.abs(o)>D||Math.abs(e)>D||Math.abs(t)>D){let i=T(o);n*=i.sign;let c=T(t);n*=c.sign;let u=T(e);n*=u.sign;let l=u.value+(c.value-i.value);return n*Math.exp(l)}o=1/k(o);let r=k(e),s=k(t);return Number.isFinite(o)?Math.abs(Math.abs(r*o)-1)>Math.abs(Math.abs(s*o)-1)?s*o*r:r*o*s:n*(1/0)}function C3(e,t){return t===Math.floor(t)&&1-e-t>0?(t%2===0?1:-1)*c6(1-e-t,t):1/0}function u6(e,t){if(Number.isNaN(e)||Number.isNaN(t))return NaN;if(e===1/0&&t>0||t===1/0&&e>0)return-1/0;if(e>0&&t>0&&Number.isFinite(e)&&Number.isFinite(t)&&Math.max(e,t)>15){let i=Math.min(e,t),c=Math.max(e,t);if(i<1)return K(i)-q3(i,c);let u=c>=X3?B3(c,i):H3(e,t);return u[0]+u[1]}if(e<=0&&e===Math.floor(e))return O3(e,t);if(t<=0&&t===Math.floor(t))return O3(t,e);if(Math.abs(e)<Math.abs(t)&&([e,t]=[t,e]),Math.abs(e)>P1*Math.abs(t)&&e>P1)return Q3(e,t).value;let n=e+t;if(Math.abs(n)>D||Math.abs(e)>D||Math.abs(t)>D)return T(e).value+(T(t).value-T(n).value);n=1/k(n);let o=k(e),r=k(t);if(!Number.isFinite(n))return 1/0;let s=Math.abs(Math.abs(o*n)-1)>Math.abs(Math.abs(r*n)-1)?r*n*o:o*n*r;return Math.log(Math.abs(s))}function O3(e,t){return t===Math.floor(t)&&1-e-t>0?u6(1-e-t,t):1/0}var z3=[.9189385332046728,-38782941580672414e-33],X3=2**52;function B3(e,t){let n=d(H(g([t,0]),g([e,0])),t),o=-.5*Math.log(t)-(e+t-.5)*Math.log1p(t/e)+(A(e)+A(t)-A(e+t));return h(h(n,z3),[o,0])}function H3(e,t){let n=w(e,t),o=d(g([e,0]),e-.5),r=d(g([t,0]),t-.5),s=f6(g(n),h(n,[-.5,0])),i=H(h(o,r),s);return i=h(i,z3),h(i,w(A(e)+A(t),-A(n[0])))}function f6(e,t){return h(d(e,t[0]),d(e,t[1]))}var V3=[[-.3333333333333333,.08333333333333333,-.014814814814814815,.0011574074074074073,.0003527336860670194,-.0001787551440329218,3919263178522438e-20,-21854485106799924e-22,-185406221071516e-20,8296711340953087e-22,-17665952736826078e-23,6707853543401498e-24,10261809784240309e-24,-4382036018453353e-24,914769958223679e-24,-2551419399494625e-26,-5830772132550426e-26,24361948020667415e-27,-50276692801141755e-28,11004392031956135e-29,33717632624009856e-29,-1392388722418162e-28,28534893807047445e-30,-5139111834242572e-31,-19752288294349442e-31],[-.001851851851851852,-.003472222222222222,.0026455026455026454,-.0009902263374485596,.00020576131687242798,-4018775720164609e-22,-18098550334489977e-21,764916091608111e-20,-16120900894563446e-22,4647127802807434e-24,1378633446915721e-22,-5752545603517705e-23,11951628599778148e-24,-17543241719747647e-27,-10091543710600413e-25,4162792991842583e-25,-856390702649298e-25,6067215101604758e-29,71624989648114856e-28,-2933186643771437e-27,5996696365683689e-28,-21671786527323313e-32,-4978339972369262e-29,20291628823713425e-30,-413125571381061e-29],[.004133597883597883,-.0026813271604938273,.0007716049382716049,20093878600823047e-22,-.00010736653226365161,52923448829120125e-21,-12760635188618728e-21,3423578734096138e-23,13721957309062932e-22,-6298992138380055e-22,14280614206064242e-23,-20477098421990866e-26,-1409252991086752e-23,6228974084922022e-24,-13670488396617112e-25,9428356159014678e-28,12872252400089318e-26,-55645956134363323e-27,1197593554636698e-26,-41689782251838634e-31,-10940640427884595e-28,4662239946390136e-28,-9905105763906907e-29,18931876768373515e-33,8859221872591127e-30],[.0006494341563786008,.00022947209362139917,-.0004691894943952557,.00026772063206283885,-7561801671883977e-20,-2396505113867297e-22,11082654115347302e-21,-56749528269915965e-22,14230900732435883e-22,-27861080291528143e-27,-16958404091930278e-23,8099464905388083e-23,-19111168485973655e-24,23928620439808118e-28,20620131815488797e-25,-9460496661855133e-25,21541049775774907e-26,-1388823336813903e-29,-21894761681963938e-27,9790998951171684e-27,-2178219188018096e-27,6208819573407901e-32,2126978363279737e-28,-9344688791517433e-29,2045367122678285e-29],[-.0008618882909167117,.0007840392217200666,-.0002990724803031902,-14638452578843418e-22,6641498215465122e-20,-3968365047179435e-20,11375726970678419e-21,2507497226237533e-25,-16954149536558305e-22,8907507532205309e-22,-2292934834000805e-22,2956794137544049e-26,28865829742708783e-24,-14189739437803219e-24,34463580499464896e-25,-23024517174528067e-29,-39409233028046403e-26,186023389685045e-24,-4356323005056618e-26,1278600101629623e-30,467927502665792e-26,-2149246470613483e-27,4908815614809652e-28,-633859148489156e-32,-5045332069080094e-29],[-.00033679855336635813,-6972813758365858e-20,.0002772753244959392,-.00019932570516188847,6797780477937208e-20,1419062920643967e-22,-13594048189768693e-21,8018470256334202e-21,-2291481176508095e-21,-3252473551298454e-25,34652846491085265e-23,-18447187191171344e-23,48240967037894184e-24,-17989466721743514e-30,-6306194500013523e-24,3162417628774568e-24,-7840924253697429e-25,5192679165254041e-30,9358944242306784e-26,-4513426216163278e-26,10799129993116828e-27,-3661886712685252e-32,-1210902069055155e-27,5680743584990564e-28,-13249659916340829e-29],[.0005313079364639922,-.0005921664373536939,.0002708782096718045,7902353232660328e-22,-8153969367561969e-20,561168275310625e-19,-18329116582843375e-21,-30796134506033047e-25,3465155368803609e-21,-20291327396058603e-22,5788792863149004e-22,2338630673826657e-28,-8828600746330484e-23,47435958880408125e-24,-12545415020710382e-24,8649648858010293e-29,16846058979264062e-25,-8575492823577594e-25,21598224929232125e-26,-7613230520476153e-31,-26639822008536144e-27,13065700536611057e-27,-31799163902367977e-28,4710976121367431e-33,36902800842763465e-29],[.00034436760689237765,5171790908260592e-20,-.00033493161081142234,.0002812695154763237,-.00010976582244684731,-12741009095484485e-23,27744451511563645e-21,-18263488805711332e-21,57876949497350525e-22,493875893393627e-24,-10595367014026043e-22,6166714376110408e-22,-17562973359060463e-23,-1297447328701544e-27,2695423606288966e-23,-14578352908731272e-24,3887645959386175e-24,-3881002251019412e-32,-5327994173877286e-25,27437977643314844e-26,-6995796092070568e-26,2589986387486848e-32,8856689099669639e-27,-4403168815871311e-27,10865561947091654e-28],[-.0006526239185953094,.0008394987206720873,-.000438297098541721,-6969091458420552e-22,.00016644846642067547,-.00012783517679769218,4629953263691304e-20,4557909867922708e-24,-10595271125805195e-21,6783342904865167e-21,-21075476666258803e-22,-17213731432817144e-27,3773587741611098e-22,-21867506700122867e-23,6220228804018927e-23,6597703826733e-28,-9590386497425686e-24,5213214492280807e-24,-13991589583935709e-25,5382058999060575e-31,19484714275467745e-26,-10127287556389682e-26,26077347197254926e-27,-5090418699993299e-33,-33721464474854593e-28],[-.0005967612901927463,-7204895416020011e-20,.0006782308837667328,-.0006401475260262758,.00027750107634328704,1819700838046515e-22,-8479507117068503e-20,6105192082501531e-20,-21073920183404862e-21,-8858589014125599e-25,45284535953805374e-22,-28427815022504407e-22,8708234177864641e-22,36886101871706966e-28,-1534469519070206e-22,8862466778790695e-23,-25184812301826817e-24,-10225912098215092e-30,3896947075815478e-24,-21267304792235634e-25,5737013552805138e-25,-1887749850169741e-34,-8093153869465787e-26,423827232834492e-25,-11002224534207727e-27],[.0013324454494800656,-.0019144384985654776,.0011089369134596636,99324041226423e-20,-.0005087450129309319,.00042735056665392886,-.000168588537679108,-81301893922785e-22,45284402370562144e-21,-3127053674781734e-20,1044986828530338e-20,48435226265680926e-27,-2148256587345626e-21,1329369701097492e-21,-4029569309210103e-22,-1756787766632329e-28,7014504316366825e-23,-4040787734999483e-23,11474026743371962e-24,39642746853563326e-34,-17804938269892715e-25,9748026254873165e-25,-26405338676507616e-26,5794875163403742e-33,3764774955354384e-26],[.001579727660730835,.00016251626278391583,-.0020633421035543276,.00213896861856891,-.0010108559391263003,-399127055299192e-21,.0003623502508476469,-.00028143901463712157,.00010449513336495887,212114184918303e-23,-25779417251947842e-21,17281818956040464e-21,-5641377387290428e-21,-11024320105776174e-27,11223224418895176e-22,-6869339637952674e-22,20653236975414888e-23,46714772409838506e-30,-35609886164949055e-24,20470855345905963e-24,-5809173863328336e-24,-1332821287582869e-31,9035460439133513e-25,-4959878251733084e-25,13481607129399748e-26],[-.004072512119514016,.00640336283380807,-.004041016108167662,-2183732802866233e-21,.002174044180125464,-.001970044051841889,.0008359546974796246,19445447567109655e-24,-.000257793871204217,.00019009987368139304,-6769649993743896e-20,-14440629666426571e-26,15712512518742267e-21,-10304008744776892e-21,3304517767401387e-21,7982976024232571e-28,-64097794149313e-20,38894624761300054e-23,-1161834764494887e-22,-2816808630596451e-30,19878012911297094e-24,-11407719956357511e-24,32355857064185554e-25,4175946829345594e-35,-5042311271810582e-25],[-.0059475779383993,-.0005401647678926045,.00879104135507679,-.009857631558785612,.005013469503102154,12807521786221875e-22,-.0020626019342754685,.0017109128573523059,-.000676953127141338,-6901154567656214e-24,.00018855128143995903,-.0001339521566349197,4626318303352804e-20,4003423061332135e-26,-10255652921494033e-21,6612086372797651e-21,-20913022027253007e-22,-20951775649603836e-29,3975602904199325e-22,-2395621197881589e-22,7118288338214586e-23,8925574873053455e-31,-12101547235064675e-24,6935061824833439e-24,-196614644538561e-23],[.01740202778752271,-.029527880945699123,.020045875571402798,70289515966903405e-22,-.012375421071343148,.011976293444235253,-.0054156038466518525,-6329089339641862e-23,.0018855118129005065,-.001473473274825001,.0005551581009770838,5240683441255066e-25,-.00014357913535784837,991812932249433e-19,-3346083474947831e-20,-3575583729109899e-27,71560851960630075e-22,-4551680262815553e-21,14236576649271474e-22,18803149082089665e-30,-2662340389892921e-22,15950642189595716e-23,-471875146738411e-22,-6510787295875518e-32,7979509102674624e-24],[.03024912416090589,.0024817436002649977,-.049939134373457025,.05991564300930787,-.03248320760162339,-5721296865210344e-21,.015085251778569354,-.013261324005088445,.0055515262632426145,3026318225703001e-23,-.0017229548406756724,.0012893570099929638,-.00046845138348319875,-1830259937893045e-25,.00011449739014822654,-7737856522124447e-20,25625836246985202e-21,10766165333192815e-28,-5324680928242262e-21,3349634863064464e-21,-10381253128684019e-22,-5608909920621128e-30,19150821930676592e-23,-11418365800203487e-23,33654425209171787e-24],[-.09905102088015905,.17954011706123485,-.12989606383463778,-31478872752284355e-21,.09051063527684813,-.0928288244111844,.04441211283987781,27779236316835886e-23,-.017229543805449696,.014182925050891573,-.005621416163374734,-239598509186381e-23,.0016029634366079909,-.0011606784674435774,.00041001337768153875,1836580075409066e-26,-958442565636559e-19,6364306233776471e-20,-2076250624489065e-20,-11806020912804483e-29,4213180823912065e-21,-2626224133701247e-21,8077062049493066e-22,6012591212363273e-31,-1472973737401884e-22],[-.19994542198219728,-.015056113040026424,.36470239469348487,-.4643519231173355,.26640934719197895,3403826602714719e-20,-.13784338709329624,.1276467178337056,-.056213828755200985,-1753150885483011e-22,.019235592956768112,-.015088821281095314,.005740185445135012,10622382710310225e-25,-.0015335082692563998,.0010819320643228215,-.0003737251019394566,-6617090972903199e-27,8426361738090962e-20,-5515070682748348e-20,1776953644834807e-20,3882792321020553e-29,-353513697488768e-20,2186583213004527e-21,-668128494476256e-21],[.7243860850402943,-1.3918010932653375,1.0654143352413967,.0001876173868950258,-.827055011761527,.8935243334782842,-.44971003995291337,-16107401567546651e-22,.1923559016527109,-.1659770216004261,.06888222268181433,13910091724608687e-24,-.02146911561508663,.016228980898865892,-.005979601617258426,-11287469112826745e-26,.0015167451119784856,-.00104786342935539,.0003553907288912642,8170432211180152e-28,-777730134424524e-19,5029141389700772e-20,-16035083867000518e-21,12469354315487606e-30,31369106244517616e-22],[1.6668949727276812,.1165462765994632,-3.3288393225018904,4.469232548286404,-2.6977693045875806,-.0002600667859891061,1.5389017615694538,-1.4937962361134611,.6888196463323315,13077482004552384e-22,-.2576296332559629,.21097676102125448,-.08371440835921988,-7792042888135476e-24,.0242679230648336,-.017813678334552312,.006397033038890006,4943080709048052e-26,-.0015554602758465635,.0010561196919903215,-.000352771844604729,9300233464502246e-29,7528585502655717e-20,-4818651556915635e-20,15227271505597605e-21],[-6.618829886137293,13.397985455142589,-10.789350606845145,-.0014352254537875018,9.23336945961898,-10.456552819547769,5.510552602903347,12024439690716742e-21,-2.5762961164755818,2.320744274538718,-1.0045728797216285,-10207833290021913e-23,.3397509217116947,-.2672051745075747,.10235252851562705,8432973048487163e-25,-.027998284958442594,.020066274144976814,-.007055436891508624,19402238183698188e-28,.0016562888105449611,-.0011082898580743682,.0003654545161310169,-5129003202697179e-26,-7634010369686903e-20],[-17.112706061976095,-1.1208044642899115,37.131966511885445,-52.29827102534896,33.058589696624615,.002479129897620022,-20.61089403411526,20.88672775145582,-10.045703956517752,-12238783449063012e-21,4.077013427422114,-3.473667358470195,1.4329352617312006,7135991441187971e-23,-.4479725715911561,.3411266608064446,-.12699786326594922,-2895367726908153e-25,.03312577627825986,-.023274087021036102,.008039999350364889,-1177805216235265e-24,-.001832162489107167,.0012108282933588664,-.0003947994124682252],[73.89033153567425,-156.80141270402274,132.2177542759164,.013692876877324546,-123.66496885920151,146.2068939106273,-80.36558772486535,-.00011259851148881298,40.77013219617994,-38.21034001327303,17.19522294277362,9351970795516835e-22,-6.271615990774704,5.116899907185264,-2.0319658112299095,-4950721558276154e-24,.596263972943326,-.44220765337238094,.16079998700166273,-24733786203223403e-24,-.040307574759979765,.02784905074709787,-.009475185899205422,6419922235909132e-21,.002125018077469946],[212.1683709838252,13.107863022633868,-496.9828593287175,731.215952669692,-482.1382172089085,-.028817248692894887,326.167203029471,-343.8934028008712,171.95193870816232,.00014038077378096157,-75.2594195897599,66.51969984520935,-28.447519748152462,-7613702615875392e-22,9.540223710530437,-7.517530111331138,2.894399756887196,-466121949995382e-21,-.8061514959879409,.5848300657063102,-.20845408972964957,.00014765818959305816,.05100043386375302,-.03306625214188366,.015109265210467774],[-989.5964309832236,2192.555536090523,-1928.3586782723355,-.15925738122215252,1956.9985945919857,-2407.2514765081555,1375.6149959336497,.0012920735237496668,-752.5941715948055,731.7166874220871,-341.37023466220063,-9985739026060805e-21,133.56313181291574,-112.76295161252794,46.31039609820446,-7923738713361476e-21,-14.510726927018647,11.111771248100563,-4.169081794527089,.0031008219800117806,1.1220095449981469,-.7605237992614992,.36262236505085255,.2216867741940747,.48683443692930506]];function L0(e){if(Math.abs(e)<.5){let t=e,n=0;for(let o=2;o<500;o++){t*=-e;let r=t/o;if(n+=r,Math.abs(r)<G*Math.abs(n))break}return n}return Math.log1p(e)-e}var E1=1e7,K3=20,R1=200,Z3=.3,J3=4.5,l6=4503599627370496,F1=2220446049250313e-31;function U3(e,t,n){let o=W3(e,t);return n?i1(e,t,!0)+Math.log(o):i1(e,t,!1)*o}function j3(e,t){let n=W3(e,t),o=R0(e,t);return[o[0]+Math.log(n),o[1]*n]}function W3(e,t){if(e>1e3&&t>.97*e)return M6(e,t);let n=e,o=1,r=1;for(let s=0;s<E1&&(n+=1,o*=t/n,r+=o,!(o<=G*r));s++);return r}var h6=2**-64;function M6(e,t){let n=1,o=0,r=1,s=0;for(let i=1;i<E1;i++){let c=e+i,u=c-e,l=e-(c-u)+(i-u),f=t/c,a=134217729*f,N=a-(a-f),b=f-N;a=134217729*c;let S=a-(a-c),y=c-S,p=f*c,P=N*S-p+N*y+b*S+b*y,F=(t-p-P-f*l)/c;a=134217729*n;let R=a-(a-n),Z=n-R,J=n*f,Y=R*N-J+R*b+Z*N+Z*b+(n*F+o*f);n=J+Y,o=Y-(n-J);let O=r+n,c1=O-r,W=r-(O-c1)+(n-c1)+(s+o);if(r=O+W,s=W-(r-O),n*f<=h6*r*(1-f))break}return r+s}function m6(e,t,n){let o=$3(e,t);return n?Math.log(e)+i1(e,t,!0)+Math.log(o):e*i1(e,t,!1)*o}function N6(e,t){let n=$3(e,t),o=R0(e,t);return[Math.log(e)+o[0]+Math.log(n),e*o[1]*n]}function $3(e,t){let n=1-e,o=t+n+1,r=0,s=1,i=t,c=t+1,u=o*t,l=c/u;for(let f=0;f<E1;f++){r+=1,n+=1,o+=2;let a=n*r,N=c*o-s*a,b=u*o-i*a,S;if(b!==0){let y=N/b;S=Math.abs((l-y)/y),l=y}else S=1;if(s=c,c=N,i=u,u=b,Math.abs(N)>l6&&(s*=F1,c*=F1,i*=F1,u*=F1),S<=G)break}return l}function x3(e,t){let n=1,o=0;for(let c=1;c<E1;c++){n*=-t/c;let u=n/(e+c);if(o+=u,Math.abs(u)<=G*Math.abs(o))break}let r=Math.log(t),s=e*r-V(e);return-Math.expm1(s)-e*Math.exp(s)*o}function L1(e,t,n){let o=n?-1:1,r=t/e,s=(t-e)/e,i;r>1?i=Math.sqrt(-2*L0(s)):r<1?i=-Math.sqrt(-2*L0(s)):i=0;let c=.5*I1(o*i*Math.sqrt(e/2)),u=new Array(25).fill(0);u[0]=1;let l=0,f=0,a=1,N=1/0;for(let b=0;b<25;b++){let S=V3[b],y=S[0];for(let F=1;F<25;F++){F>l&&(u[F]=i*u[F-1],l+=1);let R=S[F]*u[F];if(y+=R,Math.abs(R)<G*Math.abs(y))break}let p=y*a,P=Math.abs(p);if(P>N||(f+=p,P<G*Math.abs(f)))break;N=P,a/=e}return c+=o*Math.exp(-.5*e*i*i)*f/Math.sqrt(2*Math.PI*e),c}function E0(e,t,n){if(t>1.1)return t<e?{lower:!0,value:U3(e,t,n)}:{lower:!1,value:m6(e,t,n)};if(t<=.5?-.4/Math.log(t)<e:t*1.1<e)return{lower:!0,value:U3(e,t,n)};let r=x3(e,t);return{lower:!1,value:n?Math.log(r):r}}function p6(e,t){if(t>1.1){let[r,s]=t<e?j3(e,t):N6(e,t);return{lower:t<e,log:r,lin:s}}if(t<=.5?-.4/Math.log(t)<e:t*1.1<e){let[r,s]=j3(e,t);return{lower:!0,log:r,lin:s}}let o=x3(e,t);return{lower:!1,log:Math.log(o),lin:o}}function _4(e,t,n){if(Number.isNaN(e)||Number.isNaN(t))return[NaN,NaN];if(t<0||e<0)return[NaN,NaN];if(e===0)return t>0?n?[0,1]:[-1/0,0]:[NaN,NaN];if(t===0)return n?[-1/0,0]:[0,1];if(e===1/0)return t===1/0?[NaN,NaN]:n?[-1/0,0]:[0,1];if(t===1/0)return n?[0,1]:[-1/0,0];if(t>1e15*Math.max(e,1)){let s=(e-1)*Math.log(t)-t-K(e)+Math.log1p((e-1)/t);return n?[Math.log1p(-Math.exp(s)),-Math.expm1(s)]:[s,Math.exp(s)]}let o=Math.abs(t-e)/e;if(e>K3&&e<R1&&o<Z3||e>R1&&o<J3/Math.sqrt(e)){let s=L1(e,t,n);return[s>.5?Math.log1p(-L1(e,t,!n)):Math.log(s),s]}let r=p6(e,t);return r.lower===n?[r.log,r.lin]:[r.lin>0?Math.log1p(-r.lin):-Math.exp(r.log),1-r.lin]}function P4(e,t,n,o){if(Number.isNaN(e)||Number.isNaN(t))return NaN;if(t<0||e<0)return NaN;let r=o?-1/0:0,s=o?0:1;if(e===0)return t>0?n?s:r:NaN;if(t===0)return n?r:s;if(e===1/0)return t===1/0?NaN:n?r:s;if(t===1/0)return n?s:r;if(t>1e15*Math.max(e,1)){let u=(e-1)*Math.log(t)-t-K(e)+Math.log1p((e-1)/t);return n?o?Math.log1p(-Math.exp(u)):-Math.expm1(u):o?u:Math.exp(u)}let i=Math.abs(t-e)/e;if(e>K3&&e<R1&&i<Z3||e>R1&&i<J3/Math.sqrt(e)){let u=L1(e,t,n);return o?u>.5?Math.log1p(-L1(e,t,!n)):Math.log(u):u}if(o){let u=E0(e,t,!0);if(u.lower===n)return u.value;let l=E0(e,t,!1).value;return l>0?Math.log1p(-l):-Math.exp(u.value)}let c=E0(e,t,!1);return c.lower===n?c.value:1-c.value}export{v as a,r1 as b,I1 as c,d1 as d,S1 as e,Y6 as f,U6 as g,j6 as h,G as i,v0 as j,E3 as k,k as l,T as m,K as n,V as o,A as p,C as q,i4 as r,c4 as s,u4 as t,i1 as u,W3 as v,$3 as w,_4 as x,P4 as y,q3 as z,c6 as A,u6 as B,H3 as C};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! rStats.js 0.6.1 | MIT License | includes code ported from SciPy, Boost.Math, statsmodels, LAPACK and others: see THIRD_PARTY_NOTICES.md at https://github.com/numero-uno-jpn/rStats.js */
|
|
2
|
+
import{a as U,b as O}from"./chunk-DRNMIEYH.js";var y=Math.pow(Number.EPSILON,.25);function q(a,s,o,N=y){let M=.5*(3-Math.sqrt(5)),x=Math.sqrt(Number.EPSILON),n=s,l=o,i=n+M*(l-n),e=i,t=i,r=0,f=0,c=a(t),b=c,m=c,u=1,E=N/3;for(;;){let d=.5*(n+l),h=x*Math.abs(t)+E,w=2*h;if(Math.abs(t-d)<=w-.5*(l-n))break;let g=!0;if(Math.abs(f)>h){let R=(t-e)*(c-b),v=(t-i)*(c-m),I=(t-i)*v-(t-e)*R;if(v=2*(v-R),v>0?I=-I:v=-v,R=f,f=r,Math.abs(I)<Math.abs(.5*v*R)&&I>v*(n-t)&&I<v*(l-t)){r=I/v;let S=t+r;(S-n<w||l-S<w)&&(r=t<=d?h:-h),g=!1}}g&&(f=t<d?l-t:n-t,r=M*f);let L=Math.abs(r)>=h?t+r:r>=0?t+h:t-h,A=a(L);u++,A<=c?(L<t?l=t:n=t,i=e,b=m,e=t,m=c,t=L,c=A):(L<t?n=L:l=L,A<=m||e===t?(i=e,b=m,e=L,m=A):(A<=b||i===t||i===e)&&(i=L,b=A))}return{x:t,fx:c,evaluations:u}}var T=["OK","maximum number of subdivisions reached","roundoff error was detected","extremely bad integrand behaviour","roundoff error is detected in the extrapolation table","the integral is probably divergent","the input is invalid"],F=Number.EPSILON**.25;function k(a,s,o,N={}){let M=N.subdivisions??100,x=N.relTol??F,n=N.absTol??x,l=N.stopOnError??!0;if(Number.isNaN(s)||Number.isNaN(o))throw new RangeError("a limit is NA or NaN");if(M<1||n<=0&&x<Math.max(50*Number.EPSILON,5e-29))throw new RangeError("invalid parameter values");let i=r=>{let f=a(r);if(!Number.isFinite(f))throw new RangeError("non-finite function value");return f},e=Number.isFinite(s)&&Number.isFinite(o)?U(i,s,o,n,x,M):Number.isFinite(s)?O(i,s,1,n,x,M):Number.isFinite(o)?O(i,o,-1,n,x,M):O(i,0,2,n,x,M),t=T[e.ier]??"unknown error";if(e.ier===6)throw new RangeError("the input is invalid");if(e.ier!==0&&l)throw new RangeError(t);return{value:e.result,absError:e.abserr,subdivisions:e.last,ier:e.ier,message:t}}function p(a,s,o,N={}){let M=N.maximum??!1,x=N.tol??F;if(!(s<o))throw new RangeError("'xmin' not less than 'xmax'");let n=q(M?l=>-a(l):a,s,o,x);return{optimum:n.x,objective:a(n.x)}}function j(a,s,o,N={}){let M=N.tol??F,x=N.maxiter??1e3,n=N.extendInt??"no";if(!(s<o))throw new RangeError("lower < upper is not fulfilled");let l=N.fLower??a(s),i=N.fUpper??a(o);if(Number.isNaN(l))throw new RangeError("f.lower = f(lower) is NA");if(Number.isNaN(i))throw new RangeError("f.upper = f(upper) is NA");let e=u=>Math.max(-Number.MAX_VALUE,Math.min(Number.MAX_VALUE,u)),t=u=>.01*Math.max(1e-4,Math.abs(u)),r=n==="downX"?-1:n==="upX"?1:0,f=n==="yes"?e(l)*e(i)>0:r!==0&&(r*e(l)>0||r*e(i)<0),c=0,b=()=>{if(++c>x)throw new RangeError(`no sign change found in ${c-1} iterations`)};if(f&&n==="yes"){let u=t(s),E=t(o);for(;l*i>0&&(Number.isFinite(s)||Number.isFinite(o));){if(b(),Number.isFinite(s)){let d=s-u,h=a(d);Number.isNaN(h)?u/=4:[s,l]=[d,h]}if(Number.isFinite(o)){let d=o+E,h=a(d);Number.isNaN(h)?E/=4:[o,i]=[d,h]}u*=2,E*=2}}else if(f){let u=t(s);for(;r*l>0;)b(),s-=u,l=a(s),u*=2;for(u=t(o);r*i<0;)b(),o+=u,i=a(o),u*=2}if(!(Math.sign(l)*Math.sign(i)<=0))throw new RangeError(f?"did not succeed extending the interval endpoints for f(lower) * f(upper) <= 0":"f() values at end points not of opposite sign");let m=X(u=>P(a(u)),s,o,P(l),P(i),M,x);return{root:m.root,fRoot:a(m.root),iter:f?m.iter+c:m.iter,initIt:f?c:NaN,estimPrec:m.estimPrec}}function P(a){return a===-1/0?-Number.MAX_VALUE:a===1/0||Number.isNaN(a)?Number.MAX_VALUE:a}function X(a,s,o,N,M,x,n){if(N===0)return{root:s,iter:0,estimPrec:0};if(M===0)return{root:o,iter:0,estimPrec:0};let l=Number.EPSILON,i=s,e=o,t=N,r=M,f=i,c=t,b=e-i,m=b;for(let u=0;u<=n;u++){m=e-i,Math.abs(c)<Math.abs(r)&&(i=e,e=f,f=i,t=r,r=c,c=t);let E=2*l*Math.abs(e)+.5*x,d=.5*(f-e);if(Math.abs(d)<=E||r===0)return{root:e,iter:u,estimPrec:Math.abs(f-e)};if(Math.abs(m)>=E&&Math.abs(t)>Math.abs(r)){let h=r/t,w,g;if(i===f)w=2*d*h,g=1-h;else{g=t/c;let L=r/c;w=h*(2*d*g*(g-L)-(e-i)*(L-1)),g=(g-1)*(L-1)*(h-1)}w>0?g=-g:w=-w,h=m,m=b,2*w>=3*d*g-Math.abs(E*g)||w>=Math.abs(.5*h*g)?(b=d,m=b):b=w/g}else b=d,m=b;i=e,t=r,Math.abs(b)>E?e+=b:d>0?e+=E:e-=E,r=a(e),r*(c/Math.abs(c))>0&&(f=i,c=t,b=e-i,m=b)}return{root:e,iter:n,estimPrec:Math.abs(f-e)}}export{k as a,p as b,j as c};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! rStats.js 0.6.1 | MIT License | includes code ported from SciPy, Boost.Math, statsmodels, LAPACK and others: see THIRD_PARTY_NOTICES.md at https://github.com/numero-uno-jpn/rStats.js */
|
|
2
|
+
var _=!0;function xt(){return _}function qt(t,s){if(!_)return[t+s,0];let n=t+s,o=n-t,u=t-(n-o)+(s-o);return[n,u]}function Mt(t,s){if(!_)return[t*s,0];let n=t*s,o=134217729*t,u=o-(o-t),T=t-u;o=134217729*s;let c=o-(o-s),e=s-c,l=u*c-n+u*e+T*c+T*e;return[n,l]}function Dt(t,s){if(!_)return[t[0]+s[0],0];let n=t[0]+s[0],o=n-t[0],u=t[0]-(n-o)+(s[0]-o),T=t[1]+s[1],c=T-t[1],e=t[1]-(T-c)+(s[1]-c),l=u+T,E=n+l,S=l-(E-n)+e,P=E+S,i=S-(P-E);return[P,i]}function mt(t){return[-t[0],-t[1]]}function gt(t,s){if(!_)return[t[0]-s[0],0];let n=-s[0],o=-s[1],u=t[0]+n,T=u-t[0],c=t[0]-(u-T)+(n-T),e=t[1]+o,l=e-t[1],E=t[1]-(e-l)+(o-l),L=c+e,S=u+L,i=L-(S-u)+E,m=S+i,j=i-(m-S);return[m,j]}function At(t,s){if(!_)return[t[0]*s[0],0];let n=t[0]*s[0],o=134217729*t[0],u=o-(o-t[0]),T=t[0]-u,c=134217729*s[0],e=c-(c-s[0]),l=s[0]-e,L=u*e-n+u*l+T*e+T*l+(t[0]*s[1]+t[1]*s[0]),S=n+L,P=L-(S-n);return[S,P]}function Nt(t,s){if(!_)return[t[0]*s,0];let n=t[0]*s,o=134217729*t[0],u=o-(o-t[0]),T=t[0]-u,c=134217729*s,e=c-(c-s),l=s-e,L=u*e-n+u*l+T*e+T*l+t[1]*s,S=n+L,P=L-(S-n);return[S,P]}function vt(t,s){if(!_)return[t[0]/s[0],0];let n=t[0]/s[0],o=s[0]*n,u=134217729*s[0],T=u-(u-s[0]),c=s[0]-T,e=134217729*n,l=e-(e-n),E=n-l,S=T*l-o+T*E+c*l+c*E+s[1]*n,P=o+S,i=S-(P-o),m=-P,j=-i,f=t[0]+m,Y=f-t[0],P1=t[0]-(f-Y)+(m-Y),N=t[1]+j,y=N-t[1],d1=t[1]-(N-y)+(j-y),Z=P1+N,d=f+Z,v=Z-(d-f)+d1,p=d+v,z=v-(p-d),h=p/s[0],B=s[0]*h,o1=134217729*s[0],G=o1-(o1-s[0]),F=s[0]-G,u1=134217729*h,O=u1-(u1-h),R=h-O,w=G*O-B+G*R+F*O+F*R+s[1]*h,H=B+w,T1=w-(H-B),J=-H,$=-T1,q=p+J,K=q-p,b1=p-(q-K)+(J-K),a=z+$,s1=a-z,r1=z-(a-s1)+($-s1),c1=b1+a,Q=q+c1,k=c1-(Q-q)+r1,t1=Q+k,F1=k-(t1-Q),U=t1/s[0],M=n+h,V=h-(M-n),D=M+U,W=D-M,q1=M-(D-W)+(U-W),C=V+0,g=C-V,e1=V-(C-g)+(0-g),x=q1+C,A=D+x,X=x-(A-D)+e1,n1=A+X,l1=X-(n1-A);return[n1,l1]}function Bt(t,s){if(!_)return[t[0]/s,0];let n=t[0]/s,o=s*n,u=134217729*s,T=u-(u-s),c=s-T,e=134217729*n,l=e-(e-n),E=n-l,S=T*l-o+T*E+c*l+c*E+0*n,P=o+S,i=S-(P-o),m=-P,j=-i,f=t[0]+m,Y=f-t[0],P1=t[0]-(f-Y)+(m-Y),N=t[1]+j,y=N-t[1],d1=t[1]-(N-y)+(j-y),Z=P1+N,d=f+Z,v=Z-(d-f)+d1,p=d+v,z=v-(p-d),h=p/s,B=s*h,o1=134217729*s,G=o1-(o1-s),F=s-G,u1=134217729*h,O=u1-(u1-h),R=h-O,w=G*O-B+G*R+F*O+F*R+0*h,H=B+w,T1=w-(H-B),J=-H,$=-T1,q=p+J,K=q-p,b1=p-(q-K)+(J-K),a=z+$,s1=a-z,r1=z-(a-s1)+($-s1),c1=b1+a,Q=q+c1,k=c1-(Q-q)+r1,t1=Q+k,F1=k-(t1-Q),U=t1/s,M=n+h,V=h-(M-n),D=M+U,W=D-M,q1=M-(D-W)+(U-W),C=V+0,g=C-V,e1=V-(C-g)+(0-g),x=q1+C,A=D+x,X=x-(A-D)+e1,n1=A+X,l1=X-(n1-A);return[n1,l1]}var f1=[.6931471805599453,23190468138462996e-33],g2=Math.SQRT2,r=[[1,0],[.3333333333333333,1850371707708594e-32],[.2,-11102230246251566e-33],[.14285714285714285,793016446160826e-32],[.1111111111111111,61679056923619804e-34],[.09090909090909091,-2523234146875356e-33]],tt=89,nt=[[-.3633938941874773,-2106844752226605e-32],[-.3522205935893521,-57233316949182485e-34],[-.34117075740276714,19366790062602867e-33],[-.33024168687057687,10828321637483858e-33],[-.3194307707663612,-1354256857264811e-33],[-.3087354816496133,16199186085148102e-33],[-.29815337231907635,1720695867445866e-32],[-.2876820724517809,-2607160616442564e-32],[-.27731928541623435,744528405583513e-32],[-.26706278524904525,732891532732017e-32],[-.2569104137850272,-2502843296152504e-32],[-.24686007793152578,-1361743371748368e-32],[-.2369097470783577,-19682402978398164e-34],[-.22705745063534608,-9551415762738488e-33],[-.2173012756899814,-16168452453763015e-34],[-.2076393647782445,-12053243216686129e-33],[-.1980699137620938,-3742843482461439e-33],[-.18859116980755003,7432164219196925e-33],[-.179201429457711,10785017454858423e-33],[-.16989903679539747,4868008764439071e-34],[-.16068238169047347,3650183553047837e-33],[-.15154989812720093,-51669593684615594e-34],[-.14250006260728304,9926388234225749e-33],[-.13353139262452263,3664457663660085e-33],[-.1246424452072766,5808912678940971e-33],[-.1158318155251217,-4338484369808096e-33],[-.1070981355563671,173705104015906e-32],[-.09844007281325252,4439009633675136e-33],[-.08985632912186105,6273760163689594e-34],[-.0813456394539524,-507707635593117e-32],[-.07290677080808779,6306860257532778e-33],[-.06453852113757118,6470486661692933e-33],[-.05623971832287608,32835149805605613e-34],[-.048009219186360606,-14390903347292205e-34],[-.039845908547199674,3129547680315208e-33],[-.0317486983145803,-30382263084680858e-34],[-.023716526617316044,15774243488668215e-34],[-.015748356968139168,-10021578630528974e-34],[-.007843177461025893,-2764708154124904e-34],[0,0],[.007782140442054949,-12819179123343845e-36],[.015504186535965254,-3278321022892429e-34],[.02316705928153438,-11769544932063305e-34],[.030771658666753687,10431732029005968e-34],[.0383188643021366,-2357996157351286e-33],[.0458095360312942,1902959866474257e-33],[.053244514518812285,-1665575816973663e-33],[.06062462181643484,26424025938726934e-34],[.06795066190850775,-12802141240611733e-34],[.07522342123758753,-5930604196293241e-33],[.08244366921107459,5700437773813987e-33],[.08961215868968714,-54268129336647135e-34],[.09672962645855111,-5597397486289965e-34],[.10379679368164356,547772415726659e-32],[.11081436634029011,1183748342825649e-33],[.11778303565638346,-11971685747593677e-34],[.12470347850095724,-46522609636496624e-34],[.13157635778871926,11123000879729588e-33],[.13840232285911913,4447777301357527e-33],[.1451820098444979,8242418783022475e-33],[.15191604202584197,64838631244022194e-34],[.15860503017663857,11257003872182592e-33],[.16524957289530717,-10094935622322628e-33],[.17185025692665923,-60224538210113705e-34],[.1784076574728183,-12432553788701131e-33],[.184922338494012,30236614153574064e-34],[.19139485299962947,-12129496905792884e-33],[.19782574332991987,12821194372980142e-33],[.2042155414286909,27338281018722773e-34],[.21056476910734964,-4249405314729895e-33],[.21687393830061436,4551026193234283e-33],[.22314355131420976,-9091270597324799e-33],[.22937410106484582,9927671823978025e-33],[.2355660713127669,-23943371495187355e-34],[.24171993688714516,8900990022166643e-33],[.24783616390458127,-12432209578702523e-33],[.25391520998096345,-8048097394424201e-33],[.25995752443692605,2069806938978935e-32],[.26596354849713794,53393802761314314e-34],[.27193371548364176,783319637697442e-33],[.2778684510034563,-916018294909263e-33],[.2837681731306446,-2032665581126656e-32],[.28963329258304266,20535953219858174e-33],[.2954642128938359,-216461086040599e-31],[.3012613305781618,-9048511144048564e-33],[.3070250352949119,-12319916200101964e-33],[.3127557100038969,-1451808353098951e-32],[.3184537311185346,27114779367326236e-33],[.324119468654212,-7958214381893813e-33],[.329753286372468,2122020616196946e-33],[.3353555419211378,1834564437059473e-32],[.3409265869705932,17467136443544747e-33],[.34646676734620857,1028583585496265e-32],[.3519764231571782,-12953893030191963e-33],[.3574558889218038,-25136910072413547e-33]];function Gt(t){if(!_)return[Math.log(t[0]),0];let s=t[0],n=t[1],o=0;s<22250738585072014e-324&&(s*=2**600,n*=2**600,o=-600);let u=Math.floor(Math.log2(s));o+=u;let T=2**-u,c=s*T,e=n*T;c>=g2?(c=c/2,e=e/2,o+=1):c<g2/2&&(c=c*2,e=e*2,o-=1);let l=Math.round(c*128),E=l/128,L=nt[l-tt],S=-E,P=-0,i=c+S,m=i-c,j=c-(i-m)+(S-m),f=e+P,Y=f-e,P1=e-(f-Y)+(P-Y),N=j+f,y=i+N,Z=N-(y-i)+P1,d=y+Z,I1=Z-(d-y),v=c+E,p=v-c,z=c-(v-p)+(E-p),h=e+0,B=h-e,o1=e-(h-B)+(0-B),G=z+h,F=v+G,O=G-(F-v)+o1,R=F+O,w1=O-(R-F),w=d/R,H=R*w,T1=134217729*R,J=T1-(T1-R),$=R-J,q=134217729*w,K=q-(q-w),b1=w-K,s1=J*K-H+J*b1+$*K+$*b1+w1*w,r1=H+s1,c1=s1-(r1-H),Q=-r1,x1=-c1,k=d+Q,t1=k-d,F1=d-(k-t1)+(Q-t1),U=I1+x1,M=U-I1,V=I1-(U-M)+(x1-M),D=F1+U,W=k+D,C=D-(W-k)+V,g=W+C,e1=C-(g-W),x=g/R,A=R*x,M1=134217729*R,X=M1-(M1-R),n1=R-X,l1=134217729*x,H1=l1-(l1-x),K0=x-H1,U0=X*H1-A+X*K0+n1*H1+n1*K0+w1*x,V0=A+U0,A2=U0-(V0-A),W0=-V0,X0=-A2,D1=g+W0,Y0=D1-g,N2=g-(D1-Y0)+(W0-Y0),J1=e1+X0,Z0=J1-e1,v2=e1-(J1-Z0)+(X0-Z0),$0=N2+J1,K1=D1+$0,a0=$0-(K1-D1)+v2,ss=K1+a0,et=a0-(ss-K1),ts=ss/R,m1=w+x,U1=x-(m1-w),g1=m1+ts,ns=g1-m1,B2=m1-(g1-ns)+(ts-ns),V1=U1+0,os=V1-U1,G2=U1-(V1-os)+(0-os),cs=B2+V1,W1=g1+cs,es=cs-(W1-g1)+G2,I=W1+es,X1=es-(I-W1),Y1=I*I,us=134217729*I,Z1=us-(us-I),Ts=I-Z1,bs=134217729*I,$1=bs-(bs-I),rs=I-$1,ls=Z1*$1-Y1+Z1*rs+Ts*$1+Ts*rs+(I*X1+X1*I),b=Y1+ls,p1=ls-(b-Y1),a1=r[5][0]*b,Ss=134217729*r[5][0],s0=Ss-(Ss-r[5][0]),hs=r[5][0]-s0,Ls=134217729*b,t0=Ls-(Ls-b),Rs=b-t0,Es=s0*t0-a1+s0*Rs+hs*t0+hs*Rs+(r[5][0]*p1+r[5][1]*b),A1=a1+Es,n0=Es-(A1-a1),N1=A1+r[4][0],Ps=N1-A1,O2=A1-(N1-Ps)+(r[4][0]-Ps),o0=n0+r[4][1],Is=o0-n0,Q2=n0-(o0-Is)+(r[4][1]-Is),ps=O2+o0,c0=N1+ps,is=ps-(c0-N1)+Q2,S1=c0+is,k2=is-(S1-c0),e0=S1*b,fs=134217729*S1,u0=fs-(fs-S1),ds=S1-u0,ws=134217729*b,T0=ws-(ws-b),xs=b-T0,qs=u0*T0-e0+u0*xs+ds*T0+ds*xs+(S1*p1+k2*b),v1=e0+qs,b0=qs-(v1-e0),B1=v1+r[3][0],Ms=B1-v1,C2=v1-(B1-Ms)+(r[3][0]-Ms),r0=b0+r[3][1],Ds=r0-b0,_2=b0-(r0-Ds)+(r[3][1]-Ds),ms=C2+r0,l0=B1+ms,gs=ms-(l0-B1)+_2,h1=l0+gs,j2=gs-(h1-l0),S0=h1*b,As=134217729*h1,h0=As-(As-h1),Ns=h1-h0,vs=134217729*b,L0=vs-(vs-b),Bs=b-L0,Gs=h0*L0-S0+h0*Bs+Ns*L0+Ns*Bs+(h1*p1+j2*b),G1=S0+Gs,R0=Gs-(G1-S0),O1=G1+r[2][0],Os=O1-G1,y2=G1-(O1-Os)+(r[2][0]-Os),E0=R0+r[2][1],Qs=E0-R0,z2=R0-(E0-Qs)+(r[2][1]-Qs),ks=y2+E0,P0=O1+ks,Cs=ks-(P0-O1)+z2,L1=P0+Cs,F2=Cs-(L1-P0),I0=L1*b,_s=134217729*L1,p0=_s-(_s-L1),js=L1-p0,ys=134217729*b,i0=ys-(ys-b),zs=b-i0,Fs=p0*i0-I0+p0*zs+js*i0+js*zs+(L1*p1+F2*b),Q1=I0+Fs,f0=Fs-(Q1-I0),k1=Q1+r[1][0],Hs=k1-Q1,H2=Q1-(k1-Hs)+(r[1][0]-Hs),d0=f0+r[1][1],Js=d0-f0,J2=f0-(d0-Js)+(r[1][1]-Js),Ks=H2+d0,w0=k1+Ks,Us=Ks-(w0-k1)+J2,R1=w0+Us,K2=Us-(R1-w0),x0=R1*b,Vs=134217729*R1,q0=Vs-(Vs-R1),Ws=R1-q0,Xs=134217729*b,M0=Xs-(Xs-b),Ys=b-M0,Zs=q0*M0-x0+q0*Ys+Ws*M0+Ws*Ys+(R1*p1+K2*b),C1=x0+Zs,D0=Zs-(C1-x0),_1=C1+r[0][0],$s=_1-C1,U2=C1-(_1-$s)+(r[0][0]-$s),m0=D0+r[0][1],as=m0-D0,V2=D0-(m0-as)+(r[0][1]-as),s2=U2+m0,g0=_1+s2,t2=s2-(g0-_1)+V2,E1=g0+t2,W2=t2-(E1-g0),A0=I*E1,n2=134217729*I,N0=n2-(n2-I),o2=I-N0,c2=134217729*E1,v0=c2-(c2-E1),e2=E1-v0,u2=N0*v0-A0+N0*e2+o2*v0+o2*e2+(I*W2+X1*E1),i1=A0+u2,X2=u2-(i1-A0),B0=i1*2,T2=134217729*i1,G0=T2-(T2-i1),b2=i1-G0,r2=134217729*2,O0=r2-(r2-2),l2=2-O0,S2=G0*O0-B0+G0*l2+b2*O0+b2*l2+X2*2,Q0=B0+S2,h2=S2-(Q0-B0),j1=L[0]+Q0,L2=j1-L[0],Y2=L[0]-(j1-L2)+(Q0-L2),k0=L[1]+h2,R2=k0-L[1],Z2=L[1]-(k0-R2)+(h2-R2),E2=Y2+k0,C0=j1+E2,P2=E2-(C0-j1)+Z2,y1=C0+P2,_0=P2-(y1-C0),j0=f1[0]*o,I2=134217729*f1[0],y0=I2-(I2-f1[0]),p2=f1[0]-y0,i2=134217729*o,z0=i2-(i2-o),f2=o-z0,d2=y0*z0-j0+y0*f2+p2*z0+p2*f2+f1[1]*o,F0=j0+d2,w2=d2-(F0-j0),z1=y1+F0,x2=z1-y1,$2=y1-(z1-x2)+(F0-x2),H0=_0+w2,q2=H0-_0,a2=_0-(H0-q2)+(w2-q2),M2=$2+H0,J0=z1+M2,D2=M2-(J0-z1)+a2,m2=J0+D2,st=D2-(m2-J0);return[m2,st]}export{xt as a,qt as b,Mt as c,Dt as d,mt as e,gt as f,At as g,Nt as h,vt as i,Bt as j,Gt as k};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! rStats.js 0.6.1 | MIT License | includes code ported from SciPy, Boost.Math, statsmodels, LAPACK and others: see THIRD_PARTY_NOTICES.md at https://github.com/numero-uno-jpn/rStats.js */
|
|
2
|
+
import{B as $,d as ct,e as Y,g as C,h as j,i as U,o as lt,p as X,q as gt,r as bt,s as ht,t as It,u as kt,y as Z,z as Mt}from"./chunk-QNAIK4PY.js";import{b as T,c as G,d as b,e as at,f as V,g as D,h as F,i as B,j as pt,k as P}from"./chunk-UGUQYWRQ.js";function vt(t,n){return t?n?-1/0:0:n?0:1}function xt(t,n){return t?n?0:1:n?-1/0:0}function yt(t){return t?-1/0:0}function w(t,n,e,r,i){if(i){if(t>0)return NaN;if(t===0)return r?e:n;if(t===-1/0)return r?n:e}else{if(t<0||t>1)return NaN;if(t===0)return r?n:e;if(t===1)return r?e:n}}function tt(t,n,e){let r=e?t:Math.log(t);if(r<=-Math.LN2)return e?{lower:n,logTarget:r}:{lower:n,logTarget:r,linearTarget:t};let i=e?-Math.expm1(t):1-t;return{lower:!n,logTarget:Math.log(i),linearTarget:i}}function nt(t){let{logTarget:n,lower:e,cdfLog:r,pdfLog:i,linearTarget:o,cdf:u,cdfBoth:s,dlogPdf:f}=t,c=(k,I)=>{if(o!==void 0&&u!==void 0&&I>-700){let v=u(k,e);if(v>0)return Math.log(v/o)}return I-n},M=k=>{if(s===void 0){let p=r(k,e);return[p,c(k,p)]}let[I,v]=s(k,e);return o!==void 0&&I>-700&&v>0?[I,Math.log(v/o)]:[I,I-n]},l=t.positive??!1,h=t.maxIter??200,a=l?Math.exp:k=>k,N=l?Math.log(t.lo):t.lo,d=l?Math.log(t.hi):t.hi,m=l?Math.log(t.x0):t.x0;m>N&&m<d||(m=Ft(N,d,NaN));let x=m,L=1/0;for(let k=0;k<h;k++){let I=a(m),[v,p]=M(I);if(Math.abs(p)<L&&(L=Math.abs(p),x=m),p===0)return I;p<0===e?N=m:d=m;let y=(e?1:-1)*Math.exp(i(I)-v+(l?Math.log(I):0)),_=p/y;if(l&&f!==void 0){let q=y*(1+I*f(I))-y*y,ft=2*p*y/(2*y*y-p*q),A=ft/_;A>=.5&&A<=2&&(_=ft)}let S=m-_,R=S===m&&Number.isFinite(y)&&y!==0;!R&&(!Number.isFinite(S)||S<=N||S>=d)&&(S=Ft(N,d,m));let z=l?Math.abs(S-m)<=2e-16:Math.abs(S-m)<=4e-16*Math.abs(m);if(R||z)return g(a(x));if(N===d)break;m=S}return g(a(x));function g(k){if(!l||!(k>0)||!Number.isFinite(k)||Math.abs(Math.log(k))<=2)return k;let I=k,[v,p]=M(I);for(let y=0;y<4&&p!==0;y++){let _=(e?1:-1)*Math.exp(i(I)-v),S=I-p/_;if(!(S>0)||!Number.isFinite(S)||S===I)break;let[R,z]=M(S);if(!(Math.abs(z)<Math.abs(p)))break;I=S,v=R,p=z}return I}}function Ft(t,n,e){if(Number.isFinite(t)&&Number.isFinite(n))return t+(n-t)/2;if(Number.isFinite(t)){let r=Number.isFinite(e)?Math.max(e,t):t;return r+Math.max(1,Math.abs(r))}if(Number.isFinite(n)){let r=Number.isFinite(e)?Math.min(e,n):n;return r-Math.max(1,Math.abs(r))}return Number.isFinite(e)?e*2+1:0}var J=4503599627370496,H=2220446049250313e-31;function St(t,n,e,r){return ht(t,n,e,r,!0)+Math.log(t)+Math.log(n)-Math.log(t+n)}function Tt(t,n,e,r){return ht(t,n,e,r,!1)*(t*n/(t+n))}var Ct=22250738585072014e-324*1e3;function _t(t,n,e,r,i){let{e:o}=It(t,n,e,r),u=i*(t*n/(t+n))/Math.sqrt(2*Math.PI*t*(n/(t+n)));if(!(o[0]<1400)||!Number.isFinite(u)||u===0)return;let s=Math.exp(700-o[0])*(1-o[1])*u*Math.exp(-700);return s>0?s:void 0}function Wt(t,n,e){let r=(1-n)*e,i=r/(t+1),o=i,u=r,s=2,f=0;for(;(Math.abs(i)>U*Math.abs(f+o)||s<4)&&!(s>1e7);)r=(s-n)*e/s,u*=r,i=u/(t+s),f+=i,s+=1;return f+o}function Dt(t,n,e,r){let i=e[0],o=t*(Math.log(i)+e[1]/i)+Mt(t,n)-lt(t),u=Math.exp(o),s=-Math.expm1(o)-u*t*Wt(t,n,i);return r?Math.log(s):s}function et(t,n,e,r,i){let o=e[0],u=1/t,s=(1-n)*o,f=s/(t+1),c=f,M=s,l=2,h=0,a=U*u;for(;Math.abs(f)>a;)s=(l-n)*o/l,M*=s,f=M/(t+l),h+=f,l+=1;h+=c,h+=u;let N=Xt(e);if(!i){let m=Tt(t,n,e,r);if(m>Ct)return h*m/Math.exp(n*N);let x=_t(t,n,e,r,h/Math.exp(n*N));if(x!==void 0)return x}let d=Math.log(h)+St(t,n,e,r)-n*N;return i?d:Math.exp(d)}function Lt(t,n,e,r,i){let o=i?B(e,r):e,u=Math.max(t,n)>=2**52,s=t,f=i?T(n,-1):T(t,n),c=t,M=t+1,l=1,h=i?T(t,n):T(n,-1),a=t+1,N=t+2,d=[t,0],m=[t,0],x=T(t,1),L=T(t,1),g=T(t,2),k=i?-1:1,I=[0,0],v=[1,0],p=[1,0],y=[1,0],_=[1,0];for(let S=0;S<1e5;S++){let R=u?B(D(D(o,d),f),D(m,x)):B(D(F(o,s),f),G(c,M)),z=V(p,D(I,R)),q=V(y,D(v,R));if(I=p,p=z,v=y,y=q,R=B(D(F(o,l),h),u?D(L,g):G(a,N)),z=b(p,D(I,R)),q=b(y,D(v,R)),I=p,p=z,v=y,y=q,q[0]!==0){let A=B(z,q),Ht=A[0]!==0?Math.abs((_[0]-A[0])/A[0]):1;if(_=A,Ht<U&&S>1)break}f=b(f,[k,0]),h=b(h,[-k,0]),l+=1,u?(d=b(d,[1,0]),m=b(m,[2,0]),x=b(x,[2,0]),L=b(L,[2,0]),g=b(g,[2,0])):(s+=1,c+=2,M+=2,a+=2,N+=2),Math.abs(q[0])+Math.abs(z[0])>J&&(I=F(I,H),p=F(p,H),v=F(v,H),y=F(y,H)),(Math.abs(q[0])<H||Math.abs(z[0])<H)&&(I=F(I,J),p=F(p,J),v=F(v,J),y=F(y,J))}return _[0]+_[1]}function rt(t,n,e){return n*e<=1&&e<=.95}function it(t,n,e){return e<=t/(t+n)}function O(t,n,e,r,i){let o=e[0],u=r[0],f=o*(t+n-2)-(t-1)<0?Lt(t,n,e,r,!1):Lt(t,n,e,r,!0)/u;if(!i){let M=Tt(t,n,e,r);if(M>Ct)return M*(f/t);let l=_t(t,n,e,r,f/t);if(l!==void 0)return l}let c=St(t,n,e,r)-Math.log(t)+Math.log(f);return i?c:Math.exp(c)}function mn(t,n,e,r,i,o){if(e<=0)return i?o?-1/0:0:o?0:1;if(r<=0)return i?o?0:1:o?-1/0:0;let u=e<=r?[e,0]:T(1,-r),s=e<=r?T(1,-e):[r,0];return mt(t,n,u,s,i,o)}function mt(t,n,e,r,i,o){let u=Nt(t,n,e,r,i,o);return o?u[0]:u[1]}function zt(t,n,e,r,i){return Nt(t,n,e,r,i,!0)}function Nn(t,n,e,r,i){if(e<=0)return i?[-1/0,0]:[0,1];if(r<=0)return i?[0,1]:[-1/0,0];let o=e<=r?[e,0]:T(1,-r),u=e<=r?T(1,-e):[r,0];return Nt(t,n,o,u,i,!0)}function Nt(t,n,e,r,i,o){if(e[0]<=0)return i?[-1/0,0]:[0,1];if(r[0]<=0)return i?[0,1]:[-1/0,0];let u=22250738585072014e-324;if(e[0]<u||r[0]<u){let g=e[0]<u,[k,I,v]=g?[t,n,e]:[n,t,r],p=b(F(P(v),k),[Mt(k,I)-lt(k),0]),y=p[0]+p[1];return g===i?[y,Math.exp(p[0])*(1+p[1])]:[o?Math.log1p(-Math.exp(y)):NaN,-Math.expm1(y)]}let[s,f,c,M]=i?[t,n,e,r]:[n,t,r,e],[l,h,a,N]=i?[n,t,r,e]:[t,n,e,r],d=(g,k)=>{if(!o)return[NaN,g];if(g>.5){let I=k();if(I!==void 0)return[Math.log1p(-I),g]}return[Math.log(g),g]},m=()=>{if(rt(l,h,a[0]))return et(l,h,a,N,!1);if(rt(s,f,c[0])){let g=Dt(s,f,c,!1);return s*Math.abs(Math.log(c[0]))>32*g&&it(l,h,a[0])?O(l,h,a,N,!1):g}if(it(l,h,a[0]))return O(l,h,a,N,!1)},x=1e-290;if(rt(s,f,c[0])){let g=et(s,f,c,M,!1);return o&&g<x?[et(s,f,c,M,!0),g]:d(g,m)}if(rt(l,h,a[0])){let g=Dt(l,h,a,!1);if(l*Math.abs(Math.log(a[0]))>32*g&&it(s,f,c[0])){let k=O(s,f,c,M,!1);return o&&k<x?[O(s,f,c,M,!0),k]:d(k,m)}return d(g,()=>et(l,h,a,N,!1))}if(it(s,f,c[0])){let g=O(s,f,c,M,!1);return o&&g<x?[O(s,f,c,M,!0),g]:d(g,m)}let L=O(l,h,a,N,!1);return[o?Math.log1p(-L):NaN,1-L]}function Xt(t){return Math.log1p(-t[0])-t[1]/(1-t[0])}var Q=.9189385332046728,Jt=.7978845608028654,Bt=[.6931471805599453,23190468138462996e-33];function Kt(t){let n=Math.round(t[0]/Bt[0]),e=b(t,F(Bt,-n)),r=[e[0]/256,e[1]/256],i=[1,0],o=[1,0];for(let s=1;s<=12&&(i=D(i,r),i=[i[0]/s,i[1]/s],o=b(o,i),!(Math.abs(i[0])<1e-34));s++);for(let s=0;s<8;s++)o=D(o,o);let u=2**n;return[o[0]*u,o[1]*u]}function Ut(t,n){if(Math.abs(t[0])<1e-6){let e=D(t,t),r=F(D(e,t),1/6);return b(b([e[0]/2,e[1]/2],r),[e[0]*e[0]/24,0])}return b(b(n,[-1,0]),[-t[0],-t[1]])}function Pt(t){if(Math.abs(t)<.1){let n=t*t/2,e=n;for(let r=3;r<30&&(n*=t/r,e+=n,!(Math.abs(n)<=1e-17*e));r++);return e}return Math.expm1(t)-t}function st(t){return t<0?Jt/ct(-t*Math.SQRT1_2):Math.exp(-.5*t*t-Q)/C(t)}function dt(t,n){let{a:e,t:r,delta:i}=t,o=Math.exp(n),u=Math.exp(n/2),s=r*u,f=s-i,c=Pt(n);if(t.kind==="cdfQ"||t.kind==="cdfP"){let a=e*o,N=t.kind==="cdfQ",d=Z(e,a,!N,!0),m=e*Math.exp(kt(e,a,!0)-d),x=N?-1:1,L=Math.log(r/2)+n/2-.5*f*f-Q+d,g=.5-f*s/2+x*m,k=-(s*s)/4-f*s/4+x*m*(e-a)-m*m;return[L,g,k]}let M=t.logC-e*c,l=-e*Math.expm1(n),h=-e*o;if(t.kind==="cdf"){let a=st(f);M+=C(f,{logP:!0}),l+=s/2*a,h+=s/4*a-s/2*(s/2)*a*(f+a)}else M+=n/2-.5*f*f-Q,l+=.5-f*s/2,h+=-(s*s)/4-f*s/4;return[M,l,h]}function Qt(t){let n=0,[e,r,i]=dt(t,n);for(let u=0;u<200;u++){let s=i<0?-r/i:Math.sign(r);Number.isFinite(s)||(s=Math.sign(r)||0),s=Math.max(-4,Math.min(4,s));let f=n+s,c=dt(t,f);for(let l=0;l<60&&!(c[0]>=e);l++)s/=2,f=n+s,c=dt(t,f);if(!(c[0]>=e))break;let M=Math.abs(s)<1e-10*Math.max(1,Math.abs(n));if(n=f,[e,r,i]=c,M)break}let o=i<0?Math.min(1/Math.sqrt(-i),10):1;return{w:n,sigma:o,L:e}}function Zt(t){let n=t[0],e=t[1]*st(n);if(n>-5)return T(C(n,{logP:!0}),e);let r=D(t,t);return b([-r[0]/2,-r[1]/2],[Math.log(.5*ct(-n*Math.SQRT1_2)),0])}function $t(t,n,e,r=1/0){let{a:i,t:o,delta:u}=t;if(!e&&(t.kind==="cdf"||t.kind==="pdf")){let a=n[0]+n[1],N=Math.exp(a/2),d=i*Pt(a),m=o*N,x=m-u,L=Math.exp(t.logC-d);if(t.kind==="cdf"){let g=L*C(x);if((d+st(x)*Math.abs(m))*g<=4*r)return[g,0]}else{let g=L*Math.exp(-.5*x*x-Q)*N;if((d+Math.abs(x*m)+x*x)*g<=4*r)return[g,0]}}let s=Kt([n[0]/2,n[1]/2]),f=D(s,s);if(t.kind==="cdfQ"||t.kind==="cdfP"){let a=b(F(s,o),[-u,0]),N=D(a,a),d=i*f[0]+i*f[1],m=t.kind==="cdfP";if(e){let L=Math.log(o/2)+Math.log(s[0])+s[1]/s[0]-Q+Z(i,d,m,!0);return b([-N[0]/2,-N[1]/2],[L,0])}let x=Z(i,d,m,!1);return[o/2*(s[0]+s[1])*Math.exp(-.5*N[0]-Q)*(1-N[1]/2)*x,0]}let c=F(Ut(n,f),i);if(!(c[0]<1/0))return[e?-1/0:0,0];let M=b(F(s,o),[-u,0]),l=M[0];if(t.kind==="cdf"){if(e)return b([t.logC-c[0],-c[1]],Zt(M));let a=M[1]*st(l);return[Math.exp(t.logC-c[0])*(1-c[1])*C(l)*(1+a),0]}let h=D(M,M);return e?b(b([t.logC-c[0],-c[1]],[-h[0]/2,-h[1]/2]),[n[0]/2-Q,n[1]/2]):[Math.exp(t.logC-c[0]-.5*h[0]-Q)*(1-c[1]-h[1]/2)*(s[0]+s[1]),0]}function Rt(t,n,e,r,i,o,u,s){let f=0,c=l=>{let h=Math.exp(-l),a=e/2*(l-Math.expm1(-l)),N=$t(t,T(n,a),i,s),d=e/2*(1+h);return i?Math.exp(N[0]-o)*(1+N[1])*d:N[0]*d},M=u?1:0;u||(f+=c(0));for(let l of[1,-1]){let h=0;for(let a=u?M:1;a<1e5;a+=u?2:1){let N=l*a*r,d=c(N);f+=d;let m=Math.abs(f);if(d>1e-19*m)h=0;else if(h++,h>=3)break;if(Math.abs(N)>40)break}}return f}function W(t,n){if(t.kind==="cdf"){let e=Qt(t),r=Math.exp(e.w/2),i=Math.min(1/Math.sqrt(t.a*Math.exp(e.w)),10);if(Math.abs(t.t)*r*i/2>2){if(t.t>0){let o=ot({...t,kind:"cdfQ"},n);return{lin:C(-t.delta)+o.lin,log:n?wt(C(-t.delta,{logP:!0}),o.log):NaN}}return ot({...t,t:-t.t,delta:-t.delta,kind:"cdfP"},n)}return ot(t,n,e)}return ot(t,n)}function wt(t,n){return t===-1/0?n:n===-1/0?t:t>n?t+Math.log1p(Math.exp(n-t)):n+Math.log1p(Math.exp(t-n))}function ot(t,n,e){let{w:r,sigma:i,L:o}=e??Qt(t);if(!n&&o<-800)return{lin:0,log:NaN};let u=o<-650||o>650,s=u?o:0,f=u?0:Math.exp(o),c=u?Math.max(1e-15,2e-16*Math.abs(o)):1e-15,M=.5,l=Rt(t,r,i,M,u,s,!1,f)*M;for(let a=0;a<6;a++){let N=Rt(t,r,i,M/2,u,s,!0,f)*(M/2),d=l/2+N;M/=2;let m=Math.abs(d-l)<=c*Math.abs(d);if(l=d,m)break}return u?{lin:s>-700?Math.exp(s)*l:Math.exp(s+700)*l*Math.exp(-700),log:s+Math.log(l)}:{lin:l,log:Math.log(l)}}function E(t,n,e,r){return{a:t,t:n,delta:e,kind:r,logC:.5*Math.log(t)-Q-X(t)}}function K(t,n){return 1e10*(Math.abs(n)+10)*Math.sqrt(t+1)}function Et(t,n,e){let r=K(n,e),i=Math.sign(t),o=Math.min(Math.abs(t),r),u=i>0?E(n,-o,-e,"cdf"):E(n,-o,e,"cdf"),s=W(u,!0).log;return Math.abs(t)>r?s+2*n*(Math.log(r)-Math.log(Math.abs(t))):s}function qt(t,n,e,r){let i=n/2;if(Math.abs(t)>K(i,e)){let s=Et(t,i,e);return(t>0?!r:r)?{lin:Math.exp(s),log:s}:{lin:-Math.expm1(s),log:Math.log1p(-Math.exp(s))}}let o=W(r?E(i,t,e,"cdf"):E(i,-t,-e,"cdf"),!0);if(o.lin<=.5)return o;let u;return{lin:o.lin,get log(){return u??=Math.log1p(-W(r?E(i,-t,-e,"cdf"):E(i,t,e,"cdf"),!1).lin),u}}}function tn(t,n,e,r,i){if(!i){let u=n/2;if(Math.abs(t)<=K(u,e))return W(r?E(u,t,e,"cdf"):E(u,-t,-e,"cdf"),!1).lin}let o=qt(t,n,e,r);return i?o.log:o.lin}function At(t,n,e,r){let i=n/2,o=K(i,e);if(Math.abs(t)>o){let s=Math.sign(t)*o,f=W(E(i,s,e,"pdf"),!0).log+(2*i+1)*(Math.log(o)-Math.log(Math.abs(t)));return r?f:Math.exp(f)}let u=W(E(i,t,e,"pdf"),r);return r?u.log:u.lin}function Gt(t,n,e,r){if(Number.isNaN(t)||Number.isNaN(n)||Number.isNaN(e))return NaN;if(n<=0)return NaN;if(!Number.isFinite(t)||!Number.isFinite(e))return r?-1/0:0;if(n===1/0){let i=t-e,o=-.5*i*i-Q;return r?o:Math.exp(o)}return At(t,n,e,r)}function Yt(t,n,e,r,i){if(Number.isNaN(t)||Number.isNaN(n)||Number.isNaN(e))return NaN;if(n<=0)return NaN;let o=r?i?-1/0:0:i?0:1,u=r?i?0:1:i?-1/0:0;return t===1/0?u:t===-1/0||e===1/0?o:e===-1/0?u:n===1/0?C(t-e,{lowerTail:r,logP:i}):t===0?C(-e,{lowerTail:r,logP:i}):tn(t,n,e,r,i)}function Ot(t,n,e,r,i){if(Number.isNaN(t)||Number.isNaN(n)||Number.isNaN(e))return NaN;if(n<=0)return NaN;let o=w(t,-1/0,1/0,r,i);if(o!==void 0)return o;if(n===1/0)return e+j(t,{lowerTail:r,logP:i});if(!Number.isFinite(e))return NaN;let{lower:u,logTarget:s,linearTarget:f}=tt(t,r,i),c=j(s,{lowerTail:u,logP:!0}),M=e+c*Math.sqrt(1+e*e/(2*n)),l=C(-e,{lowerTail:u,logP:!0}),h=u?s>l:s<l;if(s===l)return 0;let a=h?1:-1,N=a>0?u:!u,d=NaN,m=!0,x={lin:NaN,log:NaN},L=(v,p,y)=>((v!==d||p!==m)&&(x=qt(a*v,n,e,a>0?p:!p),d=v,m=p),y?x.log:x.lin),g=K(n/2,e),k=1/0;if(!N){let v=Et(a*g,n/2,e);if(s<v){let p=Math.log(g)+(v-s)/n;return p>709.78?a*(1/0):a*Math.exp(p)}k=g}let I=nt({logTarget:s,...f!==void 0&&{linearTarget:f},lower:N,cdf:(v,p)=>L(v,p,!1),cdfLog:(v,p)=>L(v,p,!0),pdfLog:v=>At(a*v,n,e,!0),x0:Math.min(Math.abs(M)>0&&Number.isFinite(M)&&Math.sign(M)===a?Math.abs(M):1,k/2),lo:0,hi:k,positive:!0});return a*I}var Vt=.9189385332046728,nn=[-.9189385332046728,38782941580672414e-33];function jt(t,n,e){let r=n/2,i=X(r+.5)-X(r)-bt(r,r+.5),o=G(t,t),u=o[0]/n;if(!(u<1e30)){let c=b(F(P([Math.abs(t),0]),2),at(P([n,0])));Number.isFinite(u)&&(c=b(c,[Math.log1p(1/u),0]));let M=b(b(at(D(c,T(r,.5))),[i,0]),nn);return e?M[0]+M[1]:Math.exp(M[0])*(1+M[1])}let s;if(o[0]>.2*n){let c=P(b([1,0],pt(o,n)));s=b([i,0],F(c,-r))}else{let c=F(b([n,0],o),.5);s=b(b(gt(r,c),F(o,-.5)),[i,0])}return e?s[0]+s[1]-Vt-.5*Math.log1p(u):Math.exp(s[0])*(1+s[1])/Math.sqrt(2*Math.PI*(1+u))}function en(t,n,e){if(Number.isNaN(t)||Number.isNaN(n))return NaN;if(n<=0)return NaN;if(!Number.isFinite(t))return yt(e);if(!Number.isFinite(n)){let r=-.5*t*t-Vt;return e?r:Math.exp(r)}return jt(t,n,e)}function ut(t,n,e){let r=t*t;if(!(n/(n+r)>1e-250)){let f=V(P([n,0]),F(P([t,0]),2)),c=b(F(f,n/2),[-Math.log(n/2)-$(n/2,.5)-Math.LN2,0]);return e?c[0]+c[1]:Math.exp(c[0])*(1+c[1])}let o=G(t,t),u=b(o,[n,0]),s=mt(n/2,.5,B([n,0],u),B(o,u),!0,e);return e?s-Math.LN2:s/2}function rn(t,n){let e=t*t;if(!(n/(n+e)>1e-250)){let s=V(P([n,0]),F(P([t,0]),2)),f=b(F(s,n/2),[-Math.log(n/2)-$(n/2,.5)-Math.LN2,0]);return[f[0]+f[1],Math.exp(f[0])*(1+f[1])]}let i=G(t,t),o=b(i,[n,0]),u=zt(n/2,.5,B([n,0],o),B(i,o),!0);return[u[0]-Math.LN2,u[1]/2]}function on(t,n,e,r){if(Number.isNaN(t)||Number.isNaN(n))return NaN;if(n<=0)return NaN;if(!Number.isFinite(t))return t<0?vt(e,r):xt(e,r);if(!Number.isFinite(n))return C(t,{lowerTail:e,logP:r});if(t===0)return r?-Math.LN2:.5;let i=t<0===e,o=Math.abs(t);if(i)return ut(o,n,r);let u=ut(o,n,!1);return r?Math.log1p(-u):1-u}function sn(t,n,e,r){if(Number.isNaN(t)||Number.isNaN(n))return NaN;let i=w(t,-1/0,1/0,e,r);if(i!==void 0)return i;if(n<=0)return NaN;if(!Number.isFinite(n))return j(t,{lowerTail:e,logP:r});let{lower:o,logTarget:u,linearTarget:s}=tt(t,e,r);if(u===-Math.LN2&&s===.5)return 0;let f=n,c,M=(.5*f*Math.log(f)-Math.log(f)-$(f/2,.5)-u)/f;if(M>709.78)return o?-1/0:1/0;if(u<-30)c=Math.exp(M);else{let h=Math.abs(j(u,{logP:!0}));if(c=h,f>=3){let a=h*h,N=h*(a+1)/4,d=h*((5*a+16)*a+3)/96,m=h*(((3*a+19)*a+17)*a-15)/384,x=h*((((79*a+776)*a+1482)*a-1920)*a-945)/92160;c=h+(N+(d+(m+x/f)/f)/f)/f}}(!(c>0)||!Number.isFinite(c))&&(c=1);let l=nt({logTarget:u,...s!==void 0&&{linearTarget:s},lower:!1,cdf:h=>ut(h,f,!1),cdfLog:h=>ut(h,f,!0),cdfBoth:h=>rn(h,f),pdfLog:h=>jt(h,f,!0),dlogPdf:h=>-(f+1)*h/(f+h*h),x0:c,lo:0,hi:1/0,positive:!0});return o?-l:l}function Rn(t,n,e={}){let{log:r=!1,ncp:i}=e;return i!==void 0&&i!==0?Y(t,o=>Gt(o,n,i,r)):Y(t,o=>en(o,n,r))}function Pn(t,n,e={}){let{lowerTail:r=!0,logP:i=!1,ncp:o}=e;return o!==void 0&&o!==0?Y(t,u=>Yt(u,n,o,r,i)):Y(t,u=>on(u,n,r,i))}function Qn(t,n,e={}){let{lowerTail:r=!0,logP:i=!1,ncp:o}=e;return o!==void 0&&o!==0?Y(t,u=>Ot(u,n,o,r,i)):Y(t,u=>sn(u,n,r,i))}export{vt as a,xt as b,yt as c,w as d,tt as e,nt as f,mn as g,mt as h,zt as i,Nn as j,on as k,sn as l,Rn as m,Pn as n,Qn as o};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! rStats.js 0.6.1 | MIT License | includes code ported from SciPy, Boost.Math, statsmodels, LAPACK and others: see THIRD_PARTY_NOTICES.md at https://github.com/numero-uno-jpn/rStats.js */
|
|
2
|
+
import{a as d,b as m,c as p}from"./chunk-7NK4SA6B.js";import{d as g,g as x}from"./chunk-UGUQYWRQ.js";function c(s,r){let e=Array.from(s);return r?e.filter(t=>!Number.isNaN(t)):e.some(Number.isNaN)?void 0:e}function b(s){if(!s.every(Number.isFinite))return s.reduce((e,t)=>e+t,0);let r=[0,0];for(let e of s)r=g(r,[e,0]);return r[0]+r[1]}function D(s,r={}){let e=c(s,r.naRm);return e===void 0?NaN:b(e)}function F(s,r={}){let e=c(s,r.naRm);if(e===void 0)return NaN;if(!e.every(Number.isFinite)||e.includes(0))return e.reduce((o,u)=>o*u,1);let t=[1,0],n=0;for(let o of e){t=x(t,[o,0]);let u=Math.floor(Math.log2(Math.abs(t[0])));if(u>500||u<-500){let f=2**-u;t=[t[0]*f,t[1]*f],n+=u}}return v(t,n)}function I(s,r={}){let e=c(s,r.naRm);if(e===void 0)return NaN;let t=e.length;if(t===0)return NaN;let n=r.trim??0;if(Number.isNaN(n))throw new RangeError("'trim' must be numeric of length one");if(n>0&&t>0){if(n>=.5)return M(e);n=Math.max(n,0);let o=Math.floor(t*n),u=[...e].sort((f,a)=>f-a);return m(u.slice(o,t-o))}return m(e)}function O(s,r,e={}){let t=Array.from(s),n=Array.from(r);if(t.length!==n.length)throw new RangeError("'x' and 'w' must have the same length");if(e.naRm){let u=t.map(f=>!Number.isNaN(f));t=t.filter((f,a)=>u[a]),n=n.filter((f,a)=>u[a])}let o=[];for(let u=0;u<t.length;u++)n[u]!==0&&o.push(t[u]*n[u]);return b(o)/b(n)}function q(s,r={}){let e=c(s,r.naRm);return e===void 0?NaN:p(e)}function _(s,r={}){return Math.sqrt(q(s,r))}function M(s,r={}){let e=c(s,r.naRm);if(e===void 0)return NaN;let t=e.length;if(t===0)return NaN;let n=[...e].sort((u,f)=>u-f),o=Math.floor(t/2);return t%2===1?n[o]:d([n[o-1],n[o]])[0]}function j(s,r={}){let e=c(s,r.naRm);if(e===void 0)return[NaN,NaN];let t=1/0,n=-1/0;for(let o of e)o<t&&(t=o),o>n&&(n=o);return[t,n]}function S(s){let r=[],e=[0,0],t=0,n=!0;for(let o of Array.from(s))t+=o,n&&Number.isFinite(o)?(e=g(e,[o,0]),r.push(e[0]+e[1])):(n=!1,r.push(Number.isNaN(o)||Number.isNaN(t)?NaN:t));return r}function T(s){let r=[],e=[1,0],t=0,n;for(let o of Array.from(s)){if(n===void 0&&(!Number.isFinite(o)||o===0)&&(n=v(e,t)),n!==void 0){n*=o,r.push(n);continue}e=x(e,[o,0]);let u=Math.floor(Math.log2(Math.abs(e[0])));(u>500||u<-500)&&(e=[e[0]*2**-u,e[1]*2**-u],t+=u),r.push(v(e,t))}return r}function v(s,r){let e=s[0]+s[1];for(;r>0&&Number.isFinite(e);){let t=Math.min(r,1e3);e*=2**t,r-=t}for(;r<0&&e!==0;){let t=Math.max(r,-1e3);e*=2**t,r-=t}return e}function y(s,r){let e=[],t=NaN,n=!1;for(let o of Array.from(s)){if(n||Number.isNaN(o)){n=!0,e.push(NaN);continue}(e.length===0||r(o,t))&&(t=o),e.push(t)}return e}function z(s){return y(s,(r,e)=>r>e)}function B(s){return y(s,(r,e)=>r<e)}function C(s,r={}){let e=r.lag??1,t=r.differences??1;if(!(Number.isInteger(e)&&e>=1&&Number.isInteger(t)&&t>=1))throw new RangeError("'lag' and 'differences' must be integers >= 1");let n=Array.from(s);if(e*t>=n.length)return[];for(let o=0;o<t;o++){let u=[];for(let f=e;f<n.length;f++)u.push(n[f]-n[f-e]);n=u}return n}function R(s){let r=d(s),e=0,t=0,n=0;for(let o of s){let u=o-r[0]-r[1],f=u*u;e+=f,t+=f*u,n+=f*f}return[e,t,n]}function A(s){if(![1,2,3].includes(s))throw new RangeError("Invalid 'type' argument.")}function L(s,r={}){let e=r.type??3;A(e);let t=c(s,!0),n=t.length,[o,u]=R(t),f=Math.sqrt(n)*u/o**1.5;if(e===1)return f;if(e===2){if(n<3)throw new RangeError("Need at least 3 complete observations.");return f*Math.sqrt(n*(n-1))/(n-2)}return f*(1-1/n)**1.5}function P(s,r={}){let e=r.type??3;A(e);let t=c(s,!0),n=t.length,[o,,u]=R(t),f=n*u/(o*o);if(e===1)return f-3;if(e===2){if(n<4)throw new RangeError("Need at least 4 complete observations.");return((n+1)*(f-3)+6)*(n-1)/((n-2)*(n-3))}return f*(1-1/n)**2-3}function Q(s,r={}){let e=c(s,r.naRm);return e===void 0?NaN:e.some(t=>t<0)?NaN:e.includes(0)?0:Math.exp(m(e.map(Math.log)))}function U(s){let r=c(s,!0),e=new Map;for(let o of r)e.set(o===0?0:o,(e.get(o===0?0:o)??0)+1);let t=0;for(let o of e.values())t=Math.max(t,o);return t<=1?{value:[NaN],frequency:NaN}:{value:[...e.entries()].filter(([,o])=>o===t).map(([o])=>o).sort((o,u)=>o-u),frequency:t}}function V(s,r={}){let e=c(s,!0),t=r.center??"mean",n=t==="mean"?m(e):t==="median"?M(e):t;return m(e.map(o=>Math.abs(o-n)))}function W(s,r={}){let e=c(s,r.naRm);if(e===void 0)return NaN;let t=e.length,n=Math.sqrt(p(e))/m(e);return r.unbiased&&(n*=1-1/(4*(t-1))+n*n/t+1/(2*(t-1)**2)),n}function X(s,r={}){let e=s.length>0&&Array.isArray(s[0])?s.map(a=>[...a]):Array.from(s,a=>[a]),t=e[0]?.length??0,n=a=>e.map(l=>l[a]),o={scaled:e},u=r.center??!0;if(u!==!1){let a=u===!0?Array.from({length:t},(l,i)=>m(n(i).filter(N=>!Number.isNaN(N)))):[...u];if(a.length!==t)throw new RangeError("length of 'center' must equal the number of columns of 'x'");for(let l of e)for(let i=0;i<t;i++)l[i]=l[i]-a[i];o.center=a}let f=r.scale??!0;if(f!==!1){let a=f===!0?Array.from({length:t},(l,i)=>{let N=n(i).filter(h=>!Number.isNaN(h)),w=0;for(let h of N)w+=h*h;return Math.sqrt(w/Math.max(1,N.length-1))}):[...f];if(a.length!==t)throw new RangeError("length of 'scale' must equal the number of columns of 'x'");for(let l of e)for(let i=0;i<t;i++)l[i]=l[i]/a[i];o.scale=a}return o}export{c as a,D as b,F as c,I as d,O as e,q as f,_ as g,M as h,j as i,S as j,T as k,z as l,B as m,C as n,L as o,P as p,Q as q,U as r,V as s,W as t,X as u};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! rStats.js 0.6.1 | MIT License | includes code ported from SciPy, Boost.Math, statsmodels, LAPACK and others: see THIRD_PARTY_NOTICES.md at https://github.com/numero-uno-jpn/rStats.js */
|
|
2
|
+
function x(e,n){return{nrow:e,ncol:n,data:new Float64Array(e*n)}}function R(e){return e.length>0&&typeof e[0]!="number"}function q(e){let n=e.length,o=n===0?0:e[0].length,t=x(n,o);for(let r=0;r<n;r++){let a=e[r];if(a.length!==o)throw new TypeError("all rows of the matrix must have the same length");for(let i=0;i<o;i++)t.data[r+i*n]=a[i]}return t}function I(e){if(R(e))return q(e);let n=e;return{nrow:n.length,ncol:1,data:Float64Array.from(n)}}function j(e){let n=[];for(let o=0;o<e.nrow;o++){let t=new Array(e.ncol);for(let r=0;r<e.ncol;r++)t[r]=e.data[o+r*e.nrow];n.push(t)}return n}function S(e){let n=x(e.ncol,e.nrow);for(let o=0;o<e.ncol;o++)for(let t=0;t<e.nrow;t++)n.data[o+t*e.ncol]=e.data[t+o*e.nrow];return n}function _(e,n="the matrix"){if(e.nrow!==e.ncol)throw new TypeError(`${n} must be square (got ${e.nrow} x ${e.ncol})`)}function X(e,n={}){let o=q(e);if(n.lapack){let{tau:i,pivot:s}=st(o),f=Array.from({length:o.ncol},(h,l)=>i[l]??0);return{qr:j(o),rank:Math.min(o.nrow,o.ncol),qraux:f,pivot:s.map(h=>h-1),useLapack:!0}}for(let i of o.data)if(!Number.isFinite(i))throw new RangeError("the matrix contains NaN or infinite values");let{qraux:t,pivot:r,rank:a}=it(o,n.tol??1e-7);return{qr:j(o),rank:a,qraux:Array.from(t),pivot:r.map(i=>i-1),useLapack:!1}}function E(e,n,o){let t=0;for(let a=0;a<o;a++)t=Math.max(t,Math.abs(e[n+a]));if(t===0||!Number.isFinite(t))return t;let r=0;for(let a=0;a<o;a++){let i=e[n+a]/t;r+=i*i}return t*Math.sqrt(r)}function it(e,n){let o=e.nrow,t=e.ncol,r=e.data,a=new Float64Array(t),i=new Float64Array(t),s=new Float64Array(t),f=Array.from({length:t},(c,w)=>w+1);for(let c=0;c<t;c++)a[c]=E(r,c*o,o),i[c]=a[c],s[c]=a[c]===0?1:a[c];let h=new Float64Array(o),l=Math.min(o,t),u=t;for(let c=0;c<l;c++){for(;c<u&&a[c]<s[c]*n;){h.set(r.subarray(c*o,(c+1)*o));let[M,v,d,p]=[a[c],i[c],s[c],f[c]];r.copyWithin(c*o,(c+1)*o,t*o),r.set(h,(t-1)*o),a.copyWithin(c,c+1),i.copyWithin(c,c+1),s.copyWithin(c,c+1),f.copyWithin(c,c+1),a[t-1]=M,i[t-1]=v,s[t-1]=d,f[t-1]=p,u--}if(c===o-1)break;let w=c*o,m=E(r,w+c,o-c);if(m!==0){r[w+c]!==0&&(m=Math.sign(r[w+c])*Math.abs(m));for(let M=c;M<o;M++)r[w+M]/=m;r[w+c]=1+r[w+c];for(let M=c+1;M<t;M++){let v=M*o,d=0;for(let b=c;b<o;b++)d-=r[w+b]*r[v+b];d/=r[w+c];for(let b=c;b<o;b++)r[v+b]+=d*r[w+b];if(a[M]===0)continue;let p=1-(Math.abs(r[v+c])/a[M])**2;p=Math.max(p,0);let g=p;p=1+.05*p*(a[M]/i[M])**2,p!==1?a[M]*=Math.sqrt(g):(a[M]=E(r,v+c+1,o-c-1),i[M]=a[M])}a[c]=r[w+c],r[w+c]=-m}}return{qraux:a,pivot:f,rank:Math.min(u,o)}}function st(e){let n=e.nrow,o=e.ncol,t=e.data,r=Math.min(n,o),a=new Float64Array(r),i=Array.from({length:o},(l,u)=>u+1),s=new Float64Array(o),f=new Float64Array(o);for(let l=0;l<o;l++)s[l]=E(t,l*n,n),f[l]=s[l];let h=Math.sqrt(2**-53);for(let l=0;l<r;l++){let u=l;for(let w=l+1;w<o;w++)Math.abs(s[w])>Math.abs(s[u])&&(u=w);if(u!==l){for(let w=0;w<n;w++){let m=t[w+u*n];t[w+u*n]=t[w+l*n],t[w+l*n]=m}[i[u],i[l]]=[i[l],i[u]],s[u]=s[l],f[u]=f[l]}let c=l*n;if(a[l]=P(t,c+l,n-l),l<o-1){let w=t[c+l];t[c+l]=1,O(t,c+l,n-l,a[l],e,l,l+1,o-l-1),t[c+l]=w}for(let w=l+1;w<o;w++){if(s[w]===0)continue;let m=1-(Math.abs(t[l+w*n])/s[w])**2;m=Math.max(m,0),m*(s[w]/f[w])**2<=h?l<n-1?(s[w]=E(t,w*n+l+1,n-l-1),f[w]=s[w]):(s[w]=0,f[w]=0):s[w]*=Math.sqrt(m)}}return{tau:a,pivot:i}}function P(e,n,o){if(o<=1)return 0;let t=E(e,n+1,o-1);if(t===0)return 0;let r=e[n],a=-Math.sign(r||1)*Math.hypot(r,t),i=2**-1022/2**-53,s=0;if(Math.abs(a)<i){let l=1/i;do{s++;for(let u=1;u<o;u++)e[n+u]*=l;a*=l,r*=l}while(Math.abs(a)<i&&s<20);t=E(e,n+1,o-1),a=-Math.sign(r||1)*Math.hypot(r,t)}let f=(a-r)/a,h=1/(r-a);for(let l=1;l<o;l++)e[n+l]*=h;for(let l=0;l<s;l++)a*=i;return e[n]=a,f}function O(e,n,o,t,r,a,i,s){if(t===0)return;let f=r.nrow,h=r.data;for(let l=i;l<i+s;l++){let u=a+l*f,c=0;for(let w=0;w<o;w++)c+=h[u+w]*e[n+w];c*=t;for(let w=0;w<o;w++)h[u+w]-=e[n+w]*c}}function C(e){return{a:q(e.qr),qraux:e.qraux,rank:e.rank,pivot:e.pivot.map(n=>n+1),lapack:e.useLapack}}function W(e,n){let o=I(n);if(o.nrow!==e.a.nrow)throw new TypeError(`qr and y must have the same number of rows (${e.a.nrow} and ${o.nrow})`);return o}function z(e,n){return R(e)?j(n):Array.from(n.data)}function $(e,n,o,t=e.rank){let{a:r,qraux:a}=e,i=r.nrow;if(e.lapack){let h=Math.min(i,r.ncol),l=o?Q(0,h):Q(0,h).reverse();for(let u of l){let c=r.data[u+u*i];r.data[u+u*i]=1,O(r.data,u+u*i,i-u,a[u],n,u,0,n.ncol),r.data[u+u*i]=c}return}let s=Math.min(t,i-1),f=o?Q(0,s):Q(0,s).reverse();for(let h of f){if(a[h]===0)continue;let l=h*i,u=r.data[l+h];r.data[l+h]=a[h];for(let c=0;c<n.ncol;c++){let w=c*i,m=0;for(let M=h;M<i;M++)m-=r.data[l+M]*n.data[w+M];m/=r.data[l+h];for(let M=h;M<i;M++)n.data[w+M]+=m*r.data[l+M]}r.data[l+h]=u}}function Q(e,n){return Array.from({length:Math.max(0,n-e)},(o,t)=>e+t)}function vt(e,n){let o=C(e),t=W(o,n);return $(o,t,!0),z(n,t)}function yt(e,n){let o=C(e),t=W(o,n);return $(o,t,!1),z(n,t)}function ct(e,n){let o=C(e),t=W(o,n),r=o.a.ncol,a=o.a.nrow,i=o.lapack?Math.min(a,r):o.rank;$(o,t,!0);for(let f=0;f<t.ncol;f++){let h=f*a;for(let l=i-1;l>=0;l--){let u=o.a.data[l+l*a];if(u===0)throw new Error("exact singularity in qrCoef");t.data[h+l]/=u;let c=-t.data[h+l];for(let w=0;w<l;w++)t.data[h+w]+=c*o.a.data[w+l*a]}}let s=x(r,t.ncol);s.data.fill(NaN);for(let f=0;f<t.ncol;f++)for(let h=0;h<i;h++)s.data[o.pivot[h]-1+f*r]=t.data[h+f*a];return z(n,s)}function J(e,n,o,t){let r=C(e);if(r.lapack)throw new TypeError("not supported for a QR decomposition computed with lapack: true");let a=t??r.rank;if(!Number.isInteger(a)||a<0||a>r.rank)throw new RangeError(`invalid k (got ${a})`);let i=W(r,n),s=r.a.nrow;if(a===0)return z(n,i);if(s===1)return o||i.data.fill(0),z(n,i);$(r,i,!0,a);for(let f=0;f<i.ncol;f++)o?i.data.fill(0,f*s+a,(f+1)*s):i.data.fill(0,f*s,f*s+a);return $(r,i,!1,a),z(n,i)}function kt(e,n){return J(e,n,!1)}function Nt(e,n,o={}){return J(e,n,!0,o.k)}function xt(e,n={}){let o=C(e),t=o.a.nrow,r=n.complete?t:Math.min(t,o.a.ncol),a=n.dvec??new Array(r).fill(1);if(a.length!==r)throw new RangeError(`dvec must have length ${r}`);let i=x(t,r);for(let s=0;s<r;s++)i.data[s+s*t]=a[s];return $(o,i,!1),j(i)}function K(e,n={}){let o=q(e.qr),t=n.complete?o.nrow:Math.min(o.nrow,o.ncol),r=x(t,o.ncol);for(let a=0;a<o.ncol;a++)for(let i=0;i<=Math.min(a,t-1);i++)r.data[i+a*t]=o.data[i+a*o.nrow];return j(r)}function jt(e,n={}){let o=C(e),t=o.a.nrow,r=o.a.ncol,a=n.complete??!1,i=n.ncol??(a?t:Math.min(t,r));if(!Number.isInteger(i)||i<0)throw new RangeError(`invalid ncol (got ${i})`);if(o.pivot.some((u,c)=>u!==c+1)&&i<r)throw new RangeError("ncol must be at least the number of columns because the decomposition is pivoted");let f=x(t,i);for(let u=0;u<i;u++)if(u<r)for(let c=0;c<=Math.min(u,t-1);c++)f.data[c+u*t]=o.a.data[c+u*t];else u<t&&(f.data[u+u*t]=1);$(o,f,!1);let h=Math.min(i,r),l=x(t,i);l.data.set(f.data);for(let u=0;u<h;u++){let c=o.pivot[u]-1;c<h&&l.data.set(f.data.subarray(u*t,(u+1)*t),c*t)}return j(l)}function qt(e,n,o={}){let t=Array.isArray(e)?X(e,{tol:o.tol??1e-7}):e,r=t.qr.length,a=r===0?0:t.qr[0].length;if(t.rank!==Math.min(r,a))throw new Error("singular matrix in qrSolve");if(n===void 0&&r!==a)throw new TypeError("only square matrices can be inverted");let i=n??Array.from({length:r},(h,l)=>Array.from({length:r},(u,c)=>l===c?1:0)),s=ct(t,i),f=h=>Number.isNaN(h)?0:h;return R(i)?s.map(h=>h.map(f)):s.map(f)}function $t(e,n={}){let o=q(e);for(let u of o.data)if(!Number.isFinite(u))throw new RangeError("the matrix contains NaN or infinite values");let t=Math.min(o.nrow,o.ncol),r=Math.min(n.nu??t,o.nrow),a=Math.min(n.nv??t,o.ncol);for(let[u,c]of[["nu",r],["nv",a]])if(!Number.isInteger(c)||c<0)throw new RangeError(`${u} must be a non-negative integer`);let i=o.nrow<o.ncol,s=tt(i?S(o):o,i?a:r,i?r:a),f={d:Array.from(s.d)},[h,l]=i?[s.v,s.u]:[s.u,s.v];return r>0&&(f.u=j(Y(h,r))),a>0&&(f.v=j(Y(l,a))),f}function Z(e){return tt(e.nrow<e.ncol?S(e):e,0,0).d}function Y(e,n){return{nrow:e.nrow,ncol:n,data:e.data.slice(0,e.nrow*n)}}function tt(e,n,o){let t=e.nrow,r=e.ncol,a=new Float64Array(r);if(r===0)return{d:a,u:x(t,t),v:x(0,0)};let i={nrow:t,ncol:r,data:e.data.slice()},s=new Float64Array(r),f=new Float64Array(r),h=new Float64Array(r);for(let d=0;d<r;d++){let p=d*t;if(f[d]=P(i.data,p+d,t-d),a[d]=i.data[p+d],d<r-1&&(i.data[p+d]=1,O(i.data,p+d,t-d,f[d],i,d,d+1,r-d-1),i.data[p+d]=a[d]),d<r-1){let g=new Float64Array(r-d-1);for(let y=0;y<g.length;y++)g[y]=i.data[d+(d+1+y)*t];h[d]=P(g,0,g.length),s[d+1]=g[0],g[0]=1;let b=h[d];if(b!==0)for(let y=d+1;y<t;y++){let k=0;for(let N=0;N<g.length;N++)k+=i.data[y+(d+1+N)*t]*g[N];k*=b;for(let N=0;N<g.length;N++)i.data[y+(d+1+N)*t]-=k*g[N]}g[0]=s[d+1];for(let y=0;y<g.length;y++)i.data[d+(d+1+y)*t]=g[y]}}let l=n===0?0:Math.max(n,r),u;if(l>0){u=x(t,l);for(let d=0;d<l;d++)u.data[d+d*t]=1;for(let d=r-1;d>=0;d--){let p=d*t,g=i.data[p+d];i.data[p+d]=1,O(i.data,p+d,t-d,f[d],u,d,0,l),i.data[p+d]=g}}let c;if(o>0){c=x(r,r);for(let p=0;p<r;p++)c.data[p+p*r]=1;let d=new Float64Array(r);for(let p=r-2;p>=0;p--){let g=r-p-1;d[0]=1;for(let b=1;b<g;b++)d[b]=i.data[p+(p+1+b)*t];O(d,0,g,h[p],c,p+1,0,r)}}ft(a,s,u,c);let w=Array.from({length:r},(d,p)=>p).sort((d,p)=>a[p]-a[d]||d-p),m=Float64Array.from(w,d=>a[d]),M=(d,p)=>{if(d===void 0)return;let g={nrow:d.nrow,ncol:d.ncol,data:d.data.slice()};for(let b=0;b<p;b++)g.data.set(d.data.subarray(w[b]*d.nrow,(w[b]+1)*d.nrow),b*d.nrow);return g},v={d:m};return u&&(v.u=M(u,r)),c&&(v.v=M(c,r)),v}function ft(e,n,o,t){let r=e.length,a=Number.EPSILON,i=0;for(let h=0;h<r;h++)i=Math.max(i,Math.abs(e[h])+Math.abs(n[h]));let s=(h,l,u,c)=>{if(!o)return;let w=o.nrow;for(let m=0;m<w;m++){let M=o.data[m+h*w],v=o.data[m+l*w];o.data[m+h*w]=M*u+v*c,o.data[m+l*w]=v*u-M*c}},f=(h,l,u,c)=>{if(t)for(let w=0;w<r;w++){let m=t.data[w+h*r],M=t.data[w+l*r];t.data[w+h*r]=m*u+M*c,t.data[w+l*r]=M*u-m*c}};for(let h=r-1;h>=0;h--)for(let l=0;;l++){let u=h,c=!0;for(;u>=0;u--){if(u===0||Math.abs(n[u])<=a*i){c=!1;break}if(Math.abs(e[u-1])<=a*i)break}if(c){let k=u-1,N=0,F=1;for(let A=u;A<=h;A++){let T=F*n[A];if(n[A]=N*n[A],Math.abs(T)<=a*i)break;let H=e[A],U=Math.hypot(T,H);e[A]=U,N=H/U,F=-T/U,s(k,A,N,F)}}let w=e[h];if(u===h){if(w<0&&(e[h]=-w,t))for(let k=0;k<r;k++)t.data[k+h*r]=-t.data[k+h*r];break}if(l>=75)throw new Error("the singular value decomposition did not converge");let m=e[u],M=h-1,v=e[M],d=n[M],p=n[h],g=((v-w)*(v+w)+(d-p)*(d+p))/(2*p*v);d=Math.hypot(g,1),g=((m-w)*(m+w)+p*(v/(g+(g>=0?Math.abs(d):-Math.abs(d)))-p))/m;let b=1,y=1;for(let k=u;k<=M;k++){let N=k+1;d=n[N],v=e[N],p=y*d,d=b*d;let F=Math.hypot(g,p);n[k]=F,b=g/F,y=p/F,g=m*b+d*y,d=d*b-m*y,p=v*y,v*=b,f(k,N,b,y),F=Math.hypot(g,p),e[k]=F,F!==0&&(b=g/F,y=p/F),g=b*d+y*v,m=b*v-y*d,s(k,N,b,y)}n[u]=0,n[h]=g,e[h]=m}}function Ot(e,n={}){let o=q(e),t=n.type??"O";if(t.length!==1)throw new RangeError(`type must be a single character (got "${t}")`);switch(t.toUpperCase()){case"O":case"1":return V(o);case"I":return D(o);case"F":case"E":return lt(o);case"M":return ot(o);case"2":return ut(o);default:throw new RangeError(`type must be one of "O", "I", "F", "M" and "2" (got "${t}")`)}}function B(e,n){return Number.isNaN(e)||Number.isNaN(n)?NaN:Math.max(e,n)}function V(e){let n=0;for(let o=0;o<e.ncol;o++){let t=0;for(let r=0;r<e.nrow;r++)t+=Math.abs(e.data[r+o*e.nrow]);n=B(n,t)}return n}function D(e){let n=new Float64Array(e.nrow);for(let t=0;t<e.ncol;t++)for(let r=0;r<e.nrow;r++)n[r]+=Math.abs(e.data[r+t*e.nrow]);let o=0;for(let t of n)o=B(o,t);return o}function ot(e){let n=0;for(let o of e.data)n=B(n,Math.abs(o));return n}function lt(e){let n=ot(e);if(n===0||!Number.isFinite(n))return n;let o=0;for(let t of e.data){let r=t/n;o+=r*r}return n*Math.sqrt(o)}function ut(e){if(e.nrow===0||e.ncol===0)return 0;if(e.data.some(Number.isNaN))return NaN;if(e.data.some(n=>!Number.isFinite(n)))throw new RangeError("the matrix contains infinite values");return Z(e)[0]}function G(e){let n=e.nrow,o=e.ncol,t=e.data,r=Math.min(n,o),a=new Int32Array(r),i=2**-1022,s=0;for(let f=0;f<r;f++){let h=f*n,l=f,u=Math.abs(t[h+f]);for(let c=f+1;c<n;c++){let w=Math.abs(t[h+c]);w>u&&(u=w,l=c)}if(a[f]=l,t[h+l]!==0){if(l!==f)for(let w=0;w<o;w++){let m=t[f+w*n];t[f+w*n]=t[l+w*n],t[l+w*n]=m}let c=t[h+f];if(Math.abs(c)>=i){let w=1/c;for(let m=f+1;m<n;m++)t[h+m]*=w}else for(let w=f+1;w<n;w++)t[h+w]/=c}else s===0&&(s=f+1);for(let c=f+1;c<o;c++){let w=t[f+c*n];if(w===0)continue;let m=-w;for(let M=f+1;M<n;M++)t[M+c*n]+=t[h+M]*m}}return{ipiv:a,info:s}}function ht(e,n,o){let t=e.nrow,r=e.data,a=o.data;for(let i=0;i<o.ncol;i++){let s=i*t;for(let f=0;f<t;f++){let h=n[f];if(h!==f){let l=a[s+f];a[s+f]=a[s+h],a[s+h]=l}}for(let f=0;f<t;f++){let h=a[s+f];if(h!==0)for(let l=f+1;l<t;l++)a[s+l]-=h*r[l+f*t]}for(let f=t-1;f>=0;f--)if(a[s+f]!==0){a[s+f]/=r[f+f*t];let h=a[s+f];for(let l=0;l<f;l++)a[s+l]-=h*r[l+f*t]}}}function L(e,n,o,t,r){let a=e.nrow,i=e.data;if(o)if(n)for(let s=0;s<a;s++){let f=r[s];for(let h=0;h<s;h++)f-=i[h+s*a]*r[h];t||(f/=i[s+s*a]),r[s]=f}else for(let s=a-1;s>=0;s--){let f=r[s];for(let h=a-1;h>s;h--)f-=i[h+s*a]*r[h];t||(f/=i[s+s*a]),r[s]=f}else if(n){for(let s=a-1;s>=0;s--)if(r[s]!==0){t||(r[s]/=i[s+s*a]);let f=r[s];for(let h=s-1;h>=0;h--)r[h]-=f*i[h+s*a]}}else for(let s=0;s<a;s++)if(r[s]!==0){t||(r[s]/=i[s+s*a]);let f=r[s];for(let h=s+1;h<a;h++)r[h]-=f*i[h+s*a]}}function nt(e,n){let o=new Float64Array(e),t=new Int32Array(e),r=()=>o.reduce((w,m)=>w+Math.abs(m),0),a=()=>{let w=0;for(let m=1;m<e;m++)Math.abs(o[m])>Math.abs(o[w])&&(w=m);return w},i=()=>{for(let w=0;w<e;w++)o[w]=o[w]>=0?1:-1,t[w]=o[w]};if(o.fill(1/e),n(1,o),e===1)return Math.abs(o[0]);let s=r();i(),n(2,o);let f=a(),h=2,l=5;for(;;){o.fill(0),o[f]=1,n(1,o);let w=s;s=r();let m=!1;for(let v=0;v<e;v++)if((o[v]>=0?1:-1)!==t[v]){m=!0;break}if(!m||s<=w)break;i(),n(2,o);let M=f;if(f=a(),o[M]!==Math.abs(o[f])&&h<l){h++;continue}break}let u=1;for(let w=0;w<e;w++)o[w]=u*(1+w/(e-1)),u=-u;n(1,o);let c=2*(r()/(3*e));return c>s?c:s}function et(e,n,o){let t=e.nrow;if(t===0)return 1;if(!Number.isFinite(n))throw new RangeError("the matrix contains NaN or infinite values (LAPACK dgecon returned error -5)");if(n===0)return 0;let r=o?1:2,a=nt(t,(i,s)=>{i===r?(L(e,!1,!1,!0,s),L(e,!0,!1,!1,s)):(L(e,!0,!0,!1,s),L(e,!1,!0,!0,s))});return Number.isFinite(a)?a===0?0:1/a/n:0}function wt(e,n,o){let t=e.nrow,r=new Float64Array(t);for(let i=0;i<t;i++){let[s,f]=n?[0,i]:[i,t-1];for(let h=s;h<=f;h++)r[o?i:h]+=Math.abs(e.data[h+i*t])}let a=0;for(let i of r)a=Number.isNaN(a)||Number.isNaN(i)?NaN:Math.max(a,i);return a}function rt(e,n,o){let t=e.nrow;if(t===0)return 1;let r=wt(e,n,o);if(!(r>0))return 0;let a=o?1:2,i=nt(t,(s,f)=>L(e,n,s!==a,!1,f));return Number.isFinite(i)?i===0?0:1/r/i:0}function Qt(e,n,o={}){let t=q(e);_(t);let r=t.nrow,a;if(n===void 0){a=x(r,r);for(let l=0;l<r;l++)a.data[l+l*r]=1}else if(a=I(n),a.nrow!==r)throw new TypeError(`b (${a.nrow} x ${a.ncol}) is not compatible with a (${r} x ${r})`);let i=V(t),{ipiv:s,info:f}=G(t);if(f>0)throw new Error(`the system is exactly singular: U[${f}, ${f}] = 0`);let h=o.tol??Number.EPSILON;if(h>0&&Number.isFinite(i)){let l=et(t,i,!0);if(l<h)throw new Error(`the system is computationally singular: reciprocal condition number = ${l.toPrecision(6)}`)}return ht(t,s,a),n!==void 0&&!R(n)?Array.from(a.data):j(a)}function dt(e,n={}){let o=n.logarithm??!0,t=q(e);_(t);let r=t.nrow,{ipiv:a,info:i}=G(t);if(i>0)return{modulus:o?-1/0:0,logarithm:o,sign:1};let s=1,f=o?0:1;for(let h=0;h<r;h++){a[h]!==h&&(s=-s);let l=t.data[h+h*r];l<0&&(s=-s),o?f+=Math.log(Math.abs(l)):f*=Math.abs(l)}return{modulus:f,logarithm:o,sign:s}}function Pt(e){let{modulus:n,sign:o}=dt(e);return o*Math.exp(n)}function Wt(e,n={}){let o=n.norm??"O";if(!["O","1","I"].includes(o))throw new RangeError(`norm must be "O", "I" or "1" (got "${o}")`);let t=o!=="I",r=q(e);if(r.nrow!==r.ncol){let s=r.nrow<r.ncol?j(S(r)):e;return rt(q(K(X(s))),!0,t)}if(n.triangular)return rt(r,(n.uplo??"U")==="U",t);let a=t?V(r):D(r);r={...r,data:r.data.slice()};let{info:i}=G(r);return i>0?0:et(r,a,t)}function Ut(e,n={}){let o=q(e);if(_(o),o.nrow===0)throw new RangeError("the matrix has zero dimension");if(n.pivot){let{pivot:r,rank:a}=pt(o,n.tol??-1);return at(o),{r:j(o),pivot:r.map(i=>i-1),rank:a}}let t=mt(o);if(t>0)throw new Error(`the matrix is not positive definite: the leading minor of order ${t} is not positive`);return at(o),j(o)}function at(e){let n=e.nrow;for(let o=0;o<n;o++)for(let t=o+1;t<n;t++)e.data[t+o*n]=0}function mt(e){let n=e.nrow,o=e.data;for(let t=0;t<n;t++){let r=t*n,a=o[t+r];for(let i=0;i<t;i++)a-=o[i+r]*o[i+r];if(a<=0)return o[t+r]=a,t+1;a=Math.sqrt(a),o[t+r]=a;for(let i=t+1;i<n;i++){let s=i*n,f=o[t+s];for(let h=0;h<t;h++)f-=o[h+r]*o[h+s];o[t+s]=f/a}}return 0}function pt(e,n){let o=e.nrow,t=e.data,r=Array.from({length:o},(u,c)=>c+1),a=(u,c)=>u+c*o,i=(u,c)=>{let w=t[u];t[u]=t[c],t[c]=w},s=0;for(let u=1;u<o;u++)t[a(u,u)]>t[a(s,s)]&&(s=u);let f=t[a(s,s)];if(f<=0||Number.isNaN(f))return{pivot:r,rank:0};let h=n<0?o*Number.EPSILON*f:n,l=new Float64Array(2*o);for(let u=0;u<o;u++){for(let c=u;c<o;c++)u>0&&(l[c]+=t[a(u-1,c)]**2),l[o+c]=t[a(c,c)]-l[c];if(u>0){s=u;for(let c=u+1;c<o;c++)l[o+c]>l[o+s]&&(s=c);if(f=l[o+s],f<=h||Number.isNaN(f))return t[a(u,u)]=f,{pivot:r,rank:u}}if(u!==s){t[a(s,s)]=t[a(u,u)];for(let c=0;c<u;c++)i(a(c,u),a(c,s));for(let c=s+1;c<o;c++)i(a(u,c),a(s,c));for(let c=u+1;c<s;c++)i(a(u,c),a(c,s));[l[u],l[s]]=[l[s],l[u]],[r[u],r[s]]=[r[s],r[u]]}f=Math.sqrt(f),t[a(u,u)]=f;for(let c=u+1;c<o;c++){let w=t[a(u,c)];for(let m=0;m<u;m++)w-=t[a(m,u)]*t[a(m,c)];t[a(u,c)]=w/f}}return{pivot:r,rank:o}}function Xt(e,n={}){let o=I(e),t=n.size??o.ncol;if(!Number.isInteger(t)||t<1)throw new RangeError(`size must be a positive integer (got ${t})`);if(t>o.ncol)throw new RangeError(`size cannot exceed the number of columns (${o.ncol})`);if(t>o.nrow)throw new RangeError(`size cannot exceed the number of rows (${o.nrow})`);let r=x(t,t);for(let a=0;a<t;a++)for(let i=0;i<=a;i++)r.data[i+a*t]=o.data[i+a*o.nrow];Mt(r);for(let a=0;a<t;a++)for(let i=a+1;i<t;i++)r.data[i+a*t]=r.data[a+i*t];return j(r)}function Mt(e){let n=e.nrow,o=e.data;for(let t=0;t<n;t++)if(o[t+t*n]===0)throw new Error(`element (${t+1}, ${t+1}) is zero, so the inverse cannot be computed`);for(let t=0;t<n;t++){let r=t*n;o[t+r]=1/o[t+r];let a=-o[t+r];for(let i=0;i<t;i++){let s=o[i+r];if(s!==0){for(let f=0;f<i;f++)o[f+r]+=s*o[f+i*n];o[i+r]=s*o[i+i*n]}}for(let i=0;i<t;i++)o[i+r]*=a}for(let t=0;t<n;t++){let r=o[t+t*n];if(t<n-1){let a=0;for(let i=t;i<n;i++)a+=o[t+i*n]*o[t+i*n];o[t+t*n]=a;for(let i=0;i<t;i++)o[i+t*n]*=r;for(let i=t+1;i<n;i++){let s=o[t+i*n];if(s!==0)for(let f=0;f<t;f++)o[f+t*n]+=s*o[f+i*n]}}else for(let a=0;a<=t;a++)o[a+t*n]*=r}}export{x as a,R as b,q as c,I as d,j as e,S as f,_ as g,X as h,vt as i,yt as j,ct as k,kt as l,Nt as m,xt as n,K as o,jt as p,qt as q,$t as r,Ot as s,Qt as t,dt as u,Pt as v,Wt as w,Ut as x,Xt as y};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { Sample } from "../htest/types.js";
|
|
2
|
+
/** Options of the summaries that can drop missing values. */
|
|
3
|
+
export interface NaRmOptions {
|
|
4
|
+
/** Drop `NaN` (R's `NA`) before computing. Default `false`: a `NaN` gives `NaN`. */
|
|
5
|
+
naRm?: boolean;
|
|
6
|
+
}
|
|
7
|
+
/** The values as an array, NaN dropped when naRm; undefined when a NaN remains (the result is then NaN) */
|
|
8
|
+
export declare function values(x: Sample, naRm: boolean | undefined): number[] | undefined;
|
|
9
|
+
/**
|
|
10
|
+
* Sum of the values. Equivalent to R's `sum()` for a numeric vector (0 for an empty one).
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* sum([0.1, 0.2, 0.3]); // 0.6000000000000001 in plain JS addition, 0.6 here (correctly rounded)
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export declare function sum(x: Sample, options?: NaRmOptions): number;
|
|
18
|
+
/**
|
|
19
|
+
* Product of the values. Equivalent to R's `prod()` (1 for an empty vector).
|
|
20
|
+
*/
|
|
21
|
+
export declare function prod(x: Sample, options?: NaRmOptions): number;
|
|
22
|
+
/** Options for {@link mean}. */
|
|
23
|
+
export interface MeanOptions extends NaRmOptions {
|
|
24
|
+
/** Fraction (0 to 0.5) of values trimmed from each end before the mean. Default `0`. */
|
|
25
|
+
trim?: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Arithmetic mean, optionally trimmed. Equivalent to R's `mean()`. Accurate to the last bit: the sum is taken in
|
|
29
|
+
* double-double and corrected by the mean deviation, as R corrects its long double mean.
|
|
30
|
+
*/
|
|
31
|
+
export declare function mean(x: Sample, options?: MeanOptions): number;
|
|
32
|
+
/**
|
|
33
|
+
* Weighted mean `sum(x w) / sum(w)`. Equivalent to R's `weighted.mean()`: values with weight 0 do not enter the
|
|
34
|
+
* numerator (even if infinite or NaN), and `naRm` drops missing values of `x` with their weights.
|
|
35
|
+
*/
|
|
36
|
+
export declare function weightedMean(x: Sample, w: Sample, options?: NaRmOptions): number;
|
|
37
|
+
/**
|
|
38
|
+
* Sample variance (denominator n - 1). Equivalent to R's `var()` for a vector (`NaN` for fewer than 2 values); named
|
|
39
|
+
* `variance` because `var` cannot be a name in JavaScript. For matrices use `cov`.
|
|
40
|
+
*/
|
|
41
|
+
export declare function variance(x: Sample, options?: NaRmOptions): number;
|
|
42
|
+
/** Sample standard deviation (denominator n - 1). Equivalent to R's `sd()`. */
|
|
43
|
+
export declare function sd(x: Sample, options?: NaRmOptions): number;
|
|
44
|
+
/** Median of the values (the mean of the two middle ones for an even count). Equivalent to R's `median()`. */
|
|
45
|
+
export declare function median(x: Sample, options?: NaRmOptions): number;
|
|
46
|
+
/**
|
|
47
|
+
* `[min, max]` of the values. Equivalent to R's `range()` (`[NaN, NaN]` with a missing value unless `naRm`;
|
|
48
|
+
* `[Infinity, -Infinity]` for an empty vector).
|
|
49
|
+
*/
|
|
50
|
+
export declare function range(x: Sample, options?: NaRmOptions): [number, number];
|
|
51
|
+
/** Running sums. Equivalent to R's `cumsum()`: each partial sum is rounded from an exact accumulator; `NaN` from the first `NaN` on. */
|
|
52
|
+
export declare function cumsum(x: Sample): number[];
|
|
53
|
+
/**
|
|
54
|
+
* Running products. Equivalent to R's `cumprod()`: products beyond the double range show as ±Infinity with the right
|
|
55
|
+
* sign, as R's long double accumulator does.
|
|
56
|
+
*/
|
|
57
|
+
export declare function cumprod(x: Sample): number[];
|
|
58
|
+
/** Running maxima. Equivalent to R's `cummax()`: `NaN` from the first `NaN` on. */
|
|
59
|
+
export declare function cummax(x: Sample): number[];
|
|
60
|
+
/** Running minima. Equivalent to R's `cummin()`. */
|
|
61
|
+
export declare function cummin(x: Sample): number[];
|
|
62
|
+
/** Options for {@link diff}. */
|
|
63
|
+
export interface DiffOptions {
|
|
64
|
+
/** Distance between the values subtracted. Default `1`. */
|
|
65
|
+
lag?: number;
|
|
66
|
+
/** Number of times differences are taken. Default `1`. */
|
|
67
|
+
differences?: number;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Lagged and iterated differences. Equivalent to R's `diff()` for a vector (empty when `lag * differences` is at
|
|
71
|
+
* least the length).
|
|
72
|
+
*/
|
|
73
|
+
export declare function diff(x: Sample, options?: DiffOptions): number[];
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
// Basic summaries of a numeric vector: R's sum, prod, mean (with trim), weighted.mean, var, sd, median, range,
|
|
2
|
+
// cumsum, cumprod, cummax, cummin and diff.
|
|
3
|
+
//
|
|
4
|
+
// Written for rStats.js (no ported code). R accumulates sums and products in long double (64-bit mantissa) and
|
|
5
|
+
// rounds once at the end; here they are accumulated in double-double (106 bits) and rounded once, which gives the
|
|
6
|
+
// correctly rounded result in the same cases and more. Products keep a separate power-of-two exponent, so that
|
|
7
|
+
// intermediate values beyond the double range do not overflow (as long double's wider exponent avoids in R).
|
|
8
|
+
// As everywhere in rStats.js, NaN stands for R's NA: with `naRm` it is dropped, otherwise it propagates.
|
|
9
|
+
import { mean as meanOf, meanDD, variance as varianceOf } from "../internal/summary.js";
|
|
10
|
+
import { ddAdd, ddMul } from "../special/dd.js";
|
|
11
|
+
/** The values as an array, NaN dropped when naRm; undefined when a NaN remains (the result is then NaN) */
|
|
12
|
+
export function values(x, naRm) {
|
|
13
|
+
const xs = Array.from(x);
|
|
14
|
+
if (naRm)
|
|
15
|
+
return xs.filter((v) => !Number.isNaN(v));
|
|
16
|
+
return xs.some(Number.isNaN) ? undefined : xs;
|
|
17
|
+
}
|
|
18
|
+
/** Sum of finite values in double-double; with infinities the plain sum (Inf, -Inf or NaN) */
|
|
19
|
+
function sumOf(xs) {
|
|
20
|
+
if (!xs.every(Number.isFinite))
|
|
21
|
+
return xs.reduce((a, b) => a + b, 0);
|
|
22
|
+
let s = [0, 0];
|
|
23
|
+
for (const v of xs)
|
|
24
|
+
s = ddAdd(s, [v, 0]);
|
|
25
|
+
return s[0] + s[1];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Sum of the values. Equivalent to R's `sum()` for a numeric vector (0 for an empty one).
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* sum([0.1, 0.2, 0.3]); // 0.6000000000000001 in plain JS addition, 0.6 here (correctly rounded)
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export function sum(x, options = {}) {
|
|
36
|
+
const xs = values(x, options.naRm);
|
|
37
|
+
return xs === undefined ? NaN : sumOf(xs);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Product of the values. Equivalent to R's `prod()` (1 for an empty vector).
|
|
41
|
+
*/
|
|
42
|
+
export function prod(x, options = {}) {
|
|
43
|
+
const xs = values(x, options.naRm);
|
|
44
|
+
if (xs === undefined)
|
|
45
|
+
return NaN;
|
|
46
|
+
if (!xs.every(Number.isFinite) || xs.includes(0))
|
|
47
|
+
return xs.reduce((a, b) => a * b, 1);
|
|
48
|
+
// mantissa in double-double, exponent apart: value = (h + l) 2^e
|
|
49
|
+
let p = [1, 0];
|
|
50
|
+
let e = 0;
|
|
51
|
+
for (const v of xs) {
|
|
52
|
+
p = ddMul(p, [v, 0]);
|
|
53
|
+
const k = Math.floor(Math.log2(Math.abs(p[0])));
|
|
54
|
+
if (k > 500 || k < -500) {
|
|
55
|
+
const f = 2 ** -k;
|
|
56
|
+
p = [p[0] * f, p[1] * f];
|
|
57
|
+
e += k;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return scaled(p, e);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Arithmetic mean, optionally trimmed. Equivalent to R's `mean()`. Accurate to the last bit: the sum is taken in
|
|
64
|
+
* double-double and corrected by the mean deviation, as R corrects its long double mean.
|
|
65
|
+
*/
|
|
66
|
+
export function mean(x, options = {}) {
|
|
67
|
+
const xs = values(x, options.naRm);
|
|
68
|
+
if (xs === undefined)
|
|
69
|
+
return NaN;
|
|
70
|
+
const n = xs.length;
|
|
71
|
+
if (n === 0)
|
|
72
|
+
return NaN;
|
|
73
|
+
let trim = options.trim ?? 0;
|
|
74
|
+
if (Number.isNaN(trim))
|
|
75
|
+
throw new RangeError("'trim' must be numeric of length one");
|
|
76
|
+
if (trim > 0 && n > 0) {
|
|
77
|
+
if (trim >= 0.5)
|
|
78
|
+
return median(xs);
|
|
79
|
+
trim = Math.max(trim, 0);
|
|
80
|
+
const lo = Math.floor(n * trim);
|
|
81
|
+
const s = [...xs].sort((a, b) => a - b);
|
|
82
|
+
return meanOf(s.slice(lo, n - lo));
|
|
83
|
+
}
|
|
84
|
+
return meanOf(xs);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Weighted mean `sum(x w) / sum(w)`. Equivalent to R's `weighted.mean()`: values with weight 0 do not enter the
|
|
88
|
+
* numerator (even if infinite or NaN), and `naRm` drops missing values of `x` with their weights.
|
|
89
|
+
*/
|
|
90
|
+
export function weightedMean(x, w, options = {}) {
|
|
91
|
+
let xs = Array.from(x);
|
|
92
|
+
let ws = Array.from(w);
|
|
93
|
+
if (xs.length !== ws.length)
|
|
94
|
+
throw new RangeError("'x' and 'w' must have the same length");
|
|
95
|
+
if (options.naRm) {
|
|
96
|
+
const keep = xs.map((v) => !Number.isNaN(v));
|
|
97
|
+
xs = xs.filter((_, i) => keep[i]);
|
|
98
|
+
ws = ws.filter((_, i) => keep[i]);
|
|
99
|
+
}
|
|
100
|
+
const prods = [];
|
|
101
|
+
for (let i = 0; i < xs.length; i++)
|
|
102
|
+
if (ws[i] !== 0)
|
|
103
|
+
prods.push(xs[i] * ws[i]);
|
|
104
|
+
return sumOf(prods) / sumOf(ws);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Sample variance (denominator n - 1). Equivalent to R's `var()` for a vector (`NaN` for fewer than 2 values); named
|
|
108
|
+
* `variance` because `var` cannot be a name in JavaScript. For matrices use `cov`.
|
|
109
|
+
*/
|
|
110
|
+
export function variance(x, options = {}) {
|
|
111
|
+
const xs = values(x, options.naRm);
|
|
112
|
+
if (xs === undefined)
|
|
113
|
+
return NaN;
|
|
114
|
+
return varianceOf(xs);
|
|
115
|
+
}
|
|
116
|
+
/** Sample standard deviation (denominator n - 1). Equivalent to R's `sd()`. */
|
|
117
|
+
export function sd(x, options = {}) {
|
|
118
|
+
return Math.sqrt(variance(x, options));
|
|
119
|
+
}
|
|
120
|
+
/** Median of the values (the mean of the two middle ones for an even count). Equivalent to R's `median()`. */
|
|
121
|
+
export function median(x, options = {}) {
|
|
122
|
+
const xs = values(x, options.naRm);
|
|
123
|
+
if (xs === undefined)
|
|
124
|
+
return NaN;
|
|
125
|
+
const n = xs.length;
|
|
126
|
+
if (n === 0)
|
|
127
|
+
return NaN;
|
|
128
|
+
const s = [...xs].sort((a, b) => a - b);
|
|
129
|
+
const h = Math.floor(n / 2);
|
|
130
|
+
return n % 2 === 1 ? s[h] : meanDD([s[h - 1], s[h]])[0];
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* `[min, max]` of the values. Equivalent to R's `range()` (`[NaN, NaN]` with a missing value unless `naRm`;
|
|
134
|
+
* `[Infinity, -Infinity]` for an empty vector).
|
|
135
|
+
*/
|
|
136
|
+
export function range(x, options = {}) {
|
|
137
|
+
const xs = values(x, options.naRm);
|
|
138
|
+
if (xs === undefined)
|
|
139
|
+
return [NaN, NaN];
|
|
140
|
+
let lo = Infinity;
|
|
141
|
+
let hi = -Infinity;
|
|
142
|
+
for (const v of xs) {
|
|
143
|
+
if (v < lo)
|
|
144
|
+
lo = v;
|
|
145
|
+
if (v > hi)
|
|
146
|
+
hi = v;
|
|
147
|
+
}
|
|
148
|
+
return [lo, hi];
|
|
149
|
+
}
|
|
150
|
+
/** Running sums. Equivalent to R's `cumsum()`: each partial sum is rounded from an exact accumulator; `NaN` from the first `NaN` on. */
|
|
151
|
+
export function cumsum(x) {
|
|
152
|
+
const out = [];
|
|
153
|
+
let s = [0, 0];
|
|
154
|
+
let plain = 0;
|
|
155
|
+
let exact = true;
|
|
156
|
+
for (const v of Array.from(x)) {
|
|
157
|
+
plain += v;
|
|
158
|
+
if (exact && Number.isFinite(v)) {
|
|
159
|
+
s = ddAdd(s, [v, 0]);
|
|
160
|
+
out.push(s[0] + s[1]);
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
exact = false;
|
|
164
|
+
out.push(Number.isNaN(v) || Number.isNaN(plain) ? NaN : plain);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return out;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Running products. Equivalent to R's `cumprod()`: products beyond the double range show as ±Infinity with the right
|
|
171
|
+
* sign, as R's long double accumulator does.
|
|
172
|
+
*/
|
|
173
|
+
export function cumprod(x) {
|
|
174
|
+
const out = [];
|
|
175
|
+
// exact while the factors are finite and non-zero: double-double mantissa times 2^e
|
|
176
|
+
let p = [1, 0];
|
|
177
|
+
let e = 0;
|
|
178
|
+
let plain;
|
|
179
|
+
for (const v of Array.from(x)) {
|
|
180
|
+
if (plain === undefined && (!Number.isFinite(v) || v === 0))
|
|
181
|
+
plain = scaled(p, e);
|
|
182
|
+
if (plain !== undefined) {
|
|
183
|
+
plain *= v;
|
|
184
|
+
out.push(plain);
|
|
185
|
+
continue;
|
|
186
|
+
}
|
|
187
|
+
p = ddMul(p, [v, 0]);
|
|
188
|
+
const k = Math.floor(Math.log2(Math.abs(p[0])));
|
|
189
|
+
if (k > 500 || k < -500) {
|
|
190
|
+
p = [p[0] * 2 ** -k, p[1] * 2 ** -k];
|
|
191
|
+
e += k;
|
|
192
|
+
}
|
|
193
|
+
out.push(scaled(p, e));
|
|
194
|
+
}
|
|
195
|
+
return out;
|
|
196
|
+
}
|
|
197
|
+
/** (h + l) 2^e rounded to double (±Infinity or 0 beyond the range) */
|
|
198
|
+
function scaled(p, e) {
|
|
199
|
+
let r = p[0] + p[1];
|
|
200
|
+
while (e > 0 && Number.isFinite(r)) {
|
|
201
|
+
const s = Math.min(e, 1000);
|
|
202
|
+
r *= 2 ** s;
|
|
203
|
+
e -= s;
|
|
204
|
+
}
|
|
205
|
+
while (e < 0 && r !== 0) {
|
|
206
|
+
const s = Math.max(e, -1000);
|
|
207
|
+
r *= 2 ** s;
|
|
208
|
+
e -= s;
|
|
209
|
+
}
|
|
210
|
+
return r;
|
|
211
|
+
}
|
|
212
|
+
function cumExtreme(x, better) {
|
|
213
|
+
const out = [];
|
|
214
|
+
let m = NaN;
|
|
215
|
+
let seenNaN = false;
|
|
216
|
+
for (const v of Array.from(x)) {
|
|
217
|
+
if (seenNaN || Number.isNaN(v)) {
|
|
218
|
+
seenNaN = true;
|
|
219
|
+
out.push(NaN);
|
|
220
|
+
continue;
|
|
221
|
+
}
|
|
222
|
+
if (out.length === 0 || better(v, m))
|
|
223
|
+
m = v;
|
|
224
|
+
out.push(m);
|
|
225
|
+
}
|
|
226
|
+
return out;
|
|
227
|
+
}
|
|
228
|
+
/** Running maxima. Equivalent to R's `cummax()`: `NaN` from the first `NaN` on. */
|
|
229
|
+
export function cummax(x) {
|
|
230
|
+
return cumExtreme(x, (a, b) => a > b);
|
|
231
|
+
}
|
|
232
|
+
/** Running minima. Equivalent to R's `cummin()`. */
|
|
233
|
+
export function cummin(x) {
|
|
234
|
+
return cumExtreme(x, (a, b) => a < b);
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Lagged and iterated differences. Equivalent to R's `diff()` for a vector (empty when `lag * differences` is at
|
|
238
|
+
* least the length).
|
|
239
|
+
*/
|
|
240
|
+
export function diff(x, options = {}) {
|
|
241
|
+
const lag = options.lag ?? 1;
|
|
242
|
+
const differences = options.differences ?? 1;
|
|
243
|
+
if (!(Number.isInteger(lag) && lag >= 1 && Number.isInteger(differences) && differences >= 1)) {
|
|
244
|
+
throw new RangeError("'lag' and 'differences' must be integers >= 1");
|
|
245
|
+
}
|
|
246
|
+
let r = Array.from(x);
|
|
247
|
+
if (lag * differences >= r.length)
|
|
248
|
+
return [];
|
|
249
|
+
for (let d = 0; d < differences; d++) {
|
|
250
|
+
const next = [];
|
|
251
|
+
for (let i = lag; i < r.length; i++)
|
|
252
|
+
next.push(r[i] - r[i - lag]);
|
|
253
|
+
r = next;
|
|
254
|
+
}
|
|
255
|
+
return r;
|
|
256
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { Sample } from "../htest/types.js";
|
|
2
|
+
/** Correlation or covariance method, as R's `method`. */
|
|
3
|
+
export type CorMethod = "pearson" | "kendall" | "spearman";
|
|
4
|
+
/** Handling of missing values, as R's `use`. */
|
|
5
|
+
export type CorUse = "everything" | "all.obs" | "complete.obs" | "na.or.complete" | "pairwise.complete.obs";
|
|
6
|
+
/** Options for {@link cov} and {@link cor}. */
|
|
7
|
+
export interface CovOptions {
|
|
8
|
+
/** Default `"pearson"`. Unambiguous abbreviations are accepted. */
|
|
9
|
+
method?: CorMethod | (string & {});
|
|
10
|
+
/** Default `"everything"`. Unambiguous abbreviations are accepted. */
|
|
11
|
+
use?: CorUse | (string & {});
|
|
12
|
+
}
|
|
13
|
+
type Input = Sample | readonly (readonly number[])[];
|
|
14
|
+
/**
|
|
15
|
+
* Covariance of two vectors, or covariance matrix of the columns of a matrix (or between the columns of `x` and `y`).
|
|
16
|
+
* Equivalent to R's `cov()`.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* cov([1, 2, 3, 4], [2, 4, 5, 9]); // 3.6666666666666665
|
|
21
|
+
* cov([[1, 2], [2, 4], [3, 5], [4, 9]]); // 2 x 2 matrix
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare function cov(x: Sample, y: Sample, options?: CovOptions): number;
|
|
25
|
+
export declare function cov(x: Input, y?: Input, options?: CovOptions): number | number[][];
|
|
26
|
+
/**
|
|
27
|
+
* Correlation of two vectors, or correlation matrix of the columns of a matrix (or between the columns of `x` and
|
|
28
|
+
* `y`). Equivalent to R's `cor()`. Pearson correlations are computed in double-double, so they can be slightly more
|
|
29
|
+
* accurate than R's (exactly 1 for perfectly correlated data).
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```ts
|
|
33
|
+
* cor([1, 2, 3, 4], [2, 4, 5, 9]); // 0.9561828874675149
|
|
34
|
+
* cor([1, 2, 3, 4], [2, 4, 5, 9], { method: "spearman" }); // 1
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare function cor(x: Sample, y: Sample, options?: CovOptions): number;
|
|
38
|
+
export declare function cor(x: Input, y?: Input, options?: CovOptions): number | number[][];
|
|
39
|
+
export {};
|