UNPKG

@stdlib/esm

Version:

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

3 lines 1.32 kB
// This file is a part of stdlib. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 import r from"./../../../constants/math/float32-pinf.js";import t from"./../../../constants/math/float32-ninf.js";import n from"./../../../constants/math/float32-exponent-bias.js";import o from"./../../../math/base/special/abs.js";import s from"./../../../math/base/special/floor.js";import a from"./../../../string/right-pad.js";import i from"./../../../string/left-pad.js";import f from"./../../../string/repeat.js";var e=s;function m(r){for(var t,n="";r>0;)n=(t=r/2)===(r=e(t))?"0"+n:"1"+n;return n}var p=149,u=24;function l(r){var t,n,o,s;if(t="",0===r)return t;for(s=p,o=0;o<p&&((n=2*r)>=1?(r=n-1,t+="1",s===p&&(s=o)):(r=n,t+="0"),!(1===n||o-s>u));o++);return t}var g=r,b=t,c=n,h=o,j=s,v=a,d=i,x=f,k=m,q=l,w=23,y=8;function z(r){var t,n,o,s,a,i,f;if(n=r<0||1/r===b?"1":"0",r===g||r===b)return n+(s=x("1",y))+(o=x("0",w));if(r!=r)return n+(s=x("1",y))+(o="1"+x("0",w-1));if(0===r)return n+(s=x("0",y))+(o=x("0",w));if(i=(r=h(r))-(a=j(r)),a=k(a),i=q(i),a)s=a.length-1;else{for(f=0;f<i.length;f++)if("1"===i[f]){t=f+1;break}s=-t}return o=a+i,s<0?(s<=-c&&(t=c-1),o=o.substring(t)):o=o.substring(1),s=k(s+c),n+(s=d(s,y,"0"))+(o=v(o,w,"0").substring(0,w))}var A=z;export default A; //# sourceMappingURL=to-binary-string.js.map