UNPKG

@stdlib/esm

Version:

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

3 lines 1.47 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 t from"./../../../number/float64/base/set-high-word.js";import o from"./../../../number/float64/base/set-low-word.js";import n from"./../../../number/float64/base/to-words.js";import a from"./../assert/is-nan.js";import e from"./../../../constants/math/float64-exponent-bias.js";import f from"./../../../constants/math/float64-ninf.js";function s(r){return 0===r?.3999999999940942:.3999999999940942+r*(.22222198432149784+.15313837699209373*r)}function m(r){return 0===r?.6666666666666735:.6666666666666735+r*(.2857142874366239+r*(.1818357216161805+.14798198605116586*r))}var i=r,u=s,b=m,p=1048575,l=.3333333333333333;function j(r){var t,o,n,a,e,f,s,m,j,c;return n=i(r),a=r-1,(p&2+n)<3?0===a?0:a*a*(l*a-.5):(j=(n&=p)-398458|0,c=440401-n|0,o=(m=(f=(e=a/(2+a))*e)*f)*u(m),s=f*b(m)+o,(j|=c)>0?e*((t=.5*a*a)+s)-t:e*(s-a))}var c=r,h=t,d=o,v=n,w=a,g=e,x=f,N=j,k=0x40000000000000,q=1.4426950407214463,y=1.6751713164886512e-10,z=1048575,A=2146435072,B=1048576,C=1072693248,D=2147483647,E=[0,0];function F(r){var t,o,n,a,e,f;if(w(r)||r<0)return NaN;if(v(E,r),o=E[0],n=E[1],f=0,o<B){if(0==(o&D|n))return x;f-=54,o=c(r*=k)}return o>=A?r+r:(f+=(o>>20)-g|0,r=h(r,(o&=z)|(e=o+614244&1048576|0)^C),f+=e>>20|0,a=N(r),t=d(r-=1,0),(r+a)*y+(r-t+a)*q+t*q+f)}var G=F;export default G; //# sourceMappingURL=log2.js.map