diff --git a/CHANGELOG.md b/CHANGELOG.md index c6ab7c7..81891f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,18 +1,22 @@ +####5.0.5 +* 20/02/2015 +* Bugfix: #26 wrong precision applied. + ####5.0.4 -* 14/02/2015 +* 14/02/2015 * Bugfix: #26 clone. ####5.0.3 -* 06/02/2015 +* 06/02/2015 * Refactor tests. ####5.0.2 -* 05/02/2015 +* 05/02/2015 * Added immutability tests. * Minor *decimal.js* clean-up. ####5.0.1 -* 28/01/2015 +* 28/01/2015 * Bugfix: #20 cos mutates value. * Add pi info to docs. @@ -22,18 +26,18 @@ * Added most of JavaScript's `Math` object methods as Decimal methods. * Added `toBinary`, `toHexadecimal` and `toOctal` methods. * Added `isPositive` method. -* Removed the 15 significant digit limit for numbers. +* Removed the 15 significant digit limit for numbers. * `toFraction` now returns an array of two Decimals, not two strings. * String values containing whitespace or a plus sign are no longer accepted. * `valueOf` now returns `'-0'` for minus zero. * `comparedTo` now returns `NaN` not `null` for comparisons with `NaN`. * `Decimal.max` and `Decimal.min` no longer accept an array. -* The Decimal constructor and `toString` no longer accept a base argument. +* The Decimal constructor and `toString` no longer accept a base argument. * Binary, hexadecimal and octal prefixes are now recognised for string values. * Removed `Decimal.errors` configuration property. * Removed `toFormat` method. * Removed `Decimal.ONE`. -* Renamed `exponential` method to `naturalExponential`. +* Renamed `exponential` method to `naturalExponential`. * Renamed `Decimal.constructor` method to `Decimal.clone`. * Simplified error handling and amended error messages. * Refactored the test suite. diff --git a/decimal.js b/decimal.js index 422b693..31f7e28 100644 --- a/decimal.js +++ b/decimal.js @@ -1,10 +1,10 @@ -/*! decimal.js v5.0.4 https://github.com/MikeMcl/decimal.js/LICENCE */ +/*! decimal.js v5.0.5 https://github.com/MikeMcl/decimal.js/LICENCE */ ;(function (globalScope) { 'use strict'; /* - * decimal.js v5.0.4 + * decimal.js v5.0.5 * An arbitrary-precision Decimal type for JavaScript. * https://github.com/MikeMcl/decimal.js * Copyright (c) 2016 Michael Mclaughlin diff --git a/decimal.min.js b/decimal.min.js index 070219e..26dc728 100644 --- a/decimal.min.js +++ b/decimal.min.js @@ -1,4 +1,4 @@ -/* decimal.js v5.0.4 https://github.com/MikeMcl/decimal.js/LICENCE */ -!function(n){"use strict";function e(n){var e,i,t,r=n.length-1,s="",o=n[0];if(r>0){for(s+=o,e=1;r>e;e++)t=n[e]+"",i=Un-t.length,i&&(s+=l(i)),s+=t;o=n[e],t=o+"",i=Un-t.length,i&&(s+=l(i))}else if(0===o)return"0";for(;o%10===0;)o/=10;return s+o}function i(n,e,i){if(n!==~~n||e>n||n>i)throw Error(On+n)}function t(n,e,i,t){var r,s,o,u;for(s=n[0];s>=10;s/=10)--e;return--e<0?(e+=Un,r=0):(r=Math.ceil((e+1)/Un),e%=Un),s=Dn(10,Un-e),u=n[r]%s|0,null==t?3>e?(0==e?u=u/100|0:1==e&&(u=u/10|0),o=4>i&&99999==u||i>3&&49999==u||5e4==u||0==u):o=(4>i&&u+1==s||i>3&&u+1==s/2)&&(n[r+1]/s/100|0)==Dn(10,e-2)-1||(u==s/2||0==u)&&0==(n[r+1]/s/100|0):4>e?(0==e?u=u/1e3|0:1==e?u=u/100|0:2==e&&(u=u/10|0),o=(t||4>i)&&9999==u||!t&&i>3&&4999==u):o=((t||4>i)&&u+1==s||!t&&i>3&&u+1==s/2)&&(n[r+1]/s/1e3|0)==Dn(10,e-3)-1,o}function r(n,e,i){for(var t,r,s=[0],o=0,u=n.length;u>o;){for(r=s.length;r--;)s[r]*=e;for(s[0]+=Nn.indexOf(n.charAt(o++)),t=0;ti-1&&(void 0===s[t+1]&&(s[t+1]=0),s[t+1]+=s[t]/i|0,s[t]%=i)}return s.reverse()}function s(n,e){var i,t,r=e.d.length;32>r?(i=Math.ceil(r/3),t=Math.pow(4,-i).toString()):(i=16,t="2.3283064365386962890625e-10"),n.precision+=i,e=E(n,1,e.times(t),new n(wn));for(var s=i;s--;){var o=e.times(e);e=o.times(o).minus(o).times(8).plus(wn)}return n.precision-=i,e}function o(n,e,i,t){var r,s,o,u,c,f,h,a,l,d=n.constructor;n:if(null!=e){if(a=n.d,!a)return n;for(r=1,u=a[0];u>=10;u/=10)r++;if(s=e-r,0>s)s+=Un,o=e,h=a[l=0],c=h/Dn(10,r-o-1)%10|0;else if(l=Math.ceil((s+1)/Un),u=a.length,l>=u){if(!t)break n;for(;u++<=l;)a.push(0);h=c=0,r=1,s%=Un,o=s-Un+1}else{for(h=u=a[l],r=1;u>=10;u/=10)r++;s%=Un,o=s-Un+r,c=0>o?0:Fn(h/Dn(10,r-o-1)%10)}if(t=t||0>e||void 0!==a[l+1]||(0>o?h:h%Dn(10,r-o-1)),f=4>i?(c||t)&&(0==i||i==(n.s<0?3:2)):c>5||5==c&&(4==i||t||6==i&&(s>0?o>0?h/Dn(10,r-o):0:a[l-1])%10&1||i==(n.s<0?8:7)),1>e||!a[0])return a.length=0,f?(e-=n.e+1,a[0]=Dn(10,(Un-e%Un)%Un),n.e=-e||0):a[0]=n.e=0,n;if(0==s?(a.length=l,u=1,l--):(a.length=l+1,u=Dn(10,Un-s),a[l]=o>0?(h/Dn(10,r-o)%Dn(10,o)|0)*u:0),f)for(;;){if(0==l){for(s=1,o=a[0];o>=10;o/=10)s++;for(o=a[0]+=u,u=1;o>=10;o/=10)u++;s!=u&&(n.e++,a[0]==Ln&&(a[0]=1));break}if(a[l]+=u,a[l]!=Ln)break;a[l--]=0,u=1}for(s=a.length;0===a[--s];)a.pop()}return yn&&(n.e>d.maxE?(n.d=null,n.e=NaN):n.e0?o=o.charAt(0)+"."+o.slice(1)+l(r):u>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(n.e<0?"e":"e+")+n.e):0>s?(o="0."+l(-s-1)+o,t&&(r=t-u)>0&&(o+=l(r))):s>=u?(o+=l(s+1-u),t&&(r=t-s-1)>0&&(o=o+"."+l(r))):((r=s+1)0&&(s+1===u&&(o+="."),o+=l(r))),o}function c(n,e){for(var i=1,t=n[0];t>=10;t/=10)i++;return i+e*Un-1}function f(n,e,i){if(e>kn)throw yn=!0,i&&(n.precision=i),Error(qn);return o(new n(xn),e,1,!0)}function h(n,e,i){if(e>Tn)throw Error(qn);return o(new n(bn),e,i,!0)}function a(n){var e=n.length-1,i=e*Un+1;if(e=n[e]){for(;e%10==0;e/=10)i--;for(e=n[0];e>=10;e/=10)i++}return i}function l(n){for(var e="";n--;)e+="0";return e}function d(n,e,i,t){var r,s=new n(wn),o=Math.ceil(t/Un+4);for(yn=!1;;){if(i%2&&(s=s.times(e),A(s.d,o)&&(r=!0)),i=Fn(i/2),0===i){i=s.d.length-1,r&&0===s.d[i]&&++s.d[i];break}e=e.times(e),A(e.d,o)}return yn=!0,s}function g(n){return 1&n.d[n.d.length-1]}function p(n,e,i){for(var t,r=new n(e[0]),s=0;++s17)return new p(n.d?n.d[0]?n.s<0?0:1/0:wn:n.s?n.s<0?0:n:NaN);for(null==i?(yn=!1,a=m):a=i,h=new p(.03125);n.e>-2;)n=n.times(h),g+=5;for(s=Math.log(Dn(2,g))/Math.LN10*2+5|0,a+=s,r=c=f=new p(wn),p.precision=a;;){if(c=o(c.times(n),a,1),r=r.times(++d),h=f.plus(In(c,r,a,1)),e(h.d).slice(0,a)===e(f.d).slice(0,a)){for(u=g;u--;)f=o(f.times(f),a,1);if(null!=i)return p.precision=m,f;if(!(3>l&&t(f.d,a-s,w,l)))return o(f,p.precision=m,w,yn=!0);p.precision=a+=10,r=c=h=new p(wn),d=0,l++}f=h}}function m(n,i){var r,s,u,c,h,a,l,d,g,p,w,v=1,N=10,x=n,b=x.d,E=x.constructor,M=E.rounding,y=E.precision;if(x.s<0||!b||!b[0]||!x.e&&1==b[0]&&1==b.length)return new E(b&&!b[0]?-1/0:1!=x.s?NaN:b?0:x);if(null==i?(yn=!1,g=y):g=i,E.precision=g+=N,r=e(b),s=r.charAt(0),!(Math.abs(c=x.e)<15e14))return d=f(E,g+2,y).times(c+""),x=m(new E(s+"."+r.slice(1)),g-N).plus(d),E.precision=y,null==i?o(x,y,M,yn=!0):x;for(;7>s&&1!=s||1==s&&r.charAt(1)>3;)x=x.times(n),r=e(x.d),s=r.charAt(0),v++;for(c=x.e,s>1?(x=new E("0."+r),c++):x=new E(s+"."+r.slice(1)),p=x,l=h=x=In(x.minus(wn),x.plus(wn),g,1),w=o(x.times(x),g,1),u=3;;){if(h=o(h.times(w),g,1),d=l.plus(In(h,new E(u),g,1)),e(d.d).slice(0,g)===e(l.d).slice(0,g)){if(l=l.times(2),0!==c&&(l=l.plus(f(E,g+2,y).times(c+""))),l=In(l,new E(v),g,1),null!=i)return E.precision=y,l;if(!t(l.d,g-N,M,a))return o(l,E.precision=y,M,yn=!0);E.precision=g+=N,d=h=x=In(p.minus(wn),p.plus(wn),g,1),w=o(x.times(x),g,1),u=a=1}l=d,u+=2}}function v(n){return String(n.s*n.s/0)}function N(n,e){var i,t,r;for((i=e.indexOf("."))>-1&&(e=e.replace(".","")),(t=e.search(/e/i))>0?(0>i&&(i=t),i+=+e.slice(t+1),e=e.substring(0,t)):0>i&&(i=e.length),t=0;48===e.charCodeAt(t);t++);for(r=e.length;48===e.charCodeAt(r-1);--r);if(e=e.slice(t,r)){if(r-=t,n.e=i=i-t-1,n.d=[],t=(i+1)%Un,0>i&&(t+=Un),r>t){for(t&&n.d.push(+e.slice(0,t)),r-=Un;r>t;)n.d.push(+e.slice(t,t+=Un));e=e.slice(t),t=Un-e.length}else t-=r;for(;t--;)e+="0";n.d.push(+e),yn&&(n.e>n.constructor.maxE?(n.d=null,n.e=NaN):n.e0?(h=+e.slice(o+1),e=e.substring(2,o)):e=e.slice(2),o=e.indexOf("."),u=o>=0,t=n.constructor,u&&(e=e.replace(".",""),f=e.length,o=f-o,s=d(t,new t(i),o,2*o)),a=r(e,i,Ln),l=a.length-1,o=l;0===a[o];--o)a.pop();return 0>o?new t(0*n.s):(n.e=c(a,l),n.d=a,yn=!1,u&&(n=In(n,s,4*f)),h&&(n=n.times(Math.abs(h)<54?Math.pow(2,h):En.pow(2,h))),yn=!0,n)}function b(n,e){var i,t=e.d.length;if(3>t)return E(n,2,e,e);i=1.4*Math.sqrt(t),i=i>16?16:0|i,e=e.times(Math.pow(5,-i)),e=E(n,2,e,e);for(var r,s=new n(5),o=new n(16),u=new n(20);i--;)r=e.times(e),e=e.times(s.plus(r.times(o.times(r).minus(u))));return e}function E(n,e,i,t,r){var s,o,u,c,f=1,h=n.precision,a=Math.ceil(h/Un);for(yn=!1,c=i.times(i),u=new n(t);;){if(o=In(u.times(c),new n(e++*e++),h,1),u=r?t.plus(o):t.minus(o),t=In(o.times(c),new n(e++*e++),h,1),o=u.plus(t),void 0!==o.d[a]){for(s=a;o.d[s]===u.d[s]&&s--;);if(-1==s)break}s=u,u=t,t=o,o=s,f++}return yn=!0,o.d.length=a+1,o}function M(n,e){var i,t=e.s<0,r=h(n,n.precision,1),s=r.times(pn);if(e=e.abs(),e.lte(s))return gn=t?4:1,e;if(i=e.divToInt(r),i.isZero())gn=t?3:2;else{if(e=e.minus(i.times(r)),e.lte(s))return gn=g(i)?t?2:3:t?4:1,e;gn=g(i)?t?1:4:t?3:2}return e.minus(r).abs()}function y(n,e,t,s){var o,c,f,h,a,l,d,g,p,w=n.constructor,m=void 0!==t;if(m?(i(t,1,vn),void 0===s?s=w.rounding:i(s,0,8)):(t=w.precision,s=w.rounding),n.isFinite()){for(d=u(n),f=d.indexOf("."),m?(o=2,16==e?t=4*t-3:8==e&&(t=3*t-2)):o=e,f>=0&&(d=d.replace(".",""),p=new w(wn),p.e=d.length-f,p.d=r(u(p),10,o),p.e=p.d.length),g=r(d,10,o),c=a=g.length;0==g[--a];)g.pop();if(g[0]){if(0>f?c--:(n=new w(n),n.d=g,n.e=c,n=In(n,p,t,s,0,o),g=n.d,c=n.e,l=ln),f=g[t],h=o/2,l=l||void 0!==g[t+1],l=4>s?(void 0!==f||l)&&(0===s||s===(n.s<0?3:2)):f>h||f===h&&(4===s||l||6===s&&1&g[t-1]||s===(n.s<0?8:7)),g.length=t,l)for(;++g[--t]>o-1;)g[t]=0,t||(++c,g.unshift(1));for(a=g.length;!g[a-1];--a);for(f=0,d="";a>f;f++)d+=Nn.charAt(g[f]);if(m){if(a>1)if(16==e||8==e){for(f=16==e?4:3,--a;a%f;a++)d+="0";for(g=r(d,o,e),a=g.length;!g[a-1];--a);for(f=1,d="1.";a>f;f++)d+=Nn.charAt(g[f])}else d=d.charAt(0)+"."+d.slice(1);d=d+(0>c?"p":"p+")+c}else if(0>c){for(;++c;)d="0"+d;d="0."+d}else if(++c>a)for(c-=a;c--;)d+="0";else a>c&&(d=d.slice(0,c)+"."+d.slice(c))}else d=m?"0p+0":"0";d=(16==e?"0x":2==e?"0b":8==e?"0o":"")+d}else d=v(n);return n.s<0?"-"+d:d}function A(n,e){return n.length>e?(n.length=e,!0):void 0}function O(n){return new this(n).abs()}function q(n){return new this(n).acos()}function F(n){return new this(n).acosh()}function D(n,e){return new this(n).plus(e)}function Z(n){return new this(n).asin()}function P(n){return new this(n).asinh()}function R(n){return new this(n).atan()}function S(n){return new this(n).atanh()}function L(n,e){n=new this(n),e=new this(e);var i,t=this.precision,r=this.rounding,s=t+4;return n.s&&e.s?n.d||e.d?!e.d||n.isZero()?(i=e.s<0?h(this,t,r):new this(0),i.s=n.s):!n.d||e.isZero()?(i=h(this,s,1).times(pn),i.s=n.s):e.s<0?(this.precision=s,this.rounding=1,i=this.atan(In(n,e,s,1)),e=h(this,s,1),this.precision=t,this.rounding=r,i=n.s<0?i.minus(e):i.plus(e)):i=this.atan(In(n,e,s,1)):(i=h(this,s,1).times(e.s>0?.25:.75),i.s=n.s):i=new this(NaN),i}function U(n){return new this(n).cbrt()}function _(n){return o(n=new this(n),n.e+1,2)}function k(n){if(!n||"object"!=typeof n)throw Error(An+"Object expected");var e,i,t,r=["precision",1,vn,"rounding",0,8,"toExpNeg",-mn,0,"toExpPos",0,mn,"maxE",0,mn,"minE",-mn,0,"modulo",0,9];for(e=0;e=r[e+1]&&t<=r[e+2]))throw Error(On+i+": "+t);this[i]=t}if(n.hasOwnProperty(i="crypto"))if(void 0===(t=n[i]))this[i]=t;else{if(t!==!0&&t!==!1&&0!==t&&1!==t)throw Error(On+i+": "+t);this[i]=!(!t||!Mn||!Mn.getRandomValues&&!Mn.randomBytes)}return this}function T(n){return new this(n).cos()}function C(n){return new this(n).cosh()}function I(n){function e(n){var i,t,r,s=this;if(!(s instanceof e))return new e(n);if(s.constructor=e,n instanceof e)return s.s=n.s,s.e=n.e,void(s.d=(n=n.d)?n.slice():n);if(r=typeof n,"number"===r){if(0===n)return s.s=0>1/n?-1:1,s.e=0,void(s.d=[0]);if(0>n?(n=-n,s.s=-1):s.s=1,n===~~n&&1e7>n){for(i=0,t=n;t>=10;t/=10)i++;return s.e=i,void(s.d=[n])}return 0*n!==0?(n||(s.s=NaN),s.e=NaN,void(s.d=null)):N(s,n.toString())}if("string"!==r)throw Error(On+n);return 45===n.charCodeAt(0)?(n=n.slice(1),s.s=-1):s.s=1,Sn.test(n)?N(s,n):x(s,n)}var i,t,r;if(e.prototype=Cn,e.ROUND_UP=0,e.ROUND_DOWN=1,e.ROUND_CEIL=2,e.ROUND_FLOOR=3,e.ROUND_HALF_UP=4,e.ROUND_HALF_DOWN=5,e.ROUND_HALF_EVEN=6,e.ROUND_HALF_CEIL=7,e.ROUND_HALF_FLOOR=8,e.EUCLID=9,e.config=k,e.clone=I,e.abs=O,e.acos=q,e.acosh=F,e.add=D,e.asin=Z,e.asinh=P,e.atan=R,e.atanh=S,e.atan2=L,e.cbrt=U,e.ceil=_,e.cos=T,e.cosh=C,e.div=H,e.exp=B,e.floor=V,e.fromJSON=j,e.hypot=$,e.ln=J,e.log=W,e.log10=G,e.log2=z,e.max=K,e.min=Q,e.mod=X,e.mul=Y,e.pow=nn,e.random=en,e.round=tn,e.sign=rn,e.sin=sn,e.sinh=on,e.sqrt=un,e.sub=cn,e.tan=fn,e.tanh=hn,e.trunc=an,void 0===n&&(n={}),n)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],i=0;i81?[-1/0,1/0,NaN][s-82]:s>40?-(s-41):s);if(64&s)i=16&s,e=i?(7&s)-3:(15&s)-7,t=1;else{if(2===t)return s=88*s+Nn.indexOf(n.charAt(1)),new this(s>=2816?-(s-2816)-41:s+41);if(i=32&s,!(31&s))return n=r(n.slice(1),88,10).join(""),new this(i?"-"+n:n);e=15&s,t=e+1,e=1===e?Nn.indexOf(n.charAt(1)):2===e?88*Nn.indexOf(n.charAt(1))+Nn.indexOf(n.charAt(2)):+r(n.slice(1,t),88,10).join(""),16&s&&(e=-e)}return n=r(n.slice(t),88,10).join(""),e=e-n.length+1,n=n+"e"+e,new this(i?"-"+n:n)}function $(){var n,e,i=new this(0);for(yn=!1,n=0;no;)c[o++]=1e7*Math.random()|0;else if(Mn&&Mn.getRandomValues)for(e=Mn.getRandomValues(new Uint32Array(r));r>o;)s=e[o],s>=429e7?e[o]=Mn.getRandomValues(new Uint32Array(1))[0]:c[o++]=s%1e7;else if(Mn&&Mn.randomBytes){for(e=Mn.randomBytes(r*=4);r>o;)s=e[o]+(e[o+1]<<8)+(e[o+2]<<16)+((127&e[o+3])<<24),s>=214e7?Mn.randomBytes(4).copy(e,o):(c.push(s%1e7),o+=4);o=r/4}else{if(this.crypto)throw Error(An+"crypto unavailable");for(;r>o;)c[o++]=1e7*Math.random()|0}for(r=c[--o],n%=Un,r&&n&&(s=Dn(10,Un-n),c[o]=(r/s|0)*s);0===c[o];o--)c.pop();if(0>o)t=0,c=[0];else{for(t=-1;0===c[0];t-=Un)c.shift();for(r=1,s=c[0];s>=10;s/=10)r++;Un>r&&(t-=Un-r)}return u.e=t,u.d=c,u}function tn(n){return o(n=new this(n),n.e+1,this.rounding)}function rn(n){return n=new this(n),n.d?n.d[0]?n.s:0*n.s:n.s||NaN}function sn(n){return new this(n).sin()}function on(n){return new this(n).sinh()}function un(n){return new this(n).sqrt()}function cn(n,e){return new this(n).sub(e)}function fn(n){return new this(n).tan()}function hn(n){return new this(n).tanh()}function an(n){return o(n=new this(n),n.e+1,1)}var ln,dn,gn,pn,wn,mn=9e15,vn=1e9,Nn="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%()*+,-./:;=?@[]^_`{|}~",xn="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",bn="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",En={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-mn,maxE:mn,crypto:void 0},Mn="undefined"!=typeof crypto?crypto:null,yn=!0,An="[DecimalError] ",On=An+"Invalid argument: ",qn=An+"Precision limit exceeded",Fn=Math.floor,Dn=Math.pow,Zn=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Pn=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Rn=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Sn=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Ln=1e7,Un=7,_n=9007199254740991,kn=xn.length-1,Tn=bn.length-1,Cn={};Cn.absoluteValue=Cn.abs=function(){var n=new this.constructor(this);return n.s<0&&(n.s=1),o(n)},Cn.ceil=function(){return o(new this.constructor(this),this.e+1,2)},Cn.comparedTo=Cn.cmp=function(n){var e,i,t,r,s=this,o=s.d,u=(n=new s.constructor(n)).d,c=s.s,f=n.s;if(!o||!u)return c&&f?c!==f?c:o===u?0:!o^0>c?1:-1:NaN;if(!o[0]||!u[0])return o[0]?c:u[0]?-f:0;if(c!==f)return c;if(s.e!==n.e)return s.e>n.e^0>c?1:-1;for(t=o.length,r=u.length,e=0,i=r>t?t:r;i>e;++e)if(o[e]!==u[e])return o[e]>u[e]^0>c?1:-1;return t===r?0:t>r^0>c?1:-1},Cn.cosine=Cn.cos=function(){var n,e,i=this,t=i.constructor;return i.d?i.d[0]?(n=t.precision,e=t.rounding,t.precision=n+Math.max(i.e,i.sd())+Un,t.rounding=1,i=s(t,M(t,i)),t.precision=n,t.rounding=e,o(2==gn||3==gn?i.neg():i,n,e,!0)):new t(wn):new t(NaN)},Cn.cubeRoot=Cn.cbrt=function(){var n,i,t,r,s,u,c,f,h,a,l=this,d=l.constructor;if(!l.isFinite()||l.isZero())return new d(l);for(yn=!1,u=l.s*Math.pow(l.s*l,1/3),u&&Math.abs(u)!=1/0?r=new d(u.toString()):(t=e(l.d),n=l.e,(u=(n-t.length+1)%3)&&(t+=1==u||-2==u?"0":"00"),u=Math.pow(t,1/3),n=Fn((n+1)/3)-(n%3==(0>n?-1:2)),u==1/0?t="5e"+n:(t=u.toExponential(),t=t.slice(0,t.indexOf("e")+1)+n),r=new d(t),r.s=l.s),c=(n=d.precision)+3;;)if(f=r,h=f.times(f).times(f),a=h.plus(l),r=In(a.plus(l).times(f),a.plus(h),c+2,1),e(f.d).slice(0,c)===(t=e(r.d)).slice(0,c)){if(t=t.slice(c-3,c+1),"9999"!=t&&(s||"4999"!=t)){(!+t||!+t.slice(1)&&"5"==t.charAt(0))&&(o(r,n+1,1),i=!r.times(r).times(r).eq(l));break}if(!s&&(o(f,n+1,0),f.times(f).times(f).eq(l))){r=f;break}c+=4,s=1}return yn=!0,o(r,n,d.rounding,i)},Cn.decimalPlaces=Cn.dp=function(){var n,e=this.d,i=NaN;if(e){if(n=e.length-1,i=(n-Fn(this.e/Un))*Un,n=e[n])for(;n%10==0;n/=10)i--;0>i&&(i=0)}return i},Cn.dividedBy=Cn.div=function(n){return In(this,new this.constructor(n))},Cn.dividedToIntegerBy=Cn.divToInt=function(n){var e=this,i=e.constructor;return o(In(e,new i(n),0,1,1),i.precision,i.rounding)},Cn.equals=Cn.eq=function(n){return 0===this.cmp(n)},Cn.floor=function(){return o(new this.constructor(this),this.e+1,3)},Cn.greaterThan=Cn.gt=function(n){return this.cmp(n)>0},Cn.greaterThanOrEqualTo=Cn.gte=function(n){var e=this.cmp(n);return 1==e||0===e},Cn.hyperbolicCosine=Cn.cosh=function(){var n,e,i,t,r,s=this,u=s.constructor,c=new u(wn);if(!s.isFinite())return new u(s.s?1/0:NaN);if(s.isZero())return c;i=u.precision,t=u.rounding,u.precision=i+Math.max(s.e,s.sd())+4,u.rounding=1,r=s.d.length,32>r?(n=Math.ceil(r/3),e=Math.pow(4,-n).toString()):(n=16,e="2.3283064365386962890625e-10"),s=E(u,1,s.times(e),new u(wn),!0);for(var f,h=n,a=new u(8);h--;)f=s.times(s),s=c.minus(f.times(a.minus(f.times(a))));return o(s,u.precision=i,u.rounding=t,!0)},Cn.hyperbolicSine=Cn.sinh=function(){var n,e,i,t,r=this,s=r.constructor;if(!r.isFinite()||r.isZero())return new s(r);if(e=s.precision,i=s.rounding,s.precision=e+Math.max(r.e,r.sd())+4,s.rounding=1,t=r.d.length,3>t)r=E(s,2,r,r,!0);else{n=1.4*Math.sqrt(t),n=n>16?16:0|n,r=r.times(Math.pow(5,-n)),r=E(s,2,r,r,!0);for(var u,c=new s(5),f=new s(16),h=new s(20);n--;)u=r.times(r),r=r.times(c.plus(u.times(f.times(u).plus(h))))}return s.precision=e,s.rounding=i,o(r,e,i,!0)},Cn.hyperbolicTangent=Cn.tanh=function(){var n,e,i=this,t=i.constructor;return i.isFinite()?i.isZero()?new t(i):(n=t.precision,e=t.rounding,t.precision=n+7,t.rounding=1,In(i.sinh(),i.cosh(),t.precision=n,t.rounding=e)):new t(i.s)},Cn.inverseCosine=Cn.acos=function(){var n,e=this,i=e.constructor,t=e.abs().cmp(wn),r=i.precision,s=i.rounding;return-1!==t?0===t?e.isNeg()?h(i,r,s):new i(0):new i(NaN):e.isZero()?h(i,r+4,s).times(pn):(i.precision=r+6,i.rounding=1,e=e.asin(),n=h(i,r+4,s).times(pn),i.precision=r,i.rounding=s,n.minus(e))},Cn.inverseHyperbolicCosine=Cn.acosh=function(){var n,e,i=this,t=i.constructor;return i.lte(wn)?new t(i.eq(wn)?0:NaN):i.isFinite()?(n=t.precision,e=t.rounding,t.precision=n+Math.max(Math.abs(i.e),i.sd())+4,t.rounding=1,yn=!1,i=i.times(i).minus(wn).sqrt().plus(i),yn=!0,t.precision=n,t.rounding=e,i.ln()):new t(i)},Cn.inverseHyperbolicSine=Cn.asinh=function(){var n,e,i=this,t=i.constructor;return!i.isFinite()||i.isZero()?new t(i):(n=t.precision,e=t.rounding,t.precision=n+2*Math.max(Math.abs(i.e),i.sd())+6,t.rounding=1,yn=!1,i=i.times(i).plus(wn).sqrt().plus(i),yn=!0,t.precision=n,t.rounding=e,i.ln())},Cn.inverseHyperbolicTangent=Cn.atanh=function(){var n,e,i,t,r=this,s=r.constructor;return r.isFinite()?r.e>=0?new s(r.abs().eq(wn)?r.s/0:r.isZero()?r:NaN):(n=s.precision,e=s.rounding,t=r.sd(),Math.max(t,n)<2*-r.e-1?o(new s(r),n,e,!0):(s.precision=i=t-r.e,r=In(r.plus(wn),wn.minus(r),i+n,1),s.precision=n+4,s.rounding=1,r=r.ln(),s.precision=n,s.rounding=e,r.times(pn))):new s(NaN)},Cn.inverseSine=Cn.asin=function(){var n,e,i,t,r=this,s=r.constructor;return r.isZero()?new s(r):(e=r.abs().cmp(wn),i=s.precision,t=s.rounding,-1!==e?0===e?(n=h(s,i+4,t).times(pn),n.s=r.s,n):new s(NaN):(s.precision=i+6,s.rounding=1,r=r.div(wn.plus(s.sqrt(wn.minus(r.times(r))))).atan(),s.precision=i,s.rounding=t,r.times(2)))},Cn.inverseTangent=Cn.atan=function(){var n,e,i,t,r,s,u,c,f,a=this,l=a.constructor,d=l.precision,g=l.rounding;if(a.isFinite()){if(a.isZero())return new l(a);if(a.abs().eq(wn)&&Tn>=d+4)return u=h(l,d+4,g).times(.25),u.s=a.s,u}else{if(!a.s)return new l(NaN);if(Tn>=d+4)return u=h(l,d+4,g).times(pn),u.s=a.s,u}for(l.precision=c=d+10,l.rounding=1,i=Math.min(28,c/Un+2|0),n=i;n;--n)a=a.div(a.times(a).plus(wn).sqrt().plus(wn));for(yn=!1,e=Math.ceil(c/Un),t=1,f=a.times(a),u=new l(a),r=a;-1!==n;)if(r=r.times(f),s=u.minus(r.div(t+=2)),r=r.times(f),u=s.plus(r.div(t+=2)),void 0!==u.d[e])for(n=e;u.d[n]===s.d[n]&&n--;);return i&&(u=u.times(2<this.d.length-2},Cn.isNaN=function(){return!this.s},Cn.isNegative=Cn.isNeg=function(){return this.s<0},Cn.isPositive=Cn.isPos=function(){return this.s>0},Cn.isZero=function(){return!!this.d&&0===this.d[0]},Cn.lessThan=Cn.lt=function(n){return this.cmp(n)<0},Cn.lessThanOrEqualTo=Cn.lte=function(n){return this.cmp(n)<1},Cn.logarithm=Cn.log=function(n){var i,r,s,u,c,h,a,l,d=this,g=d.constructor,p=g.precision,w=g.rounding,v=5;if(null==n)n=new g(10),i=!0;else{if(n=new g(n),r=n.d,n.s<0||!r||!r[0]||n.eq(wn))return new g(NaN);i=n.eq(10)}if(r=d.d,d.s<0||!r||!r[0]||d.eq(wn))return new g(r&&!r[0]?-1/0:1!=d.s?NaN:r?0:1/0);if(i)if(r.length>1)c=!0;else{for(u=r[0];u%10===0;)u/=10;c=1!==u}if(yn=!1,a=p+v,h=m(d,a),s=i?f(g,a+10):m(n,a),l=In(h,s,a,1),t(l.d,u=p,w))do if(a+=10,h=m(d,a),s=i?f(g,a+10):m(n,a),l=In(h,s,a,1),!c){+e(l.d).slice(u+1,u+15)+1==1e14&&(l=o(l,p+1,0));break}while(t(l.d,u+=10,w));return yn=!0,o(l,p,w)},Cn.minus=Cn.sub=function(n){var e,i,t,r,s,u,f,h,a,l,d,g,p=this,w=p.constructor;if(n=new w(n),!p.d||!n.d)return p.s&&n.s?p.d?n.s=-n.s:n=new w(n.d||p.s!==n.s?p:NaN):n=new w(NaN),n;if(p.s!=n.s)return n.s=-n.s,p.plus(n);if(a=p.d,g=n.d,f=w.precision,h=w.rounding,!a[0]||!g[0]){if(g[0])n.s=-n.s;else{if(!a[0])return new w(3===h?-0:0);n=new w(p)}return yn?o(n,f,h):n}if(i=Fn(n.e/Un),l=Fn(p.e/Un),a=a.slice(),s=l-i){for(d=0>s,d?(e=a,s=-s,u=g.length):(e=g,i=l,u=a.length),t=Math.max(Math.ceil(f/Un),u)+2,s>t&&(s=t,e.length=1),e.reverse(),t=s;t--;)e.push(0);e.reverse()}else{for(t=a.length,u=g.length,d=u>t,d&&(u=t),t=0;u>t;t++)if(a[t]!=g[t]){d=a[t]0;--t)a[u++]=0;for(t=g.length;t>s;){if(a[--t]r?(i=a,r=-r,u=l.length):(i=l,t=s,u=a.length),s=Math.ceil(f/Un),u=s>u?s+1:u+1,r>u&&(r=u,i.length=1),i.reverse();r--;)i.push(0);i.reverse()}for(u=a.length,r=l.length,0>u-r&&(r=u,i=l,l=a,a=i),e=0;r;)e=(a[--r]=a[r]+l[r]+e)/Ln|0,a[r]%=Ln;for(e&&(a.unshift(e),++t),u=a.length;0==a[--u];)a.pop();return n.d=a,n.e=c(a,t),yn?o(n,f,h):n},Cn.precision=Cn.sd=function(n){var e,i=this;if(void 0!==n&&n!==!!n&&1!==n&&0!==n)throw Error(On+n);return i.d?(e=a(i.d),n&&i.e+1>e&&(e=i.e+1)):e=NaN,e},Cn.round=function(){var n=this,e=n.constructor;return o(new e(n),n.e+1,e.rounding)},Cn.sine=Cn.sin=function(){var n,e,i=this,t=i.constructor;return i.isFinite()?i.isZero()?new t(i):(n=t.precision,e=t.rounding,t.precision=n+Math.max(i.e,i.sd())+Un,t.rounding=1,i=b(t,M(t,i)),t.precision=n,t.rounding=e,o(gn>2?i.neg():i,n,e,!0)):new t(NaN)},Cn.squareRoot=Cn.sqrt=function(){var n,i,t,r,s,u,c=this,f=c.d,h=c.e,a=c.s,l=c.constructor;if(1!==a||!f||!f[0])return new l(!a||0>a&&(!f||f[0])?NaN:f?c:1/0);for(yn=!1,a=Math.sqrt(+c),0==a||a==1/0?(i=e(f),(i.length+h)%2==0&&(i+="0"),a=Math.sqrt(i),h=Fn((h+1)/2)-(0>h||h%2),a==1/0?i="1e"+h:(i=a.toExponential(),i=i.slice(0,i.indexOf("e")+1)+h),r=new l(i)):r=new l(a.toString()),t=(h=l.precision)+3;;)if(u=r,r=u.plus(In(c,u,t+2,1)).times(pn),e(u.d).slice(0,t)===(i=e(r.d)).slice(0,t)){if(i=i.slice(t-3,t+1),"9999"!=i&&(s||"4999"!=i)){(!+i||!+i.slice(1)&&"5"==i.charAt(0))&&(o(r,h+1,1),n=!r.times(r).eq(c));break}if(!s&&(o(u,h+1,0),u.times(u).eq(c))){r=u;break}t+=4,s=1}return yn=!0,o(r,h,l.rounding,n)},Cn.tangent=Cn.tan=function(){var n,e,i=this,t=i.constructor;return i.isFinite()?i.isZero()?new t(i):(n=t.precision,e=t.rounding,t.precision=n+10,t.rounding=1,i=i.sin(),i.s=1,i=In(i,wn.minus(i.times(i)).sqrt(),n+10,0),t.precision=n,t.rounding=e,o(2==gn||4==gn?i.neg():i,n,e,!0)):new t(NaN)},Cn.times=Cn.mul=function(n){var e,i,t,r,s,u,f,h,a,l=this,d=l.constructor,g=l.d,p=(n=new d(n)).d;if(n.s*=l.s,!(g&&g[0]&&p&&p[0]))return new d(!n.s||g&&!g[0]&&!p||p&&!p[0]&&!g?NaN:g&&p?0*n.s:n.s/0);for(i=Fn(l.e/Un)+Fn(n.e/Un),h=g.length,a=p.length,a>h&&(s=g,g=p,p=s,u=h,h=a,a=u),s=[],u=h+a,t=u;t--;)s.push(0);for(t=a;--t>=0;){for(e=0,r=h+t;r>t;)f=s[r]+p[t]*g[r-t-1]+e,s[r--]=f%Ln|0,e=f/Ln|0;s[r]=(s[r]+e)%Ln|0}for(;!s[--u];)s.pop();for(e?++i:s.shift(),t=s.length;!s[--t];)s.pop();return n.d=s,n.e=c(s,i),yn?o(n,d.precision,d.rounding):n},Cn.toBinary=function(n,e){return y(this,2,n,e)},Cn.toDecimalPlaces=Cn.toDP=function(n,e){var t=this,r=t.constructor;return t=new r(t),void 0===n?t:(i(n,0,vn),void 0===e?e=r.rounding:i(e,0,8),o(t,n+t.e+1,e))},Cn.toExponential=function(n,e){var t,r=this,s=r.constructor;return void 0===n?t=u(r,!0):(i(n,0,vn),void 0===e?e=s.rounding:i(e,0,8),r=o(new s(r),n+1,e),t=u(r,!0,n+1)),r.isNeg()&&!r.isZero()?"-"+t:t},Cn.toFixed=function(n,e){var t,r,s=this,c=s.constructor;return void 0===n?t=u(s):(i(n,0,vn),void 0===e?e=c.rounding:i(e,0,8),r=o(new c(s),n+s.e+1,e),t=u(r,!1,n+r.e+1)),s.isNeg()&&!s.isZero()?"-"+t:t},Cn.toFraction=function(n){var i,t,r,s,o,u,c,f,h,l,d,g,p=this,w=p.d,m=p.constructor;if(!w)return new m(p);if(h=t=new m(wn),r=f=new m(0),i=new m(r),o=i.e=a(w)-p.e-1,u=o%Un,i.d[0]=Dn(10,0>u?Un+u:u),null==n)n=o>0?i:h;else{if(c=new m(n),!c.isInt()||c.lt(h))throw Error(On+c);n=c.gt(i)?o>0?i:h:c}for(yn=!1,c=new m(e(w)),l=m.precision,m.precision=o=w.length*Un*2;d=In(c,i,0,1,1),s=t.plus(d.times(r)),1!=s.cmp(n);)t=r,r=s,s=h,h=f.plus(d.times(s)),f=s,s=i,i=c.minus(d.times(s)),c=s;return s=In(n.minus(t),r,0,1,1),f=f.plus(s.times(h)),t=t.plus(s.times(r)),f.s=h.s=p.s,g=In(h,r,o,1).minus(p).abs().cmp(In(f,t,o,1).minus(p).abs())<1?[h,r]:[f,t],m.precision=l,yn=!0,g},Cn.toHexadecimal=Cn.toHex=function(n,e){return y(this,16,n,e)},Cn.toJSON=function(){var n,i,t,s,o,u,c,f,h=this,a=h.s<0;if(!h.d)return Nn.charAt(h.s?a?82:83:84);if(i=h.e,1===h.d.length&&4>i&&i>=0&&(u=h.d[0],2857>u))return 41>u?Nn.charAt(a?u+41:u):(u-=41,a&&(u+=2816),s=u/88|0,Nn.charAt(s)+Nn.charAt(u-88*s));if(f=e(h.d),c="",!a&&8>=i&&i>=-7)s=64+i+7;else if(a&&4>=i&&i>=-3)s=80+i+3;else if(f.length===i+1)s=32*a;else if(s=32*a+16*(0>i),i=Math.abs(i),88>i)s+=1,c=Nn.charAt(i);else if(7744>i)s+=2,u=i/88|0,c=Nn.charAt(u)+Nn.charAt(i-88*u);else for(n=r(String(i),10,88),o=n.length,s+=o,t=0;o>t;t++)c+=Nn.charAt(n[t]);for(c=Nn.charAt(s)+c,n=r(f,10,88),o=n.length,t=0;o>t;t++)c+=Nn.charAt(n[t]);return c},Cn.toNearest=function(n,e){var t=this,r=t.constructor;if(t=new r(t),null==n){if(!t.d)return t;n=new r(wn),e=r.rounding}else{if(n=new r(n),void 0!==e&&i(e,0,8),!t.d)return n.s?t:n;if(!n.d)return n.s&&(n.s=t.s),n}return n.d[0]?(yn=!1,4>e&&(e=[4,5,7,8][e]),t=In(t,n,0,e,1).times(n),yn=!0,o(t)):(n.s=t.s,t=n),t},Cn.toNumber=function(){return+this},Cn.toOctal=function(n,e){return y(this,8,n,e)},Cn.toPower=Cn.pow=function(n){var i,r,s,u,c,f,h,a=this,l=a.constructor,g=+(n=new l(n));if(!(a.d&&n.d&&a.d[0]&&n.d[0]))return new l(Dn(+a,g));if(a=new l(a),a.eq(wn))return a;if(s=l.precision,c=l.rounding,n.eq(wn))return o(a,s,c);if(i=Fn(n.e/Un),r=n.d.length-1,h=i>=r,f=a.s,h){if((r=0>g?-g:g)<=_n)return u=d(l,a,r,s),n.s<0?new l(wn).div(u):o(u,s,c)}else if(0>f)return new l(NaN);return f=0>f&&1&n.d[Math.max(i,r)]?-1:1,r=Dn(+a,g),i=0!=r&&isFinite(r)?new l(r+"").e:Fn(g*(Math.log("0."+e(a.d))/Math.LN10+a.e+1)),i>l.maxE+1||i0?f/0:0):(yn=!1,l.rounding=a.s=1,r=Math.min(12,(i+"").length),u=w(n.times(m(a,s+r)),s),u=o(u,s+5,1),t(u.d,s,c)&&(i=s+10,u=o(w(n.times(m(a,i+r)),i),i+5,1),+e(u.d).slice(s+1,s+15)+1==1e14&&(u=o(u,s+1,0))),u.s=f,yn=!0,l.rounding=c,o(u,s,c))},Cn.toPrecision=function(n,e){var t,r=this,s=r.constructor;return void 0===n?t=u(r,r.e<=s.toExpNeg||r.e>=s.toExpPos):(i(n,1,vn),void 0===e?e=s.rounding:i(e,0,8),r=o(new s(r),n,e),t=u(r,n<=r.e||r.e<=s.toExpNeg,n)),r.isNeg()&&!r.isZero()?"-"+t:t},Cn.toSignificantDigits=Cn.toSD=function(n,e){var t=this,r=t.constructor;return void 0===n?(n=r.precision,e=r.rounding):(i(n,1,vn),void 0===e?e=r.rounding:i(e,0,8)),o(new r(t),n,e)},Cn.toString=function(){var n=this,e=n.constructor,i=u(n,n.e<=e.toExpNeg||n.e>=e.toExpPos);return n.isNeg()&&!n.isZero()?"-"+i:i},Cn.truncated=Cn.trunc=function(){return o(new this.constructor(this),this.e+1,1)},Cn.valueOf=function(){var n=this,e=n.constructor,i=u(n,n.e<=e.toExpNeg||n.e>=e.toExpPos);return n.isNeg()?"-"+i:i};var In=function(){function n(n,e,i){var t,r=0,s=n.length;for(n=n.slice();s--;)t=n[s]*e+r,n[s]=t%i|0,r=t/i|0;return r&&n.unshift(r),n}function e(n,e,i,t){var r,s;if(i!=t)s=i>t?1:-1;else for(r=s=0;i>r;r++)if(n[r]!=e[r]){s=n[r]>e[r]?1:-1;break}return s}function i(n,e,i,t){for(var r=0;i--;)n[i]-=r,r=n[i]1;)n.shift()}return function(t,r,s,u,c,f){var h,a,l,d,g,p,w,m,v,N,x,b,E,M,y,A,O,q,F,D,Z=t.constructor,P=t.s==r.s?1:-1,R=t.d,S=r.d;if(!(R&&R[0]&&S&&S[0]))return new Z(t.s&&r.s&&(R?!S||R[0]!=S[0]:S)?R&&0==R[0]||!S?0*P:P/0:NaN);for(f?(g=1,a=t.e-r.e):(f=Ln,g=Un,a=Fn(t.e/g)-Fn(r.e/g)),F=S.length,O=R.length,v=new Z(P),N=v.d=[],l=0;S[l]==(R[l]||0);l++);if(S[l]>(R[l]||0)&&a--,null==s?(M=s=Z.precision,u=Z.rounding):M=c?s+(t.e-r.e)+1:s,0>M)N.push(1),p=!0;else{if(M=M/g+2|0,l=0,1==F){for(d=0,S=S[0],M++;(O>l||d)&&M--;l++)y=d*f+(R[l]||0),N[l]=y/S|0,d=y%S|0;p=d||O>l}else{for(d=f/(S[0]+1)|0,d>1&&(S=n(S,d,f),R=n(R,d,f),F=S.length,O=R.length),A=F,x=R.slice(0,F),b=x.length;F>b;)x[b++]=0;D=S.slice(),D.unshift(0),q=S[0],S[1]>=f/2&&++q;do d=0,h=e(S,x,F,b),0>h?(E=x[0],F!=b&&(E=E*f+(x[1]||0)),d=E/q|0,d>1?(d>=f&&(d=f-1),w=n(S,d,f),m=w.length,b=x.length,h=e(w,x,m,b),1==h&&(d--, -i(w,m>F?D:S,m,f))):(0==d&&(h=d=1),w=S.slice()),m=w.length,b>m&&w.unshift(0),i(x,w,b,f),-1==h&&(b=x.length,h=e(S,x,F,b),1>h&&(d++,i(x,b>F?D:S,b,f))),b=x.length):0===h&&(d++,x=[0]),N[l++]=d,h&&x[0]?x[b++]=R[A]||0:(x=[R[A]],b=1);while((A++=10;d/=10)l++;v.e=l+a*g-1,o(v,c?s+v.e+1:s,u,p)}return v}}();if(En=I(En),pn=new En(.5),wn=new En(1),xn=new En(xn),bn=new En(bn),"function"==typeof define&&define.amd)define(function(){return En});else if("undefined"!=typeof module&&module.exports){if(module.exports=En,!Mn)try{Mn=require("crypto")}catch(Hn){}}else n||(n="undefined"!=typeof self&&self&&self.self==self?self:Function("return this")()),dn=n.Decimal,En.noConflict=function(){return n.Decimal=dn,En},n.Decimal=En}(this); +/* decimal.js v5.0.5 https://github.com/MikeMcl/decimal.js/LICENCE */ +!function(n){"use strict";function e(n){var e,i,t,r=n.length-1,s="",o=n[0];if(r>0){for(s+=o,e=1;r>e;e++)t=n[e]+"",i=Sn-t.length,i&&(s+=l(i)),s+=t;o=n[e],t=o+"",i=Sn-t.length,i&&(s+=l(i))}else if(0===o)return"0";for(;o%10===0;)o/=10;return s+o}function i(n,e,i){if(n!==~~n||e>n||n>i)throw Error(yn+n)}function t(n,e,i,t){var r,s,o,u;for(s=n[0];s>=10;s/=10)--e;return--e<0?(e+=Sn,r=0):(r=Math.ceil((e+1)/Sn),e%=Sn),s=qn(10,Sn-e),u=n[r]%s|0,null==t?3>e?(0==e?u=u/100|0:1==e&&(u=u/10|0),o=4>i&&99999==u||i>3&&49999==u||5e4==u||0==u):o=(4>i&&u+1==s||i>3&&u+1==s/2)&&(n[r+1]/s/100|0)==qn(10,e-2)-1||(u==s/2||0==u)&&0==(n[r+1]/s/100|0):4>e?(0==e?u=u/1e3|0:1==e?u=u/100|0:2==e&&(u=u/10|0),o=(t||4>i)&&9999==u||!t&&i>3&&4999==u):o=((t||4>i)&&u+1==s||!t&&i>3&&u+1==s/2)&&(n[r+1]/s/1e3|0)==qn(10,e-3)-1,o}function r(n,e,i){for(var t,r,s=[0],o=0,u=n.length;u>o;){for(r=s.length;r--;)s[r]*=e;for(s[0]+=mn.indexOf(n.charAt(o++)),t=0;ti-1&&(void 0===s[t+1]&&(s[t+1]=0),s[t+1]+=s[t]/i|0,s[t]%=i)}return s.reverse()}function s(n,e){var i,t,r=e.d.length;32>r?(i=Math.ceil(r/3),t=Math.pow(4,-i).toString()):(i=16,t="2.3283064365386962890625e-10"),n.precision+=i,e=E(n,1,e.times(t),new n(1));for(var s=i;s--;){var o=e.times(e);e=o.times(o).minus(o).times(8).plus(1)}return n.precision-=i,e}function o(n,e,i,t){var r,s,o,u,c,f,h,a,l,d=n.constructor;n:if(null!=e){if(a=n.d,!a)return n;for(r=1,u=a[0];u>=10;u/=10)r++;if(s=e-r,0>s)s+=Sn,o=e,h=a[l=0],c=h/qn(10,r-o-1)%10|0;else if(l=Math.ceil((s+1)/Sn),u=a.length,l>=u){if(!t)break n;for(;u++<=l;)a.push(0);h=c=0,r=1,s%=Sn,o=s-Sn+1}else{for(h=u=a[l],r=1;u>=10;u/=10)r++;s%=Sn,o=s-Sn+r,c=0>o?0:h/qn(10,r-o-1)%10|0}if(t=t||0>e||void 0!==a[l+1]||(0>o?h:h%qn(10,r-o-1)),f=4>i?(c||t)&&(0==i||i==(n.s<0?3:2)):c>5||5==c&&(4==i||t||6==i&&(s>0?o>0?h/qn(10,r-o):0:a[l-1])%10&1||i==(n.s<0?8:7)),1>e||!a[0])return a.length=0,f?(e-=n.e+1,a[0]=qn(10,(Sn-e%Sn)%Sn),n.e=-e||0):a[0]=n.e=0,n;if(0==s?(a.length=l,u=1,l--):(a.length=l+1,u=qn(10,Sn-s),a[l]=o>0?(h/qn(10,r-o)%qn(10,o)|0)*u:0),f)for(;;){if(0==l){for(s=1,o=a[0];o>=10;o/=10)s++;for(o=a[0]+=u,u=1;o>=10;o/=10)u++;s!=u&&(n.e++,a[0]==Rn&&(a[0]=1));break}if(a[l]+=u,a[l]!=Rn)break;a[l--]=0,u=1}for(s=a.length;0===a[--s];)a.pop()}return En&&(n.e>d.maxE?(n.d=null,n.e=NaN):n.e0?o=o.charAt(0)+"."+o.slice(1)+l(r):u>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(n.e<0?"e":"e+")+n.e):0>s?(o="0."+l(-s-1)+o,t&&(r=t-u)>0&&(o+=l(r))):s>=u?(o+=l(s+1-u),t&&(r=t-s-1)>0&&(o=o+"."+l(r))):((r=s+1)0&&(s+1===u&&(o+="."),o+=l(r))),o}function c(n,e){for(var i=1,t=n[0];t>=10;t/=10)i++;return i+e*Sn-1}function f(n,e,i){if(e>Un)throw En=!0,i&&(n.precision=i),Error(An);return o(new n(vn),e,1,!0)}function h(n,e,i){if(e>_n)throw Error(An);return o(new n(Nn),e,i,!0)}function a(n){var e=n.length-1,i=e*Sn+1;if(e=n[e]){for(;e%10==0;e/=10)i--;for(e=n[0];e>=10;e/=10)i++}return i}function l(n){for(var e="";n--;)e+="0";return e}function d(n,e,i,t){var r,s=new n(1),o=Math.ceil(t/Sn+4);for(En=!1;;){if(i%2&&(s=s.times(e),A(s.d,o)&&(r=!0)),i=On(i/2),0===i){i=s.d.length-1,r&&0===s.d[i]&&++s.d[i];break}e=e.times(e),A(e.d,o)}return En=!0,s}function g(n){return 1&n.d[n.d.length-1]}function p(n,e,i){for(var t,r=new n(e[0]),s=0;++s17)return new p(n.d?n.d[0]?n.s<0?0:1/0:1:n.s?n.s<0?0:n:NaN);for(null==i?(En=!1,a=m):a=i,h=new p(.03125);n.e>-2;)n=n.times(h),g+=5;for(s=Math.log(qn(2,g))/Math.LN10*2+5|0,a+=s,r=c=f=new p(1),p.precision=a;;){if(c=o(c.times(n),a,1),r=r.times(++d),h=f.plus(Tn(c,r,a,1)),e(h.d).slice(0,a)===e(f.d).slice(0,a)){for(u=g;u--;)f=o(f.times(f),a,1);if(null!=i)return p.precision=m,f;if(!(3>l&&t(f.d,a-s,w,l)))return o(f,p.precision=m,w,En=!0);p.precision=a+=10,r=c=h=new p(1),d=0,l++}f=h}}function m(n,i){var r,s,u,c,h,a,l,d,g,p,w,v=1,N=10,x=n,b=x.d,E=x.constructor,M=E.rounding,y=E.precision;if(x.s<0||!b||!b[0]||!x.e&&1==b[0]&&1==b.length)return new E(b&&!b[0]?-1/0:1!=x.s?NaN:b?0:x);if(null==i?(En=!1,g=y):g=i,E.precision=g+=N,r=e(b),s=r.charAt(0),!(Math.abs(c=x.e)<15e14))return d=f(E,g+2,y).times(c+""),x=m(new E(s+"."+r.slice(1)),g-N).plus(d),E.precision=y,null==i?o(x,y,M,En=!0):x;for(;7>s&&1!=s||1==s&&r.charAt(1)>3;)x=x.times(n),r=e(x.d),s=r.charAt(0),v++;for(c=x.e,s>1?(x=new E("0."+r),c++):x=new E(s+"."+r.slice(1)),p=x,l=h=x=Tn(x.minus(1),x.plus(1),g,1),w=o(x.times(x),g,1),u=3;;){if(h=o(h.times(w),g,1),d=l.plus(Tn(h,new E(u),g,1)),e(d.d).slice(0,g)===e(l.d).slice(0,g)){if(l=l.times(2),0!==c&&(l=l.plus(f(E,g+2,y).times(c+""))),l=Tn(l,new E(v),g,1),null!=i)return E.precision=y,l;if(!t(l.d,g-N,M,a))return o(l,E.precision=y,M,En=!0);E.precision=g+=N,d=h=x=Tn(p.minus(1),p.plus(1),g,1),w=o(x.times(x),g,1),u=a=1}l=d,u+=2}}function v(n){return String(n.s*n.s/0)}function N(n,e){var i,t,r;for((i=e.indexOf("."))>-1&&(e=e.replace(".","")),(t=e.search(/e/i))>0?(0>i&&(i=t),i+=+e.slice(t+1),e=e.substring(0,t)):0>i&&(i=e.length),t=0;48===e.charCodeAt(t);t++);for(r=e.length;48===e.charCodeAt(r-1);--r);if(e=e.slice(t,r)){if(r-=t,n.e=i=i-t-1,n.d=[],t=(i+1)%Sn,0>i&&(t+=Sn),r>t){for(t&&n.d.push(+e.slice(0,t)),r-=Sn;r>t;)n.d.push(+e.slice(t,t+=Sn));e=e.slice(t),t=Sn-e.length}else t-=r;for(;t--;)e+="0";n.d.push(+e),En&&(n.e>n.constructor.maxE?(n.d=null,n.e=NaN):n.e0?(h=+e.slice(o+1),e=e.substring(2,o)):e=e.slice(2),o=e.indexOf("."),u=o>=0,t=n.constructor,u&&(e=e.replace(".",""),f=e.length,o=f-o,s=d(t,new t(i),o,2*o)),a=r(e,i,Rn),l=a.length-1,o=l;0===a[o];--o)a.pop();return 0>o?new t(0*n.s):(n.e=c(a,l),n.d=a,En=!1,u&&(n=Tn(n,s,4*f)),h&&(n=n.times(Math.abs(h)<54?Math.pow(2,h):xn.pow(2,h))),En=!0,n)}function b(n,e){var i,t=e.d.length;if(3>t)return E(n,2,e,e);i=1.4*Math.sqrt(t),i=i>16?16:0|i,e=e.times(Math.pow(5,-i)),e=E(n,2,e,e);for(var r,s=new n(5),o=new n(16),u=new n(20);i--;)r=e.times(e),e=e.times(s.plus(r.times(o.times(r).minus(u))));return e}function E(n,e,i,t,r){var s,o,u,c,f=1,h=n.precision,a=Math.ceil(h/Sn);for(En=!1,c=i.times(i),u=new n(t);;){if(o=Tn(u.times(c),new n(e++*e++),h,1),u=r?t.plus(o):t.minus(o),t=Tn(o.times(c),new n(e++*e++),h,1),o=u.plus(t),void 0!==o.d[a]){for(s=a;o.d[s]===u.d[s]&&s--;);if(-1==s)break}s=u,u=t,t=o,o=s,f++}return En=!0,o.d.length=a+1,o}function M(n,e){var i,t=e.s<0,r=h(n,n.precision,1),s=r.times(.5);if(e=e.abs(),e.lte(s))return gn=t?4:1,e;if(i=e.divToInt(r),i.isZero())gn=t?3:2;else{if(e=e.minus(i.times(r)),e.lte(s))return gn=g(i)?t?2:3:t?4:1,e;gn=g(i)?t?1:4:t?3:2}return e.minus(r).abs()}function y(n,e,t,s){var o,c,f,h,a,l,d,g,p,w=n.constructor,m=void 0!==t;if(m?(i(t,1,wn),void 0===s?s=w.rounding:i(s,0,8)):(t=w.precision,s=w.rounding),n.isFinite()){for(d=u(n),f=d.indexOf("."),m?(o=2,16==e?t=4*t-3:8==e&&(t=3*t-2)):o=e,f>=0&&(d=d.replace(".",""),p=new w(1),p.e=d.length-f,p.d=r(u(p),10,o),p.e=p.d.length),g=r(d,10,o),c=a=g.length;0==g[--a];)g.pop();if(g[0]){if(0>f?c--:(n=new w(n),n.d=g,n.e=c,n=Tn(n,p,t,s,0,o),g=n.d,c=n.e,l=ln),f=g[t],h=o/2,l=l||void 0!==g[t+1],l=4>s?(void 0!==f||l)&&(0===s||s===(n.s<0?3:2)):f>h||f===h&&(4===s||l||6===s&&1&g[t-1]||s===(n.s<0?8:7)),g.length=t,l)for(;++g[--t]>o-1;)g[t]=0,t||(++c,g.unshift(1));for(a=g.length;!g[a-1];--a);for(f=0,d="";a>f;f++)d+=mn.charAt(g[f]);if(m){if(a>1)if(16==e||8==e){for(f=16==e?4:3,--a;a%f;a++)d+="0";for(g=r(d,o,e),a=g.length;!g[a-1];--a);for(f=1,d="1.";a>f;f++)d+=mn.charAt(g[f])}else d=d.charAt(0)+"."+d.slice(1);d=d+(0>c?"p":"p+")+c}else if(0>c){for(;++c;)d="0"+d;d="0."+d}else if(++c>a)for(c-=a;c--;)d+="0";else a>c&&(d=d.slice(0,c)+"."+d.slice(c))}else d=m?"0p+0":"0";d=(16==e?"0x":2==e?"0b":8==e?"0o":"")+d}else d=v(n);return n.s<0?"-"+d:d}function A(n,e){return n.length>e?(n.length=e,!0):void 0}function O(n){return new this(n).abs()}function q(n){return new this(n).acos()}function F(n){return new this(n).acosh()}function D(n,e){return new this(n).plus(e)}function Z(n){return new this(n).asin()}function P(n){return new this(n).asinh()}function R(n){return new this(n).atan()}function S(n){return new this(n).atanh()}function L(n,e){n=new this(n),e=new this(e);var i,t=this.precision,r=this.rounding,s=t+4;return n.s&&e.s?n.d||e.d?!e.d||n.isZero()?(i=e.s<0?h(this,t,r):new this(0),i.s=n.s):!n.d||e.isZero()?(i=h(this,s,1).times(.5),i.s=n.s):e.s<0?(this.precision=s,this.rounding=1,i=this.atan(Tn(n,e,s,1)),e=h(this,s,1),this.precision=t,this.rounding=r,i=n.s<0?i.minus(e):i.plus(e)):i=this.atan(Tn(n,e,s,1)):(i=h(this,s,1).times(e.s>0?.25:.75),i.s=n.s):i=new this(NaN),i}function U(n){return new this(n).cbrt()}function _(n){return o(n=new this(n),n.e+1,2)}function k(n){if(!n||"object"!=typeof n)throw Error(Mn+"Object expected");var e,i,t,r=["precision",1,wn,"rounding",0,8,"toExpNeg",-pn,0,"toExpPos",0,pn,"maxE",0,pn,"minE",-pn,0,"modulo",0,9];for(e=0;e=r[e+1]&&t<=r[e+2]))throw Error(yn+i+": "+t);this[i]=t}if(n.hasOwnProperty(i="crypto"))if(void 0===(t=n[i]))this[i]=t;else{if(t!==!0&&t!==!1&&0!==t&&1!==t)throw Error(yn+i+": "+t);this[i]=!(!t||!bn||!bn.getRandomValues&&!bn.randomBytes)}return this}function T(n){return new this(n).cos()}function C(n){return new this(n).cosh()}function I(n){function e(n){var i,t,r,s=this;if(!(s instanceof e))return new e(n);if(s.constructor=e,n instanceof e)return s.s=n.s,s.e=n.e,void(s.d=(n=n.d)?n.slice():n);if(r=typeof n,"number"===r){if(0===n)return s.s=0>1/n?-1:1,s.e=0,void(s.d=[0]);if(0>n?(n=-n,s.s=-1):s.s=1,n===~~n&&1e7>n){for(i=0,t=n;t>=10;t/=10)i++;return s.e=i,void(s.d=[n])}return 0*n!==0?(n||(s.s=NaN),s.e=NaN,void(s.d=null)):N(s,n.toString())}if("string"!==r)throw Error(yn+n);return 45===n.charCodeAt(0)?(n=n.slice(1),s.s=-1):s.s=1,Pn.test(n)?N(s,n):x(s,n)}var i,t,r;if(e.prototype=kn,e.ROUND_UP=0,e.ROUND_DOWN=1,e.ROUND_CEIL=2,e.ROUND_FLOOR=3,e.ROUND_HALF_UP=4,e.ROUND_HALF_DOWN=5,e.ROUND_HALF_EVEN=6,e.ROUND_HALF_CEIL=7,e.ROUND_HALF_FLOOR=8,e.EUCLID=9,e.config=k,e.clone=I,e.abs=O,e.acos=q,e.acosh=F,e.add=D,e.asin=Z,e.asinh=P,e.atan=R,e.atanh=S,e.atan2=L,e.cbrt=U,e.ceil=_,e.cos=T,e.cosh=C,e.div=H,e.exp=B,e.floor=V,e.fromJSON=j,e.hypot=$,e.ln=J,e.log=W,e.log10=G,e.log2=z,e.max=K,e.min=Q,e.mod=X,e.mul=Y,e.pow=nn,e.random=en,e.round=tn,e.sign=rn,e.sin=sn,e.sinh=on,e.sqrt=un,e.sub=cn,e.tan=fn,e.tanh=hn,e.trunc=an,void 0===n&&(n={}),n)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],i=0;i81?[-1/0,1/0,NaN][s-82]:s>40?-(s-41):s);if(64&s)i=16&s,e=i?(7&s)-3:(15&s)-7,t=1;else{if(2===t)return s=88*s+mn.indexOf(n.charAt(1)),new this(s>=2816?-(s-2816)-41:s+41);if(i=32&s,!(31&s))return n=r(n.slice(1),88,10).join(""),new this(i?"-"+n:n);e=15&s,t=e+1,e=1===e?mn.indexOf(n.charAt(1)):2===e?88*mn.indexOf(n.charAt(1))+mn.indexOf(n.charAt(2)):+r(n.slice(1,t),88,10).join(""),16&s&&(e=-e)}return n=r(n.slice(t),88,10).join(""),e=e-n.length+1,n=n+"e"+e,new this(i?"-"+n:n)}function $(){var n,e,i=new this(0);for(En=!1,n=0;no;)c[o++]=1e7*Math.random()|0;else if(bn&&bn.getRandomValues)for(e=bn.getRandomValues(new Uint32Array(r));r>o;)s=e[o],s>=429e7?e[o]=bn.getRandomValues(new Uint32Array(1))[0]:c[o++]=s%1e7;else if(bn&&bn.randomBytes){for(e=bn.randomBytes(r*=4);r>o;)s=e[o]+(e[o+1]<<8)+(e[o+2]<<16)+((127&e[o+3])<<24),s>=214e7?bn.randomBytes(4).copy(e,o):(c.push(s%1e7),o+=4);o=r/4}else{if(this.crypto)throw Error(Mn+"crypto unavailable");for(;r>o;)c[o++]=1e7*Math.random()|0}for(r=c[--o],n%=Sn,r&&n&&(s=qn(10,Sn-n),c[o]=(r/s|0)*s);0===c[o];o--)c.pop();if(0>o)t=0,c=[0];else{for(t=-1;0===c[0];t-=Sn)c.shift();for(r=1,s=c[0];s>=10;s/=10)r++;Sn>r&&(t-=Sn-r)}return u.e=t,u.d=c,u}function tn(n){return o(n=new this(n),n.e+1,this.rounding)}function rn(n){return n=new this(n),n.d?n.d[0]?n.s:0*n.s:n.s||NaN}function sn(n){return new this(n).sin()}function on(n){return new this(n).sinh()}function un(n){return new this(n).sqrt()}function cn(n,e){return new this(n).sub(e)}function fn(n){return new this(n).tan()}function hn(n){return new this(n).tanh()}function an(n){return o(n=new this(n),n.e+1,1)}var ln,dn,gn,pn=9e15,wn=1e9,mn="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%()*+,-./:;=?@[]^_`{|}~",vn="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Nn="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",xn={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-pn,maxE:pn,crypto:void 0},bn="undefined"!=typeof crypto?crypto:null,En=!0,Mn="[DecimalError] ",yn=Mn+"Invalid argument: ",An=Mn+"Precision limit exceeded",On=Math.floor,qn=Math.pow,Fn=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Dn=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Zn=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Pn=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Rn=1e7,Sn=7,Ln=9007199254740991,Un=vn.length-1,_n=Nn.length-1,kn={};kn.absoluteValue=kn.abs=function(){var n=new this.constructor(this);return n.s<0&&(n.s=1),o(n)},kn.ceil=function(){return o(new this.constructor(this),this.e+1,2)},kn.comparedTo=kn.cmp=function(n){var e,i,t,r,s=this,o=s.d,u=(n=new s.constructor(n)).d,c=s.s,f=n.s;if(!o||!u)return c&&f?c!==f?c:o===u?0:!o^0>c?1:-1:NaN;if(!o[0]||!u[0])return o[0]?c:u[0]?-f:0;if(c!==f)return c;if(s.e!==n.e)return s.e>n.e^0>c?1:-1;for(t=o.length,r=u.length,e=0,i=r>t?t:r;i>e;++e)if(o[e]!==u[e])return o[e]>u[e]^0>c?1:-1;return t===r?0:t>r^0>c?1:-1},kn.cosine=kn.cos=function(){var n,e,i=this,t=i.constructor;return i.d?i.d[0]?(n=t.precision,e=t.rounding,t.precision=n+Math.max(i.e,i.sd())+Sn,t.rounding=1,i=s(t,M(t,i)),t.precision=n,t.rounding=e,o(2==gn||3==gn?i.neg():i,n,e,!0)):new t(1):new t(NaN)},kn.cubeRoot=kn.cbrt=function(){var n,i,t,r,s,u,c,f,h,a,l=this,d=l.constructor;if(!l.isFinite()||l.isZero())return new d(l);for(En=!1,u=l.s*Math.pow(l.s*l,1/3),u&&Math.abs(u)!=1/0?r=new d(u.toString()):(t=e(l.d),n=l.e,(u=(n-t.length+1)%3)&&(t+=1==u||-2==u?"0":"00"),u=Math.pow(t,1/3),n=On((n+1)/3)-(n%3==(0>n?-1:2)),u==1/0?t="5e"+n:(t=u.toExponential(),t=t.slice(0,t.indexOf("e")+1)+n),r=new d(t),r.s=l.s),c=(n=d.precision)+3;;)if(f=r,h=f.times(f).times(f),a=h.plus(l),r=Tn(a.plus(l).times(f),a.plus(h),c+2,1),e(f.d).slice(0,c)===(t=e(r.d)).slice(0,c)){if(t=t.slice(c-3,c+1),"9999"!=t&&(s||"4999"!=t)){(!+t||!+t.slice(1)&&"5"==t.charAt(0))&&(o(r,n+1,1),i=!r.times(r).times(r).eq(l));break}if(!s&&(o(f,n+1,0),f.times(f).times(f).eq(l))){r=f;break}c+=4,s=1}return En=!0,o(r,n,d.rounding,i)},kn.decimalPlaces=kn.dp=function(){var n,e=this.d,i=NaN;if(e){if(n=e.length-1,i=(n-On(this.e/Sn))*Sn,n=e[n])for(;n%10==0;n/=10)i--;0>i&&(i=0)}return i},kn.dividedBy=kn.div=function(n){return Tn(this,new this.constructor(n))},kn.dividedToIntegerBy=kn.divToInt=function(n){var e=this,i=e.constructor;return o(Tn(e,new i(n),0,1,1),i.precision,i.rounding)},kn.equals=kn.eq=function(n){return 0===this.cmp(n)},kn.floor=function(){return o(new this.constructor(this),this.e+1,3)},kn.greaterThan=kn.gt=function(n){return this.cmp(n)>0},kn.greaterThanOrEqualTo=kn.gte=function(n){var e=this.cmp(n);return 1==e||0===e},kn.hyperbolicCosine=kn.cosh=function(){var n,e,i,t,r,s=this,u=s.constructor,c=new u(1);if(!s.isFinite())return new u(s.s?1/0:NaN);if(s.isZero())return c;i=u.precision,t=u.rounding,u.precision=i+Math.max(s.e,s.sd())+4,u.rounding=1,r=s.d.length,32>r?(n=Math.ceil(r/3),e=Math.pow(4,-n).toString()):(n=16,e="2.3283064365386962890625e-10"),s=E(u,1,s.times(e),new u(1),!0);for(var f,h=n,a=new u(8);h--;)f=s.times(s),s=c.minus(f.times(a.minus(f.times(a))));return o(s,u.precision=i,u.rounding=t,!0)},kn.hyperbolicSine=kn.sinh=function(){var n,e,i,t,r=this,s=r.constructor;if(!r.isFinite()||r.isZero())return new s(r);if(e=s.precision,i=s.rounding,s.precision=e+Math.max(r.e,r.sd())+4,s.rounding=1,t=r.d.length,3>t)r=E(s,2,r,r,!0);else{n=1.4*Math.sqrt(t),n=n>16?16:0|n,r=r.times(Math.pow(5,-n)),r=E(s,2,r,r,!0);for(var u,c=new s(5),f=new s(16),h=new s(20);n--;)u=r.times(r),r=r.times(c.plus(u.times(f.times(u).plus(h))))}return s.precision=e,s.rounding=i,o(r,e,i,!0)},kn.hyperbolicTangent=kn.tanh=function(){var n,e,i=this,t=i.constructor;return i.isFinite()?i.isZero()?new t(i):(n=t.precision,e=t.rounding,t.precision=n+7,t.rounding=1,Tn(i.sinh(),i.cosh(),t.precision=n,t.rounding=e)):new t(i.s)},kn.inverseCosine=kn.acos=function(){var n,e=this,i=e.constructor,t=e.abs().cmp(1),r=i.precision,s=i.rounding;return-1!==t?0===t?e.isNeg()?h(i,r,s):new i(0):new i(NaN):e.isZero()?h(i,r+4,s).times(.5):(i.precision=r+6,i.rounding=1,e=e.asin(),n=h(i,r+4,s).times(.5),i.precision=r,i.rounding=s,n.minus(e))},kn.inverseHyperbolicCosine=kn.acosh=function(){var n,e,i=this,t=i.constructor;return i.lte(1)?new t(i.eq(1)?0:NaN):i.isFinite()?(n=t.precision,e=t.rounding,t.precision=n+Math.max(Math.abs(i.e),i.sd())+4,t.rounding=1,En=!1,i=i.times(i).minus(1).sqrt().plus(i),En=!0,t.precision=n,t.rounding=e,i.ln()):new t(i)},kn.inverseHyperbolicSine=kn.asinh=function(){var n,e,i=this,t=i.constructor;return!i.isFinite()||i.isZero()?new t(i):(n=t.precision,e=t.rounding,t.precision=n+2*Math.max(Math.abs(i.e),i.sd())+6,t.rounding=1,En=!1,i=i.times(i).plus(1).sqrt().plus(i),En=!0,t.precision=n,t.rounding=e,i.ln())},kn.inverseHyperbolicTangent=kn.atanh=function(){var n,e,i,t,r=this,s=r.constructor;return r.isFinite()?r.e>=0?new s(r.abs().eq(1)?r.s/0:r.isZero()?r:NaN):(n=s.precision,e=s.rounding,t=r.sd(),Math.max(t,n)<2*-r.e-1?o(new s(r),n,e,!0):(s.precision=i=t-r.e,r=Tn(r.plus(1),new s(1).minus(r),i+n,1),s.precision=n+4,s.rounding=1,r=r.ln(),s.precision=n,s.rounding=e,r.times(.5))):new s(NaN)},kn.inverseSine=kn.asin=function(){var n,e,i,t,r=this,s=r.constructor;return r.isZero()?new s(r):(e=r.abs().cmp(1),i=s.precision,t=s.rounding,-1!==e?0===e?(n=h(s,i+4,t).times(.5),n.s=r.s,n):new s(NaN):(s.precision=i+6,s.rounding=1,r=r.div(new s(1).minus(r.times(r)).sqrt().plus(1)).atan(),s.precision=i,s.rounding=t,r.times(2)))},kn.inverseTangent=kn.atan=function(){var n,e,i,t,r,s,u,c,f,a=this,l=a.constructor,d=l.precision,g=l.rounding;if(a.isFinite()){if(a.isZero())return new l(a);if(a.abs().eq(1)&&_n>=d+4)return u=h(l,d+4,g).times(.25),u.s=a.s,u}else{if(!a.s)return new l(NaN);if(_n>=d+4)return u=h(l,d+4,g).times(.5),u.s=a.s,u}for(l.precision=c=d+10,l.rounding=1,i=Math.min(28,c/Sn+2|0),n=i;n;--n)a=a.div(a.times(a).plus(1).sqrt().plus(1));for(En=!1,e=Math.ceil(c/Sn),t=1,f=a.times(a),u=new l(a),r=a;-1!==n;)if(r=r.times(f),s=u.minus(r.div(t+=2)),r=r.times(f),u=s.plus(r.div(t+=2)),void 0!==u.d[e])for(n=e;u.d[n]===s.d[n]&&n--;);return i&&(u=u.times(2<this.d.length-2},kn.isNaN=function(){return!this.s},kn.isNegative=kn.isNeg=function(){return this.s<0},kn.isPositive=kn.isPos=function(){return this.s>0},kn.isZero=function(){return!!this.d&&0===this.d[0]},kn.lessThan=kn.lt=function(n){return this.cmp(n)<0},kn.lessThanOrEqualTo=kn.lte=function(n){return this.cmp(n)<1},kn.logarithm=kn.log=function(n){var i,r,s,u,c,h,a,l,d=this,g=d.constructor,p=g.precision,w=g.rounding,v=5;if(null==n)n=new g(10),i=!0;else{if(n=new g(n),r=n.d,n.s<0||!r||!r[0]||n.eq(1))return new g(NaN);i=n.eq(10)}if(r=d.d,d.s<0||!r||!r[0]||d.eq(1))return new g(r&&!r[0]?-1/0:1!=d.s?NaN:r?0:1/0);if(i)if(r.length>1)c=!0;else{for(u=r[0];u%10===0;)u/=10;c=1!==u}if(En=!1,a=p+v,h=m(d,a),s=i?f(g,a+10):m(n,a),l=Tn(h,s,a,1),t(l.d,u=p,w))do if(a+=10,h=m(d,a),s=i?f(g,a+10):m(n,a),l=Tn(h,s,a,1),!c){+e(l.d).slice(u+1,u+15)+1==1e14&&(l=o(l,p+1,0));break}while(t(l.d,u+=10,w));return En=!0,o(l,p,w)},kn.minus=kn.sub=function(n){var e,i,t,r,s,u,f,h,a,l,d,g,p=this,w=p.constructor;if(n=new w(n),!p.d||!n.d)return p.s&&n.s?p.d?n.s=-n.s:n=new w(n.d||p.s!==n.s?p:NaN):n=new w(NaN),n;if(p.s!=n.s)return n.s=-n.s,p.plus(n);if(a=p.d,g=n.d,f=w.precision,h=w.rounding,!a[0]||!g[0]){if(g[0])n.s=-n.s;else{if(!a[0])return new w(3===h?-0:0);n=new w(p)}return En?o(n,f,h):n}if(i=On(n.e/Sn),l=On(p.e/Sn),a=a.slice(),s=l-i){for(d=0>s,d?(e=a,s=-s,u=g.length):(e=g,i=l,u=a.length),t=Math.max(Math.ceil(f/Sn),u)+2,s>t&&(s=t,e.length=1),e.reverse(),t=s;t--;)e.push(0);e.reverse()}else{for(t=a.length,u=g.length,d=u>t,d&&(u=t),t=0;u>t;t++)if(a[t]!=g[t]){d=a[t]0;--t)a[u++]=0;for(t=g.length;t>s;){if(a[--t]r?(i=a,r=-r,u=l.length):(i=l,t=s,u=a.length),s=Math.ceil(f/Sn),u=s>u?s+1:u+1,r>u&&(r=u,i.length=1),i.reverse();r--;)i.push(0);i.reverse()}for(u=a.length,r=l.length,0>u-r&&(r=u,i=l,l=a,a=i),e=0;r;)e=(a[--r]=a[r]+l[r]+e)/Rn|0,a[r]%=Rn;for(e&&(a.unshift(e),++t),u=a.length;0==a[--u];)a.pop();return n.d=a,n.e=c(a,t),En?o(n,f,h):n},kn.precision=kn.sd=function(n){var e,i=this;if(void 0!==n&&n!==!!n&&1!==n&&0!==n)throw Error(yn+n);return i.d?(e=a(i.d),n&&i.e+1>e&&(e=i.e+1)):e=NaN,e},kn.round=function(){var n=this,e=n.constructor;return o(new e(n),n.e+1,e.rounding)},kn.sine=kn.sin=function(){var n,e,i=this,t=i.constructor;return i.isFinite()?i.isZero()?new t(i):(n=t.precision,e=t.rounding,t.precision=n+Math.max(i.e,i.sd())+Sn,t.rounding=1,i=b(t,M(t,i)),t.precision=n,t.rounding=e,o(gn>2?i.neg():i,n,e,!0)):new t(NaN)},kn.squareRoot=kn.sqrt=function(){var n,i,t,r,s,u,c=this,f=c.d,h=c.e,a=c.s,l=c.constructor;if(1!==a||!f||!f[0])return new l(!a||0>a&&(!f||f[0])?NaN:f?c:1/0);for(En=!1,a=Math.sqrt(+c),0==a||a==1/0?(i=e(f),(i.length+h)%2==0&&(i+="0"),a=Math.sqrt(i),h=On((h+1)/2)-(0>h||h%2),a==1/0?i="1e"+h:(i=a.toExponential(),i=i.slice(0,i.indexOf("e")+1)+h),r=new l(i)):r=new l(a.toString()),t=(h=l.precision)+3;;)if(u=r,r=u.plus(Tn(c,u,t+2,1)).times(.5),e(u.d).slice(0,t)===(i=e(r.d)).slice(0,t)){if(i=i.slice(t-3,t+1),"9999"!=i&&(s||"4999"!=i)){(!+i||!+i.slice(1)&&"5"==i.charAt(0))&&(o(r,h+1,1),n=!r.times(r).eq(c));break}if(!s&&(o(u,h+1,0),u.times(u).eq(c))){r=u;break}t+=4,s=1}return En=!0,o(r,h,l.rounding,n)},kn.tangent=kn.tan=function(){var n,e,i=this,t=i.constructor;return i.isFinite()?i.isZero()?new t(i):(n=t.precision,e=t.rounding,t.precision=n+10,t.rounding=1,i=i.sin(),i.s=1,i=Tn(i,new t(1).minus(i.times(i)).sqrt(),n+10,0),t.precision=n,t.rounding=e,o(2==gn||4==gn?i.neg():i,n,e,!0)):new t(NaN)},kn.times=kn.mul=function(n){var e,i,t,r,s,u,f,h,a,l=this,d=l.constructor,g=l.d,p=(n=new d(n)).d;if(n.s*=l.s,!(g&&g[0]&&p&&p[0]))return new d(!n.s||g&&!g[0]&&!p||p&&!p[0]&&!g?NaN:g&&p?0*n.s:n.s/0);for(i=On(l.e/Sn)+On(n.e/Sn),h=g.length,a=p.length,a>h&&(s=g,g=p,p=s,u=h,h=a,a=u),s=[],u=h+a,t=u;t--;)s.push(0);for(t=a;--t>=0;){for(e=0,r=h+t;r>t;)f=s[r]+p[t]*g[r-t-1]+e,s[r--]=f%Rn|0,e=f/Rn|0;s[r]=(s[r]+e)%Rn|0}for(;!s[--u];)s.pop();for(e?++i:s.shift(),t=s.length;!s[--t];)s.pop();return n.d=s,n.e=c(s,i),En?o(n,d.precision,d.rounding):n},kn.toBinary=function(n,e){return y(this,2,n,e)},kn.toDecimalPlaces=kn.toDP=function(n,e){var t=this,r=t.constructor;return t=new r(t),void 0===n?t:(i(n,0,wn),void 0===e?e=r.rounding:i(e,0,8),o(t,n+t.e+1,e))},kn.toExponential=function(n,e){var t,r=this,s=r.constructor;return void 0===n?t=u(r,!0):(i(n,0,wn),void 0===e?e=s.rounding:i(e,0,8),r=o(new s(r),n+1,e),t=u(r,!0,n+1)),r.isNeg()&&!r.isZero()?"-"+t:t},kn.toFixed=function(n,e){var t,r,s=this,c=s.constructor;return void 0===n?t=u(s):(i(n,0,wn),void 0===e?e=c.rounding:i(e,0,8),r=o(new c(s),n+s.e+1,e),t=u(r,!1,n+r.e+1)),s.isNeg()&&!s.isZero()?"-"+t:t},kn.toFraction=function(n){var i,t,r,s,o,u,c,f,h,l,d,g,p=this,w=p.d,m=p.constructor;if(!w)return new m(p);if(h=t=new m(1),r=f=new m(0),i=new m(r),o=i.e=a(w)-p.e-1,u=o%Sn,i.d[0]=qn(10,0>u?Sn+u:u),null==n)n=o>0?i:h;else{if(c=new m(n),!c.isInt()||c.lt(h))throw Error(yn+c);n=c.gt(i)?o>0?i:h:c}for(En=!1,c=new m(e(w)),l=m.precision,m.precision=o=w.length*Sn*2;d=Tn(c,i,0,1,1),s=t.plus(d.times(r)),1!=s.cmp(n);)t=r,r=s,s=h,h=f.plus(d.times(s)),f=s,s=i,i=c.minus(d.times(s)),c=s;return s=Tn(n.minus(t),r,0,1,1),f=f.plus(s.times(h)),t=t.plus(s.times(r)),f.s=h.s=p.s,g=Tn(h,r,o,1).minus(p).abs().cmp(Tn(f,t,o,1).minus(p).abs())<1?[h,r]:[f,t],m.precision=l,En=!0,g},kn.toHexadecimal=kn.toHex=function(n,e){return y(this,16,n,e)},kn.toJSON=function(){var n,i,t,s,o,u,c,f,h=this,a=h.s<0;if(!h.d)return mn.charAt(h.s?a?82:83:84);if(i=h.e,1===h.d.length&&4>i&&i>=0&&(u=h.d[0],2857>u))return 41>u?mn.charAt(a?u+41:u):(u-=41,a&&(u+=2816),s=u/88|0,mn.charAt(s)+mn.charAt(u-88*s));if(f=e(h.d),c="",!a&&8>=i&&i>=-7)s=64+i+7;else if(a&&4>=i&&i>=-3)s=80+i+3;else if(f.length===i+1)s=32*a;else if(s=32*a+16*(0>i),i=Math.abs(i),88>i)s+=1,c=mn.charAt(i);else if(7744>i)s+=2,u=i/88|0,c=mn.charAt(u)+mn.charAt(i-88*u);else for(n=r(String(i),10,88),o=n.length,s+=o,t=0;o>t;t++)c+=mn.charAt(n[t]);for(c=mn.charAt(s)+c,n=r(f,10,88),o=n.length,t=0;o>t;t++)c+=mn.charAt(n[t]);return c},kn.toNearest=function(n,e){var t=this,r=t.constructor;if(t=new r(t),null==n){if(!t.d)return t;n=new r(1),e=r.rounding}else{if(n=new r(n),void 0!==e&&i(e,0,8),!t.d)return n.s?t:n;if(!n.d)return n.s&&(n.s=t.s),n}return n.d[0]?(En=!1,4>e&&(e=[4,5,7,8][e]),t=Tn(t,n,0,e,1).times(n),En=!0,o(t)):(n.s=t.s,t=n),t},kn.toNumber=function(){return+this},kn.toOctal=function(n,e){return y(this,8,n,e)},kn.toPower=kn.pow=function(n){var i,r,s,u,c,f,h,a=this,l=a.constructor,g=+(n=new l(n));if(!(a.d&&n.d&&a.d[0]&&n.d[0]))return new l(qn(+a,g));if(a=new l(a),a.eq(1))return a;if(s=l.precision,c=l.rounding,n.eq(1))return o(a,s,c);if(i=On(n.e/Sn),r=n.d.length-1,h=i>=r,f=a.s,h){if((r=0>g?-g:g)<=Ln)return u=d(l,a,r,s),n.s<0?new l(1).div(u):o(u,s,c)}else if(0>f)return new l(NaN);return f=0>f&&1&n.d[Math.max(i,r)]?-1:1,r=qn(+a,g),i=0!=r&&isFinite(r)?new l(r+"").e:On(g*(Math.log("0."+e(a.d))/Math.LN10+a.e+1)),i>l.maxE+1||i0?f/0:0):(En=!1,l.rounding=a.s=1,r=Math.min(12,(i+"").length),u=w(n.times(m(a,s+r)),s),u=o(u,s+5,1),t(u.d,s,c)&&(i=s+10,u=o(w(n.times(m(a,i+r)),i),i+5,1),+e(u.d).slice(s+1,s+15)+1==1e14&&(u=o(u,s+1,0))),u.s=f,En=!0,l.rounding=c,o(u,s,c))},kn.toPrecision=function(n,e){var t,r=this,s=r.constructor;return void 0===n?t=u(r,r.e<=s.toExpNeg||r.e>=s.toExpPos):(i(n,1,wn),void 0===e?e=s.rounding:i(e,0,8),r=o(new s(r),n,e),t=u(r,n<=r.e||r.e<=s.toExpNeg,n)),r.isNeg()&&!r.isZero()?"-"+t:t},kn.toSignificantDigits=kn.toSD=function(n,e){var t=this,r=t.constructor;return void 0===n?(n=r.precision,e=r.rounding):(i(n,1,wn),void 0===e?e=r.rounding:i(e,0,8)),o(new r(t),n,e)},kn.toString=function(){var n=this,e=n.constructor,i=u(n,n.e<=e.toExpNeg||n.e>=e.toExpPos);return n.isNeg()&&!n.isZero()?"-"+i:i},kn.truncated=kn.trunc=function(){return o(new this.constructor(this),this.e+1,1)},kn.valueOf=function(){var n=this,e=n.constructor,i=u(n,n.e<=e.toExpNeg||n.e>=e.toExpPos);return n.isNeg()?"-"+i:i};var Tn=function(){function n(n,e,i){var t,r=0,s=n.length;for(n=n.slice();s--;)t=n[s]*e+r,n[s]=t%i|0,r=t/i|0;return r&&n.unshift(r),n}function e(n,e,i,t){var r,s;if(i!=t)s=i>t?1:-1;else for(r=s=0;i>r;r++)if(n[r]!=e[r]){s=n[r]>e[r]?1:-1;break}return s}function i(n,e,i,t){for(var r=0;i--;)n[i]-=r,r=n[i]1;)n.shift()}return function(t,r,s,u,c,f){var h,a,l,d,g,p,w,m,v,N,x,b,E,M,y,A,O,q,F,D,Z=t.constructor,P=t.s==r.s?1:-1,R=t.d,S=r.d;if(!(R&&R[0]&&S&&S[0]))return new Z(t.s&&r.s&&(R?!S||R[0]!=S[0]:S)?R&&0==R[0]||!S?0*P:P/0:NaN);for(f?(g=1,a=t.e-r.e):(f=Rn,g=Sn,a=On(t.e/g)-On(r.e/g)),F=S.length,O=R.length,v=new Z(P),N=v.d=[],l=0;S[l]==(R[l]||0);l++);if(S[l]>(R[l]||0)&&a--,null==s?(M=s=Z.precision,u=Z.rounding):M=c?s+(t.e-r.e)+1:s,0>M)N.push(1),p=!0;else{if(M=M/g+2|0,l=0,1==F){for(d=0,S=S[0],M++;(O>l||d)&&M--;l++)y=d*f+(R[l]||0),N[l]=y/S|0,d=y%S|0;p=d||O>l}else{for(d=f/(S[0]+1)|0,d>1&&(S=n(S,d,f),R=n(R,d,f),F=S.length,O=R.length),A=F,x=R.slice(0,F),b=x.length;F>b;)x[b++]=0;D=S.slice(),D.unshift(0),q=S[0],S[1]>=f/2&&++q;do d=0,h=e(S,x,F,b),0>h?(E=x[0],F!=b&&(E=E*f+(x[1]||0)),d=E/q|0,d>1?(d>=f&&(d=f-1),w=n(S,d,f),m=w.length,b=x.length,h=e(w,x,m,b),1==h&&(d--,i(w,m>F?D:S,m,f))):(0==d&&(h=d=1), +w=S.slice()),m=w.length,b>m&&w.unshift(0),i(x,w,b,f),-1==h&&(b=x.length,h=e(S,x,F,b),1>h&&(d++,i(x,b>F?D:S,b,f))),b=x.length):0===h&&(d++,x=[0]),N[l++]=d,h&&x[0]?x[b++]=R[A]||0:(x=[R[A]],b=1);while((A++=10;d/=10)l++;v.e=l+a*g-1,o(v,c?s+v.e+1:s,u,p)}return v}}();if(xn=I(xn),vn=new xn(vn),Nn=new xn(Nn),"function"==typeof define&&define.amd)define(function(){return xn});else if("undefined"!=typeof module&&module.exports){if(module.exports=xn,!bn)try{bn=require("crypto")}catch(Cn){}}else n||(n="undefined"!=typeof self&&self&&self.self==self?self:Function("return this")()),dn=n.Decimal,xn.noConflict=function(){return n.Decimal=dn,xn},n.Decimal=xn}(this); //# sourceMappingURL=doc/decimal.js.map \ No newline at end of file diff --git a/doc/decimal.js.map b/doc/decimal.js.map index b2f2155..27400e4 100644 --- a/doc/decimal.js.map +++ b/doc/decimal.js.map @@ -1 +1 @@ -{"version":3,"file":"decimal.min.js","sources":["decimal.js"],"names":["globalScope","digitsToString","d","i","k","ws","indexOfLastWord","length","str","w","LOG_BASE","getZeroString","checkInt32","min","max","Error","invalidArgument","checkRoundingDigits","rm","repeating","di","r","rd","Math","ceil","mathpow","convertBase","baseIn","baseOut","j","arrL","arr","strL","NUMERALS","indexOf","charAt","reverse","cosine","Ctor","x","y","len","pow","toString","precision","taylorSeries","times","ONE","cos2x","minus","plus","finalise","sd","isTruncated","digits","roundUp","xd","xdi","constructor","out","push","mathfloor","s","e","BASE","pop","external","maxE","NaN","minE","finiteToString","isExp","isFinite","nonFiniteToString","slice","getBase10Exponent","getLn10","pr","LN10_PRECISION","precisionLimitExceeded","LN10","getPi","PI_PRECISION","PI","getPrecision","zs","intPow","n","truncate","isOdd","maxOrMin","args","ltgt","naturalExponential","denominator","guard","sum","t","wpr","rep","rounding","log","divide","naturalLogarithm","c","c0","numerator","x1","x2","abs","String","parseDecimal","replace","search","substring","charCodeAt","parseOther","base","divisor","isFloat","p","xe","isHex","test","toLowerCase","isBinary","isOctal","Decimal","sine","sqrt","sin2_x","d5","d16","d20","isHyperbolic","u","toLessThanHalfPi","isNeg","pi","halfPi","HALF","lte","quadrant","divToInt","isZero","toStringBinary","MAX_DIGITS","inexact","unshift","this","acos","acosh","add","asin","asinh","atan","atanh","atan2","cbrt","config","obj","decimalError","v","ps","EXP_LIMIT","hasOwnProperty","cryptoObject","getRandomValues","randomBytes","cos","cosh","clone","isDecimal","prototype","P","ROUND_UP","ROUND_DOWN","ROUND_CEIL","ROUND_FLOOR","ROUND_HALF_UP","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_CEIL","ROUND_HALF_FLOOR","EUCLID","div","exp","floor","fromJSON","hypot","ln","log10","log2","mod","mul","random","round","sign","sin","sinh","sub","tan","tanh","trunc","join","arguments","crypto","Uint32Array","copy","shift","noConflict","modulo","toExpNeg","toExpPos","MAX_SAFE_INTEGER","absoluteValue","comparedTo","cmp","xdL","ydL","yd","xs","ys","neg","cubeRoot","m","t3","t3plusx","toExponential","eq","decimalPlaces","dp","dividedBy","dividedToIntegerBy","equals","greaterThan","gt","greaterThanOrEqualTo","gte","hyperbolicCosine","one","cosh2_x","d8","hyperbolicSine","sinh2_x","hyperbolicTangent","inverseCosine","inverseHyperbolicCosine","inverseHyperbolicSine","inverseHyperbolicTangent","xsd","inverseSine","inverseTangent","px","isInteger","isInt","isNaN","isNegative","isPositive","isPos","lessThan","lt","lessThanOrEqualTo","logarithm","isBase10","inf","num","arg","xLTy","q","negated","carry","z","squareRoot","tangent","rL","toBinary","toDecimalPlaces","toDP","toFixed","toFraction","maxD","d0","d1","d2","n0","n1","toHexadecimal","toHex","toJSON","toNearest","toNumber","toOctal","toPower","yIsInt","yn","toPrecision","toSignificantDigits","toSD","truncated","valueOf","multiplyInteger","temp","compare","a","b","aL","bL","subtract","logBase","more","prod","prodL","qd","rem","remL","rem0","xi","xL","yd0","yL","yz","define","amd","module","exports","require","self","Function"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"decimal.min.js","sources":["decimal.js"],"names":["globalScope","digitsToString","d","i","k","ws","indexOfLastWord","length","str","w","LOG_BASE","getZeroString","checkInt32","min","max","Error","invalidArgument","checkRoundingDigits","rm","repeating","di","r","rd","Math","ceil","mathpow","convertBase","baseIn","baseOut","j","arrL","arr","strL","NUMERALS","indexOf","charAt","reverse","cosine","Ctor","x","y","len","pow","toString","precision","taylorSeries","times","cos2x","minus","plus","finalise","sd","isTruncated","digits","roundUp","xd","xdi","constructor","out","push","s","e","BASE","pop","external","maxE","NaN","minE","finiteToString","isExp","isFinite","nonFiniteToString","slice","getBase10Exponent","getLn10","pr","LN10_PRECISION","precisionLimitExceeded","LN10","getPi","PI_PRECISION","PI","getPrecision","zs","intPow","n","truncate","mathfloor","isOdd","maxOrMin","args","ltgt","naturalExponential","denominator","guard","sum","t","wpr","rep","rounding","log","divide","naturalLogarithm","c","c0","numerator","x1","x2","abs","String","parseDecimal","replace","search","substring","charCodeAt","parseOther","base","divisor","isFloat","p","xe","isHex","test","toLowerCase","isBinary","isOctal","Decimal","sine","sqrt","sin2_x","d5","d16","d20","isHyperbolic","u","toLessThanHalfPi","isNeg","pi","halfPi","lte","quadrant","divToInt","isZero","toStringBinary","MAX_DIGITS","inexact","unshift","this","acos","acosh","add","asin","asinh","atan","atanh","atan2","cbrt","config","obj","decimalError","v","ps","EXP_LIMIT","hasOwnProperty","cryptoObject","getRandomValues","randomBytes","cos","cosh","clone","isDecimal","prototype","P","ROUND_UP","ROUND_DOWN","ROUND_CEIL","ROUND_FLOOR","ROUND_HALF_UP","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_CEIL","ROUND_HALF_FLOOR","EUCLID","div","exp","floor","fromJSON","hypot","ln","log10","log2","mod","mul","random","round","sign","sin","sinh","sub","tan","tanh","trunc","join","arguments","crypto","Uint32Array","copy","shift","noConflict","modulo","toExpNeg","toExpPos","MAX_SAFE_INTEGER","absoluteValue","comparedTo","cmp","xdL","ydL","yd","xs","ys","neg","cubeRoot","m","t3","t3plusx","toExponential","eq","decimalPlaces","dp","dividedBy","dividedToIntegerBy","equals","greaterThan","gt","greaterThanOrEqualTo","gte","hyperbolicCosine","one","cosh2_x","d8","hyperbolicSine","sinh2_x","hyperbolicTangent","inverseCosine","inverseHyperbolicCosine","inverseHyperbolicSine","inverseHyperbolicTangent","xsd","inverseSine","inverseTangent","px","isInteger","isInt","isNaN","isNegative","isPositive","isPos","lessThan","lt","lessThanOrEqualTo","logarithm","isBase10","inf","num","arg","xLTy","q","negated","carry","z","squareRoot","tangent","rL","toBinary","toDecimalPlaces","toDP","toFixed","toFraction","maxD","d0","d1","d2","n0","n1","toHexadecimal","toHex","toJSON","toNearest","toNumber","toOctal","toPower","yIsInt","yn","toPrecision","toSignificantDigits","toSD","truncated","valueOf","multiplyInteger","temp","compare","a","b","aL","bL","subtract","logBase","more","prod","prodL","qd","rem","remL","rem0","xi","xL","yd0","yL","yz","define","amd","module","exports","require","self","Function"],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index 9558b1e..678d72b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "decimal.js", "description": "An arbitrary-precision Decimal type for JavaScript.", - "version": "5.0.4", + "version": "5.0.5", "keywords": [ "arbitrary", "precision", @@ -28,6 +28,6 @@ "license": "MIT", "scripts": { "test": "node ./test/test.js", - "build": "uglifyjs decimal.js --source-map doc/decimal.js.map -c -m -o decimal.min.js --preamble \"/* decimal.js v5.0.4 https://github.com/MikeMcl/decimal.js/LICENCE */\"" + "build": "uglifyjs decimal.js --source-map doc/decimal.js.map -c -m -o decimal.min.js --preamble \"/* decimal.js v5.0.5 https://github.com/MikeMcl/decimal.js/LICENCE */\"" } } \ No newline at end of file