bignumber.js/bignumber.min.js

1 line
17 KiB
JavaScript
Raw Normal View History

2017-08-11 20:34:13 +00:00
!function(e){"use strict";function n(e){function a(e,n){var t,r,i,o,u,s,l=this;if(!(l instanceof a))return z&&_(26,"constructor call without new",e),new a(e,n);if(null!=n&&V(n,2,64,C,"base")){if(n|=0,s=e+"",10==n)return l=new a(e instanceof a?e:s),I(l,B+l.e+1,P);if((o="number"==typeof e)&&0*e!=0||!new RegExp("^-?"+(t="["+v.slice(0,n)+"]+")+"(?:\\."+t+")?$",n<37?"i":"").test(s))return U(l,s,o,n);o?(l.s=1/e<0?(s=s.slice(1),-1):1,z&&s.replace(/^0\.0*|\./,"").length>15&&_(C,w,e),o=!1):l.s=45===s.charCodeAt(0)?(s=s.slice(1),-1):1,s=A(s,10,n,l.s)}else{if(e instanceof a)return l.s=e.s,l.e=e.e,l.c=(e=e.c)?e.slice():e,void(C=0);if((o="number"==typeof e)&&0*e==0){if(l.s=1/e<0?(e=-e,-1):1,e===~~e){for(r=0,i=e;i>=10;i/=10,r++);return l.e=r,l.c=[e],void(C=0)}s=e+""}else{if(!h.test(s=e+""))return U(l,s,o);l.s=45===s.charCodeAt(0)?(s=s.slice(1),-1):1}}for((r=s.indexOf("."))>-1&&(s=s.replace(".","")),(i=s.search(/e/i))>0?(r<0&&(r=i),r+=+s.slice(i+1),s=s.substring(0,i)):r<0&&(r=s.length),i=0;48===s.charCodeAt(i);i++);for(u=s.length;48===s.charCodeAt(--u););if(s=s.slice(i,u+1))if(u=s.length,o&&z&&u>15&&(e>y||e!==p(e))&&_(C,w,l.s*e),(r=r-i-1)>G)l.c=l.e=null;else if(r<$)l.c=[l.e=0];else{if(l.e=r,l.c=[],i=(r+1)%b,r<0&&(i+=b),i<u){for(i&&l.c.push(+s.slice(0,i)),u-=b;i<u;)l.c.push(+s.slice(i,i+=b));s=s.slice(i),i=b-s.length}else i-=u;for(;i--;s+="0");l.c.push(+s)}else l.c=[l.e=0];C=0}function A(e,n,t,i){var o,u,l,f,h,g,p,d=e.indexOf("."),m=B,w=P;for(t<37&&(e=e.toLowerCase()),d>=0&&(l=W,W=0,e=e.replace(".",""),h=(p=new a(t)).pow(e.length-d),W=l,p.c=s(c(r(h.c),h.e),10,n),p.e=p.c.length),u=l=(g=s(e,t,n)).length;0==g[--l];g.pop());if(!g[0])return"0";if(d<0?--u:(h.c=g,h.e=u,h.s=i,g=(h=L(h,p,m,w,n)).c,f=h.r,u=h.e),o=u+m+1,d=g[o],l=n/2,f=f||o<0||null!=g[o+1],f=w<4?(null!=d||f)&&(0==w||w==(h.s<0?3:2)):d>l||d==l&&(4==w||f||6==w&&1&g[o-1]||w==(h.s<0?8:7)),o<1||!g[0])e=f?c("1",-m):"0";else{if(g.length=o,f)for(--n;++g[--o]>n;)g[o]=0,o||(++u,g=[1].concat(g));for(l=g.length;!g[--l];);for(d=0,e="";d<=l;e+=v.charAt(g[d++]));e=c(e,u)}return e}function E(e,n,t,i){var o,u,s,f,h;if(t=null!=t&&V(t,0,8,i,m)?0|t:P,!e.c)return e.toString();if(o=e.c[0],s=e.e,null==n)h=r(e.c),h=19==i||24==i&&s<=q?l(h,s):c(h,s);else if(e=I(new a(e),n,t),u=e.e,h=r(e.c),f=h.length,19==i||24==i&&(n<=u||u<=q)){for(;f<n;h+="0",f++);h=l(h,u)}else if(n-=s,h=c(h,u),u+1>f){if(--n>0)for(h+=".";n--;h+="0");}else if((n+=u-f)>0)for(u+1==f&&(h+=".");n--;h+="0");return e.s<0&&o?"-"+h:h}function x(e,n){var t,r,i=0;for(u(e[0])&&(e=e[0]),t=new a(e[0]);++i<e.length;){if(!(r=new a(e[i])).s){t=r;break}n.call(t,r)&&(t=r)}return t}function D(e,n,t,r,i){return(e<n||e>t||e!=f(e))&&_(r,(i||"decimal places")+(e<n||e>t?" out of range":" not an integer"),e),!0}function F(e,n,t){for(var r=1,i=n.length;!n[--i];n.pop());for(i=n[0];i>=10;i/=10,r++);return(t=r+t*b-1)>G?e.c=e.e=null:t<$?e.c=[e.e=0]:(e.e=t,e.c=n),e}function _(e,n,t){var r=new Error(["new BigNumber","cmp","config","div","divToInt","eq","gt","gte","lt","lte","minus","mod","plus","precision","random","round","shift","times","toDigits","toExponential","toFixed","toFormat","toFraction","pow","toPrecision","toString","BigNumber"][e]+"() "+n+": "+t);throw r.name="BigNumber Error",C=0,r}function I(e,n,t,r){var i,o,u,s,l,c,f,a=e.c,h=O;if(a){e:{for(i=1,s=a[0];s>=10;s/=10,i++);if((o=n-i)<0)o+=b,u=n,f=(l=a[c=0])/h[i-u-1]%10|0;else if((c=g((o+1)/b))>=a.length){if(!r)break e;for(;a.length<=c;a.push(0));l=f=0,i=1,u=(o%=b)-b+1}else{for(l=s=a[c],i=1;s>=10;s/=10,i++);f=(u=(o%=b)-b+i)<0?0:l/h[i-u-1]%10|0}if(r=r||n<0||null!=a[c+1]||(u<0?l:l%h[i-u-1]),r=t<4?(f||r)&&(0==t||t==(e.s<0?3:2)):f>5||5==f&&(4==t||r||6==t&&(o>0?u>0?l/h[i-u]:0:a[c-1])%10&1||t==(e.s<0?8:7)),n<1||!a[0])return a.length=0,r?(n-=e.e+1,a[0]=h[(b-n%b)%b],e.e=-n||0):a[0]=e.e=0,e;if(0==o?(a.length=c,s=1,c--):(a.length=c+1,s=h[b-o],a[c]=u>0?p(l/h[i-u]%h[u])*s:0),r)for(;;){if(0==c){for(o=1,u=a[0];u>=10;u/=10,o++);for(u=a[0]+=s,s=1;u>=10;u/=10,s++);o!=s&&(e.e++,a[0]==N&&(a[0]=1));break}if(a[c]+=s,a[c]!=N)break;a[c--]=0,s=1}for(o=a.length;0===a[--o];a.pop());}e.e>G?e.c=e.e=null:e.e<$&&(e.c=[e.e=0])}return e}var L,