UNPKG

@stdlib/math-base-special-ldexp

Version:

Multiply a double-precision floating-point number by an integer power of two.

6 lines (5 loc) 1.23 kB
"use strict";var t=function(e,r){return function(){return r||e((r={exports:{}}).exports,r),r.exports}};var s=t(function(W,n){ var q=require('@stdlib/constants-float64-pinf/dist'),N=require('@stdlib/constants-float64-ninf/dist'),o=require('@stdlib/constants-float64-exponent-bias/dist'),E=require('@stdlib/constants-float64-max-base2-exponent/dist'),A=require('@stdlib/constants-float64-max-base2-exponent-subnormal/dist'),_=require('@stdlib/constants-float64-min-base2-exponent-subnormal/dist'),O=require('@stdlib/math-base-assert-is-nan/dist'),I=require('@stdlib/math-base-assert-is-infinite/dist'),M=require('@stdlib/math-base-special-copysign/dist'),X=require('@stdlib/number-float64-base-normalize/dist').assign,f=require('@stdlib/number-float64-base-exponent/dist'),P=require('@stdlib/number-float64-base-to-words/dist'),R=require('@stdlib/number-float64-base-from-words/dist'),S=2220446049250313e-31,g=2148532223,v=[0,0],a=[0,0];function l(e,r){var i,u;return r===0||e===0||O(e)||I(e)?e:(X(e,v,1,0),e=v[0],r+=v[1],r+=f(e),r<_?M(0,e):r>E?e<0?N:q:(r<=A?(r+=52,u=S):u=1,P.assign(e,a,1,0),i=a[0],i&=g,i|=r+o<<20,u*R(i,a[1])))}n.exports=l });var m=s();module.exports=m; /** @license Apache-2.0 */ //# sourceMappingURL=index.js.map