1 line
55 KiB
JavaScript
1 line
55 KiB
JavaScript
|
|
(()=>{var e={16:function(e){(function(t){"use strict";var r,i=20,s=1,n=1e6,o=1e6,A=-7,c=21,u="[big.js] ",f=u+"Invalid ",g=f+"decimal places",a=f+"rounding mode",h=u+"Division by zero",l={},p=void 0,I=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;function _Big_(){function Big(e){var t=this;if(!(t instanceof Big))return e===p?_Big_():new Big(e);if(e instanceof Big){t.s=e.s;t.e=e.e;t.c=e.c.slice()}else{parse(t,e)}t.constructor=Big}Big.prototype=l;Big.DP=i;Big.RM=s;Big.NE=A;Big.PE=c;Big.version="5.2.2";return Big}function parse(e,t){var r,i,s;if(t===0&&1/t<0)t="-0";else if(!I.test(t+=""))throw Error(f+"number");e.s=t.charAt(0)=="-"?(t=t.slice(1),-1):1;if((r=t.indexOf("."))>-1)t=t.replace(".","");if((i=t.search(/e/i))>0){if(r<0)r=i;r+=+t.slice(i+1);t=t.substring(0,i)}else if(r<0){r=t.length}s=t.length;for(i=0;i<s&&t.charAt(i)=="0";)++i;if(i==s){e.c=[e.e=0]}else{for(;s>0&&t.charAt(--s)=="0";);e.e=r-i-1;e.c=[];for(r=0;i<=s;)e.c[r++]=+t.charAt(i++)}return e}function round(e,t,r,i){var s=e.c,n=e.e+t+1;if(n<s.length){if(r===1){i=s[n]>=5}else if(r===2){i=s[n]>5||s[n]==5&&(i||n<0||s[n+1]!==p||s[n-1]&1)}else if(r===3){i=i||!!s[0]}else{i=false;if(r!==0)throw Error(a)}if(n<1){s.length=1;if(i){e.e=-t;s[0]=1}else{s[0]=e.e=0}}else{s.length=n--;if(i){for(;++s[n]>9;){s[n]=0;if(!n--){++e.e;s.unshift(1)}}}for(n=s.length;!s[--n];)s.pop()}}else if(r<0||r>3||r!==~~r){throw Error(a)}return e}function stringify(e,t,r,i){var s,o,A=e.constructor,c=!e.c[0];if(r!==p){if(r!==~~r||r<(t==3)||r>n){throw Error(t==3?f+"precision":g)}e=new A(e);r=i-e.e;if(e.c.length>++i)round(e,r,A.RM);if(t==2)i=e.e+r+1;for(;e.c.length<i;)e.c.push(0)}s=e.e;o=e.c.join("");r=o.length;if(t!=2&&(t==1||t==3&&i<=s||s<=A.NE||s>=A.PE)){o=o.charAt(0)+(r>1?"."+o.slice(1):"")+(s<0?"e":"e+")+s}else if(s<0){for(;++s;)o="0"+o;o="0."+o}else if(s>0){if(++s>r)for(s-=r;s--;)o+="0";else if(s<r)o=o.slice(0,s)+"."+o.slice(s)}else if(r>1){o=o.charAt(0)+"."+o.slice(1)}return e.s<0&&(!c||t==4)?"-"+o:o}l.abs=function(){var e=new this.constructor(this);e.s=1;return e};l.cmp=function(e){var t,r=this,i=r.c,s=(e=new r.constructor(e)).c,n=r.s,o=e.s,A=r.e,c=e.e;if(!i[0]||!s[0])return!i[0]?!s[0]?0:-o:n;if(n!=o)return n;t=n<0;if(A!=c)return A>c^t?1:-1;o=(A=i.length)<(c=s.length)?A:c;for(n=-1;++n<o;){if(i[n]!=s[n])return i[n]>s[n]^t?1:-1}return A==c?0:A>c^t?1:-1};l.div=function(e){var t=this,r=t.constructor,i=t.c,s=(e=new r(e)).c,o=t.s==e.s?1:-1,A=r.DP;if(A!==~~A||A<0||A>n)throw Error(g);if(!s[0])throw Error(h);if(!i[0])return new r(o*0);var c,u,f,a,l,I=s.slice(),d=c=s.length,B=i.length,E=i.slice(0,c),C=E.length,Q=e,m=Q.c=[],y=0,w=A+(Q.e=t.e-e.e)+1;Q.s=o;o=w<0?0:w;I.unshift(0);for(;C++<c;)E.push(0);do{for(f=0;f<10;f++){if(c!=(C=E.length)){a=c>C?1:-1}else{for(l=-1,a=0;++l<c;){if(s[l]!=E[l]){a=s[l]>E[l]?1:-1;break}}}if(a<0){for(u=C==c?s:I;C;){if(E[--C]<u[C]){l=C;for(;l&&!E[--l];)E[l]=9;--E[l];E[C]+=10}E[C]-=u[C]}for(;!E[0];)E.shift()}else{break}}m[y++]=a?f:++f;if(E[0]&&a)E[C]=i[d]||0;else E=[i[d]]}while((d++<B||E[0]!==p)&&o--);if(!m[0]&&y!=1){m.shift();Q.e--}if(y>w)round(Q,A,r.RM,E[0]!==p);return Q};l.eq=function(e){return!this.cmp(e)};l.gt=function(e){return this.cmp(e)>0};l.gte=function(e){return this.cmp(e)>-1};l.lt=function(e){return this.cmp(e)<0};l.lte=function(e){return this.cmp(e)<1};l.minus=l.sub=function(e){var t,r,i,s,n=this,o=n.constructor,A=n.s,c=(e=new o(e)).s;if(A!=c){e.s=-c;return n.plus(e)}var u=n.c.slice(),f=n.e,g=e.c,a=e.e;if(!u[0]||!g[0]){return g[0]?(e.s=-c,e):new o(u[0]?n:0)}if(A=f-a){if(s=A<0){A=-A;i=u}else{a=f;i=g}i.reverse();for(c=A;c--;)i.push(0);i.reverse()}else{r=((s=u.length<g.length)?u:g).length;for(A=c=0;c<r;c++){if(u[c]!=g[c]){s=u[c]<g[c];break}}}if(s){i=u;u=g;g=i;e.s=-e.s}if((c=(r=g.length)-(t=u.length))>0)for(;c--;)u[t++]=0;for(c=t;r>A;){if(u[--r]<g[r]){for(t=r;t&&!u[--t];)u[t]=9;--u[t];u[r]+=10}u[r]-=g[r]}for(;u[--c]===0;)u.pop();for(;u[0]===0;){u.shift();--a}if(!u[0]){e.s=1;u=[a=0]}e.c=u;e.e=a;return e};l.mod=function(e){var t,r=this,i=r.constructor,s=r.s,n=(e=new i(e)).s;if(!e.c[0])throw Error(h);r.s=e.s=1;t=e.cmp(r)==1;r.s=s;e.s=n;if(t)return new i(r);s=i.DP;n=i.RM;i.DP=i.RM=0;r
|