UNPKG

@stdlib/esm

Version:

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

3 lines 3.92 kB
// This file is a part of stdlib. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 import r from"./../../../number/float64/base/get-high-word.js";import e from"./../../../number/float64/base/get-low-word.js";import o from"./../../../number/float64/base/from-words.js";import f from"./floor.js";import n from"./ldexp.js";import t from"./round.js";var a=f,i=n,u=[10680707,7228996,1387004,2578385,16069853,12639074,9804092,4427841,16666979,11263675,12935607,2387514,4345298,14681673,3074569,13734428,16653803,1880361,10960616,8533493,3062596,8710556,7349940,6258241,3772886,3769171,3798172,8675211,12450088,3874808,9961438,366607,15675153,9132554,7151469,3571407,2607881,12013382,4155038,6285869,7677882,13102053,15825725,473591,9065106,15363067,6271263,9264392,5636912,4652155,7056368,13614112,10155062,1944035,9527646,15080200,6658437,6231200,6832269,16767104,5075751,3212806,1398474,7579849,6349435,12618859],m=[1.570796251296997,7.549789415861596e-8,5390302529957765e-30,3282003415807913e-37,1270655753080676e-44,12293330898111133e-52,27337005381646456e-60,21674168387780482e-67],s=16777216,w=5.960464477539063e-8,l=b(new Array(20)),v=b(new Array(20)),c=b(new Array(20)),p=b(new Array(20));function b(r){var e,o=r.length;for(e=0;e<o;e++)r[e]=0;return r}function d(r,e,o,f,n,t,l,v,b){var j,y,A,g,h,N,x,k,q;for(g=t,q=f[o],k=o,h=0;k>0;h++)y=w*q|0,p[h]=q-s*y|0,q=f[k-1]+y,k-=1;if(q=i(q,n),q-=8*a(.125*q),q-=x=0|q,A=0,n>0?(x+=h=p[o-1]>>24-n,p[o-1]-=h<<24-n,A=p[o-1]>>23-n):0===n?A=p[o-1]>>23:q>=.5&&(A=2),A>0){for(x+=1,j=0,h=0;h<o;h++)k=p[h],0===j?0!==k&&(j=1,p[h]=16777216-k):p[h]=16777215-k;if(n>0)switch(n){case 1:p[o-1]&=8388607;break;case 2:p[o-1]&=4194303}2===A&&(q=1-q,0!==j&&(q-=i(1,n)))}if(0===q){for(k=0,h=o-1;h>=t;h--)k|=p[h];if(0===k){for(N=1;0===p[t-N];N++);for(h=o+1;h<=o+N;h++){for(b[v+h]=u[l+h],y=0,k=0;k<=v;k++)y+=r[k]*b[v+(h-k)];f[h]=y}return d(r,e,o+=N,f,n,t,l,v,b)}}if(0===q)for(o-=1,n-=24;0===p[o];)o-=1,n-=24;else(q=i(q,-n))>=s?(y=w*q|0,p[o]=q-s*y|0,n+=24,p[o+=1]=y):p[o]=0|q;for(y=i(1,n),h=o;h>=0;h--)f[h]=y*p[h],y*=w;for(h=o;h>=0;h--){for(y=0,N=0;N<=g&&N<=o-h;N++)y+=m[N]*f[h+N];c[o-h]=y}for(y=0,h=o;h>=0;h--)y+=c[h];for(e[0]=0===A?y:-y,y=c[0]-y,h=1;h<=o;h++)y+=c[h];return e[1]=0===A?y:-y,7&x}function j(r,e,o,f){var n,t,a,i,m,s,w;for(4,(t=(o-3)/24|0)<0&&(t=0),i=o-24*(t+1),s=t-(a=f-1),w=a+4,m=0;m<=w;m++)l[m]=s<0?0:u[s],s+=1;for(m=0;m<=4;m++){for(n=0,s=0;s<=a;s++)n+=r[s]*l[a+(m-s)];v[m]=n}return 4,d(r,e,4,v,i,4,t,a,l)}var y=t,A=r,g=.6366197723675814,h=1.5707963267341256,N=6077100506506192e-26,x=6077100506303966e-26,k=20222662487959506e-37,q=20222662487111665e-37,z=84784276603689e-45,B=2047;function C(r,e,o){var f,n,t,a,i;return t=r-(f=y(r*g))*h,a=f*N,i=e>>20|0,o[0]=t-a,i-(A(o[0])>>20&B)>16&&(a=f*k-((n=t)-(t=n-(a=f*x))-a),o[0]=t-a,i-(A(o[0])>>20&B)>49&&(a=f*z-((n=t)-(t=n-(a=f*q))-a),o[0]=t-a)),o[1]=t-o[0]-a,f}var D=r,E=e,F=o,G=j,H=C,I=0,J=16777216,K=1.5707963267341256,L=6077100506506192e-26,M=2*L,O=3*L,P=4*L,Q=2147483647,R=2146435072,S=1048575,T=598523,U=1072243195,V=1073928572,W=1074752122,X=1074977148,Y=1075183036,Z=1075388923,$=1075594811,_=1094263291,rr=new Array(3),er=new Array(2);function or(r,e){var o,f,n,t,a,i,u;if((n=D(r)&Q|0)<=U)return e[0]=r,e[1]=0,0;if(n<=W)return(n&S)===T?H(r,n,e):n<=V?r>0?(u=r-K,e[0]=u-L,e[1]=u-e[0]-L,1):(u=r+K,e[0]=u+L,e[1]=u-e[0]+L,-1):r>0?(u=r-2*K,e[0]=u-M,e[1]=u-e[0]-M,2):(u=r+2*K,e[0]=u+M,e[1]=u-e[0]+M,-2);if(n<=$)return n<=Y?n===X?H(r,n,e):r>0?(u=r-3*K,e[0]=u-O,e[1]=u-e[0]-O,3):(u=r+3*K,e[0]=u+O,e[1]=u-e[0]+O,-3):n===Z?H(r,n,e):r>0?(u=r-4*K,e[0]=u-P,e[1]=u-e[0]-P,4):(u=r+4*K,e[0]=u+P,e[1]=u-e[0]+P,-4);if(n<_)return H(r,n,e);if(n>=R)return e[0]=NaN,e[1]=NaN,0;for(o=E(r),u=F(n-((f=(n>>20)-1046)<<20|0),o),a=0;a<2;a++)rr[a]=0|u,u=(u-rr[a])*J;for(rr[2]=u,t=3;rr[t-1]===I;)t-=1;return i=G(rr,er,f,t),r<0?(e[0]=-er[0],e[1]=-er[1],-i):(e[0]=er[0],e[1]=er[1],i)}var fr=or;export default fr; //# sourceMappingURL=rempio2.js.map