From d44022c1102e91a41ba029889caafdb2950b9ba1 Mon Sep 17 00:00:00 2001 From: Naruyoko Date: Mon, 23 Mar 2020 19:06:42 -0500 Subject: [PATCH] 0.4.1 --- OmegaNum.js | 5 +++-- OmegaNum.min.js | 3 +-- README.md | 2 +- changelog.md | 3 +++ package.json | 2 +- 5 files changed, 9 insertions(+), 6 deletions(-) diff --git a/OmegaNum.js b/OmegaNum.js index 5dd159c..b4a7c8e 100644 --- a/OmegaNum.js +++ b/OmegaNum.js @@ -1042,10 +1042,11 @@ if (this.array.length>=2){ for (var i=this.array.length-1;!b&&i>=2;--i){ var x=this.array[i]; - if (applyToOpNums&&i==this.array.length-1&&x>=m){ + if (applyToOpNums&&x>=m){ ++i; b=x; - }if (applyToOpNums&&this.array[i-1]>=m){ + x=1; + }else if (applyToOpNums&&this.array[i-1]>=m){ ++x; b=this.array[i-1]; } diff --git a/OmegaNum.min.js b/OmegaNum.min.js index e663217..1c089ec 100644 --- a/OmegaNum.min.js +++ b/OmegaNum.min.js @@ -1,2 +1 @@ -//Compressed with UglifyJS 3 https://skalman.github.io/UglifyJS-online/ -!function(r){"use strict";var e={maxArrow:1e3,serializeMode:0,debug:0},t="[OmegaNumError] ",n=t+"Invalid argument: ",i=/^[-\+]*(Infinity|NaN|(10(\^+|\{[1-9]\d*\})|\(10(\^+|\{[1-9]\d*\})\)\^[1-9]\d* )*((\d+(\.\d*)?|\d*\.\d+)?([Ee][-\+]*))*(0|\d+(\.\d*)?|\d*\.\d+))$/,a=Math.log10(9007199254740991),o={},s={},u={ZERO:0,ONE:1};u.E=Math.E,u.LN2=Math.LN2,u.LN10=Math.LN10,u.LOG2E=Math.LOG2E,u.LOG10E=Math.LOG10E,u.PI=Math.PI,u.SQRT1_2=Math.SQRT1_2,u.SQRT2=Math.SQRT2,u.MAX_SAFE_INTEGER=9007199254740991,u.MIN_SAFE_INTEGER=Number.MIN_SAFE_INTEGER,u.NaN=Number.NaN,u.NEGATIVE_INFINITY=Number.NEGATIVE_INFINITY,u.POSITIVE_INFINITY=Number.POSITIVE_INFINITY,u.E_MAX_SAFE_INTEGER="e9007199254740991",u.EE_MAX_SAFE_INTEGER="ee9007199254740991",u.TETRATED_MAX_SAFE_INTEGER="10^^9007199254740991",o.absoluteValue=o.abs=function(){var r=this.clone();return r.sign=1,r},s.absoluteValue=s.abs=function(r){return new e(r).abs()},o.negate=o.neg=function(){var r=this.clone();return r.sign=-1*r.sign,r},s.negate=s.neg=function(r){return new e(r).neg()},o.compareTo=o.cmp=function(r){if(r=new e(r),isNaN(this.array[0])||isNaN(r.array[0]))return NaN;if(this.array[0]==1/0&&r.array[0]!=1/0)return this.sign;if(this.array[0]!=1/0&&r.array[0]==1/0)return-r.sign;if(1==this.array.length&&0===this.array[0]&&1==r.array.length&&0===r.array[0])return 0;if(this.sign!=r.sign)return this.sign;var t,n=this.sign;if(this.array.length>r.array.length)t=1;else if(this.array.length=0;--i){if(this.array[i]>r.array[i]){t=1;break}if(this.array[i]0},s.greaterThan=s.gt=function(r,t){return new e(r).gt(t)},o.greaterThanOrEqualTo=o.gte=function(r){return this.cmp(r)>=0},s.greaterThanOrEqualTo=s.gte=function(r,t){return new e(r).gte(t)},o.lessThan=o.lt=function(r){return this.cmp(r)<0},s.lessThan=s.lt=function(r,t){return new e(r).lt(t)},o.lessThanOrEqualTo=o.lte=function(r){return this.cmp(r)<=0},s.lessThanOrEqualTo=s.lte=function(r,t){return new e(r).lte(t)},o.equalsTo=o.equal=o.eq=function(r){return 0===this.cmp(r)},s.equalsTo=s.equal=s.eq=function(r,t){return new e(r).eq(t)},o.notEqualsTo=o.notEqual=o.neq=function(r){return 0!==this.cmp(r)},s.notEqualsTo=s.notEqual=s.neq=function(r,t){return new e(r).neq(t)},o.minimum=o.min=function(r){return this.lt(r)?this.clone():new e(r)},s.minimum=s.min=function(r,t){return new e(r).min(t)},o.maximum=o.max=function(r){return this.gt(r)?this.clone():new e(r)},s.maximum=s.max=function(r,t){return new e(r).max(t)},o.isPositive=o.ispos=function(){return this.gt(e.ZERO)},s.isPositive=s.ispos=function(r){return new e(r).ispos()},o.isNegative=o.isneg=function(){return this.lt(e.ZERO)},s.isNegative=s.isneg=function(r){return new e(r).isneg()},o.isNaN=function(){return isNaN(this.array[0])},s.isNaN=function(r){return new e(r).isNaN()},o.isFinite=function(){return isFinite(this.array[0])},s.isFinite=function(r){return new e(r).isFinite()},o.isInfinite=function(){return this.array[0]==1/0},s.isInfinite=function(r){return new e(r).isInfinite()},o.isInteger=o.isint=function(){return-1==this.sign?this.abs().isint():!!this.gt(e.MAX_SAFE_INTEGER)||Number.isInteger(this.toNumber())},s.isInteger=s.isint=function(r){return new e(r).isint()},o.floor=function(){return this.isInteger()?this.clone():new e(Math.floor(this.toNumber()))},s.floor=function(r){return new e(r).floor()},o.ceiling=o.ceil=function(){return this.isInteger()?this.clone():new e(Math.ceil(this.toNumber()))},s.ceiling=s.ceil=function(r){return new e(r).ceil()},o.round=function(){return this.isInteger()?this.clone():new e(Math.round(this.toNumber()))},s.round=function(r){return new e(r).round()},o.plus=o.add=function(r){var t=this.clone();if(r=new e(r),e.debug>=e.NORMAL&&console.log(this+"+"+r),-1==t.sign)return t.neg().add(r.neg()).neg();if(-1==r.sign)return t.sub(r.neg());if(t.eq(e.ZERO))return r;if(r.eq(e.ZERO))return t;if(t.isNaN()||r.isNaN()||t.isInfinite()&&r.isInfinite()&&t.eq(r.neg()))return e.NaN.clone();if(t.isInfinite())return t;if(r.isInfinite())return r;var n,i=t.min(r),a=t.max(r);if(a.gt(e.E_MAX_SAFE_INTEGER)||a.div(i).gt(e.MAX_SAFE_INTEGER))n=a;else if(a.array[1]){if(1==a.array[1]){var o=i.array[1]?i.array[0]:Math.log10(i.array[0]);n=new e([o+Math.log10(Math.pow(10,a.array[0]-o)+1),1])}}else n=new e(t.toNumber()+r.toNumber());return i=a=null,n},s.plus=s.add=function(r,t){return new e(r).add(t)},o.minus=o.sub=function(r){var t=this.clone();if(r=new e(r),e.debug>=e.NORMAL&&console.log(t+"-"+r),-1==t.sign)return t.neg().sub(r.neg()).neg();if(-1==r.sign)return t.add(r.neg());if(t.eq(r))return e.ZERO.clone();if(r.eq(e.ZERO))return t;if(t.isNaN()||r.isNaN()||t.isInfinite()&&r.isInfinite())return e.NaN.clone();if(t.isInfinite())return t;if(r.isInfinite())return r.neg();var n,i=t.min(r),a=t.max(r),o=r.gt(t);if(a.gt(e.E_MAX_SAFE_INTEGER)||a.div(i).gt(e.MAX_SAFE_INTEGER))n=a,n=o?n.neg():n;else if(a.array[1]){if(1==a.array[1]){var s=i.array[1]?i.array[0]:Math.log10(i.array[0]);n=new e([s+Math.log10(Math.pow(10,a.array[0]-s)-1),1]),n=o?n.neg():n}}else n=new e(t.toNumber()-r.toNumber());return i=a=null,n},s.minus=s.sub=function(r,t){return new e(r).sub(t)},o.times=o.mul=function(r){var t=this.clone();if(r=new e(r),e.debug>=e.NORMAL&&console.log(t+"*"+r),t.sign*r.sign==-1)return t.abs().mul(r.abs()).neg();if(-1==t.sign)return t.abs().mul(r.abs());if(t.isNaN()||r.isNaN()||t.eq(e.ZERO)&&r.isInfinite()||t.isInfinite()&&r.abs().eq(e.ZERO))return e.NaN.clone();if(r.eq(e.ZERO))return e.ZERO.clone();if(r.eq(e.ONE))return t.clone();if(t.isInfinite())return t;if(r.isInfinite())return r;if(t.max(r).gt(e.EE_MAX_SAFE_INTEGER))return t.max(r);var n=t*r;return n<=9007199254740991?new e(n):e.pow(10,t.log10().add(r.log10()))},s.times=s.mul=function(r,t){return new e(r).mul(t)},o.divide=o.div=function(r){var t=this.clone();if(r=new e(r),e.debug>=e.NORMAL&&console.log(t+"/"+r),t.sign*r.sign==-1)return t.abs().div(r.abs()).neg();if(-1==t.sign)return t.abs().div(r.abs());if(t.isNaN()||r.isNaN()||t.isInfinite()&&r.isInfinite()||t.eq(e.ZERO)&&r.eq(e.ZERO))return e.NaN.clone();if(r.eq(e.ZERO))return e.POSITIVE_INFINITY.clone();if(r.eq(e.ONE))return t.clone();if(t.eq(r))return e.ONE.clone();if(t.isInfinite())return t;if(r.isInfinite())return e.ZERO.clone();if(t.max(r).gt(e.EE_MAX_SAFE_INTEGER))return t.gt(r)?t.clone():e.ZERO.clone();var n=t/r;if(n<=9007199254740991)return new e(n);var i=e.pow(10,t.log10().sub(r.log10())),a=i.floor();return i.sub(a).lt(new e(1e-9))?a:i},s.divide=s.div=function(r,t){return new e(r).div(t)},o.reciprocate=o.rec=function(){return e.debug>=e.NORMAL&&console.log(this+"^-1"),this.isNaN()||this.eq(e.ZERO)?e.NaN.clone():this.abs().gt("2e323")?e.ZERO.clone():new e(1/this)},s.reciprocate=s.rec=function(r){return new e(r).rec()},o.modular=o.mod=function(r){return(r=new e(r)).eq(e.ZERO)?e.ZERO.clone():this.sign*r.sign==-1?this.abs().mod(r.abs()).neg():-1==this.sign?this.abs().mod(r.abs()):this.sub(this.div(r).floor().mul(r))},s.modular=s.mod=function(r,t){return new e(r).mod(t)};o.gamma=function(){var r=this.clone();if(r.gt(e.TETRATED_MAX_SAFE_INTEGER))return r;if(r.gt(e.E_MAX_SAFE_INTEGER))return e.exp(r);if(r.gt(e.MAX_SAFE_INTEGER))return e.exp(e.mul(r,e.ln(r).sub(1)));var t=r.array[0];if(t>1){if(t<24)return new e(function(r){if(!isFinite(r))return r;if(r<-50)return r==Math.trunc(r)?Number.NEGATIVE_INFINITY:0;for(var e=1;r<10;)e*=r,++r;var t=.9189385332046727;t+=(.5+(r-=1))*Math.log(r),t-=r;var n=r*r,i=r;return t+=1/(12*i),t+=1/(360*(i*=n)),t+=1/(1260*(i*=i*n)),t+=1/(1680*(i*=n)),t+=1/(1188*(i*=n)),t+=691/(360360*(i*=n)),t+=7/(1092*(i*=n)),t+=3617/(122400*(i*=n)),Math.exp(t)/e}(r.sign*t));var n=t-1,i=.9189385332046727;i+=(n+.5)*Math.log(n);var a=n*n,o=n,s=12*o,u=1/s,f=(i-=n)+u;if(f==i)return e.exp(i);if((f=(i=f)-(u=1/(s=360*(o*=a))))==i)return e.exp(i);i=f;var l=1/(s=1260*(o*=a));return i+=l,i-=l=1/(s=1680*(o*=a)),e.exp(i)}return this.rec()},s.gamma=function(r){return new e(r).gamma()},s.factorials=[1,1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600,6227020800,87178291200,1307674368e3,20922789888e3,355687428096e3,6402373705728e3,0x1b02b9306890000,243290200817664e4,5109094217170944e4,0x3ceea4c2b3e0d80000,2.585201673888498e22,6.204484017332394e23,1.5511210043330986e25,4.0329146112660565e26,1.0888869450418352e28,3.0488834461171387e29,8.841761993739702e30,2.6525285981219107e32,8.222838654177922e33,2.631308369336935e35,8.683317618811886e36,2.9523279903960416e38,1.0333147966386145e40,3.7199332678990125e41,1.3763753091226346e43,5.230226174666011e44,2.0397882081197444e46,8.159152832478977e47,3.345252661316381e49,1.40500611775288e51,6.041526306337383e52,2.658271574788449e54,1.1962222086548019e56,5.502622159812089e57,2.5862324151116818e59,1.2413915592536073e61,6.082818640342675e62,3.0414093201713376e64,1.5511187532873822e66,8.065817517094388e67,4.2748832840600255e69,2.308436973392414e71,1.2696403353658276e73,7.109985878048635e74,4.0526919504877214e76,2.3505613312828785e78,1.3868311854568984e80,8.32098711274139e81,5.075802138772248e83,3.146997326038794e85,1.98260831540444e87,1.2688693218588417e89,8.247650592082472e90,5.443449390774431e92,3.647111091818868e94,2.4800355424368305e96,1.711224524281413e98,1.1978571669969892e100,8.504785885678623e101,6.1234458376886085e103,4.4701154615126844e105,3.307885441519386e107,2.48091408113954e109,1.8854947016660504e111,1.4518309202828587e113,1.1324281178206297e115,8.946182130782976e116,7.156945704626381e118,5.797126020747368e120,4.753643337012842e122,3.945523969720659e124,3.314240134565353e126,2.81710411438055e128,2.4227095383672734e130,2.107757298379528e132,1.8548264225739844e134,1.650795516090846e136,1.4857159644817615e138,1.352001527678403e140,1.2438414054641308e142,1.1567725070816416e144,1.087366156656743e146,1.032997848823906e148,9.916779348709496e149,9.619275968248212e151,9.426890448883248e153,9.332621544394415e155,9.332621544394415e157,9.42594775983836e159,9.614466715035127e161,9.90290071648618e163,1.0299016745145628e166,1.081396758240291e168,1.1462805637347084e170,1.226520203196138e172,1.324641819451829e174,1.4438595832024937e176,1.588245541522743e178,1.7629525510902446e180,1.974506857221074e182,2.2311927486598138e184,2.5435597334721877e186,2.925093693493016e188,3.393108684451898e190,3.969937160808721e192,4.684525849754291e194,5.574585761207606e196,6.689502913449127e198,8.094298525273444e200,9.875044200833601e202,1.214630436702533e205,1.506141741511141e207,1.882677176888926e209,2.372173242880047e211,3.0126600184576594e213,3.856204823625804e215,4.974504222477287e217,6.466855489220474e219,8.47158069087882e221,1.1182486511960043e224,1.4872707060906857e226,1.9929427461615188e228,2.6904727073180504e230,3.659042881952549e232,5.012888748274992e234,6.917786472619489e236,9.615723196941089e238,1.3462012475717526e241,1.898143759076171e243,2.695364137888163e245,3.854370717180073e247,5.5502938327393044e249,8.047926057471992e251,1.1749972043909107e254,1.727245890454639e256,2.5563239178728654e258,3.80892263763057e260,5.713383956445855e262,8.62720977423324e264,1.3113358856834524e267,2.0063439050956823e269,3.0897696138473508e271,4.789142901463394e273,7.471062926282894e275,1.1729568794264145e278,1.853271869493735e280,2.9467022724950384e282,4.7147236359920616e284,7.590705053947219e286,1.2296942187394494e289,2.0044015765453026e291,3.287218585534296e293,5.423910666131589e295,9.003691705778438e297,1.503616514864999e300,2.5260757449731984e302,4.269068009004705e304,7.257415615307999e306],o.factorial=o.fact=function(){var r=this.clone(),t=e.factorials;if(r.lt(e.ZERO)||!r.isint())return r.add(1).gamma();if(r.lte(170))return new e(t[+r]);var n=+r;return n<500&&(n+=163879/209018880*Math.pow(n,5)),n<1e3&&(n+=-571/2488320*Math.pow(n,4)),n<5e4&&(n+=-139/51840*Math.pow(n,3)),n<1e7&&(n+=1/288*Math.pow(n,2)),n<1e20&&(n+=1/12*n),r.div(e.E).pow(r).mul(r.mul(e.PI).mul(2).sqrt()).times(1)},s.factorial=s.fact=function(r){return new e(r).fact()},o.toPower=o.pow=function(r){if(r=new e(r),e.debug>=e.NORMAL&&console.log(this+"^"+r),r.eq(e.ZERO))return e.ONE.clone();if(r.eq(e.ONE))return this.clone();if(r.lt(e.ZERO))return this.pow(r.neg()).rec();if(this.lt(e.ZERO)&&r.isint())return r.mod(2).lt(e.ONE)?this.abs().pow(r):this.abs().pow(r).neg();if(this.lt(e.ZERO))return e.NaN.clone();if(this.eq(e.ONE))return e.ONE.clone();if(this.eq(e.ZERO))return e.ZERO.clone();if(this.max(r).gt(e.TETRATED_MAX_SAFE_INTEGER))return this.max(r);if(this.eq(10))return r.gt(e.ZERO)?(r.array[1]=r.array[1]+1||1,r.standardize(),r):new e(Math.pow(10,r));if(r.lt(e.ONE))return this.root(r.rec());var t=Math.pow(this,r);return t<=9007199254740991?new e(t):e.pow(10,this.log10().mul(r))},s.toPower=s.pow=function(r,t){return new e(r).pow(t)},o.exponential=o.exp=function(){return e.pow(Math.E,this)},s.exponential=s.exp=function(r){return e.pow(Math.E,r)},o.squareRoot=o.sqrt=function(){return this.root(2)},s.squareRoot=s.sqrt=function(r){return new e(r).root(2)},o.cubeRoot=o.cbrt=function(){return this.root(3)},s.cubeRoot=s.cbrt=function(r){return new e(r).root(3)},o.root=function(r){return r=new e(r),e.debug>=e.NORMAL&&console.log(this+"root"+r),r.eq(e.ONE)?this.clone():r.lt(e.ZERO)?this.root(r.neg()).rec():r.lt(e.ONE)?this.pow(r.rec()):this.lt(e.ZERO)&&r.isint()&&r.mod(2).eq(e.ONE)?this.neg().root(r).neg():this.lt(e.ZERO)?e.NaN.clone():this.eq(e.ONE)?e.ONE.clone():this.eq(e.ZERO)?e.ZERO.clone():this.max(r).gt(e.TETRATED_MAX_SAFE_INTEGER)?this.gt(r)?this.clone():e.ZERO.clone():e.pow(10,this.log10().div(r))},s.root=function(r,t){return new e(r).root(t)},o.generalLogarithm=o.log10=function(){var r=this.clone();return e.debug>=e.NORMAL&&console.log("log"+this),r.lt(e.ZERO)?e.NaN.clone():r.eq(e.ZERO)?e.NEGATIVE_INFINITY.clone():r.lt(e.MAX_SAFE_INTEGER)?new e(Math.log10(r.toNumber())):r.isFinite()?r.gt(e.TETRATED_MAX_SAFE_INTEGER)?r:(r.array[1]--,r.standardize()):r},s.generalLogarithm=s.log10=function(r){return new e(r).log10()},o.logarithm=o.logBase=function(r){return void 0===r&&(r=Math.E),this.log10().div(e.log10(r))},s.logarithm=s.logBase=function(r,t){return new e(r).logBase(t)},o.naturalLogarithm=o.log=o.ln=function(){return this.logBase(Math.E)},s.naturalLogarithm=s.log=s.ln=function(r){return new e(r).ln()};o.lambertw=function(){var r=this.clone();if(r.isNaN())return r;if(r.lt(-.3678794411710499))throw Error("lambertw is unimplemented for results less than -1, sorry!");return r.gt(e.TETRATED_MAX_SAFE_INTEGER)?r:r.gt(e.EE_MAX_SAFE_INTEGER)?(r.array[1]--,r):r.gt(e.MAX_SAFE_INTEGER)?function(r,t){var n,i,a,o;if(void 0===t&&(t=1e-10),!(r=new e(r)).isFinite())return r;if(0===r)return r;if(1===r)return.5671432904097838;n=e.ln(r);for(var s=0;s<100;++s){if(i=e.exp(-n),a=n.sub(r.mul(i)),o=n.sub(a.div(n.add(e.ONE).sub(n.add(2).mul(a).div(e.mul(2,n).add(2))))),e.abs(o.sub(n)).lt(e.abs(o).mul(t)))return o;n=o}throw Error("Iteration failed to converge: "+r)}(r):new e(function(r,e){var t,n;if(void 0===e&&(e=1e-10),!Number.isFinite(r))return r;if(0===r)return r;if(1===r)return.5671432904097838;t=r<10?0:Math.log(r)-Math.log(Math.log(r));for(var i=0;i<100;++i){if(n=(r*Math.exp(-t)+t*t)/(t+1),Math.abs(n-t)=e.NORMAL&&console.log(n+"^^"+r),r.isInfinite()&&r.sign>0)return n.gte(Math.exp(1/Math.E))?e.POSITIVE_INFINITY.clone():(t=n.ln().neg()).lambertw().div(t);if(r.lte(-2))return e.NaN.clone();if(n.eq(e.ZERO))return r.eq(e.ZERO)?e.NaN.clone():r.mod(2).eq(e.ZERO)?e.ZERO.clone():e.ONE.clone();if(n.eq(e.ONE))return r.eq(e.ONE.neg())?e.NaN.clone():e.ONE.clone();if(r.eq(e.ONE.neg()))return e.ZERO.clone();if(r.eq(e.ZERO))return e.ONE.clone();if(r.eq(e.ONE))return n;if(r.eq(2))return n.pow(n);if(n.eq(2)){if(r.eq(3))return new e(16);if(r.eq(4))return new e(65536)}if((l=n.max(r)).gt("10^^^9007199254740991"))return l;if(r.gt(e.MAX_SAFE_INTEGER)){if(this.lt(Math.exp(1/Math.E)))return(t=n.ln().neg()).lambertw().div(t);var i=n.slog(10).add(r);return i.array[2]=(r.array[2]||0)+1,i.standardize(),i}for(var a=r.toNumber(),o=Math.floor(a),s=n.pow(a-o),u=e.NaN,f=0,l=e.E_MAX_SAFE_INTEGER;0!==o&&s.lt(l)&&f<100;++f)if(o>0){if(s=n.pow(s),u.eq(s)){o=0;break}u=s,--o}else{if(s=s.logBase(n),u.eq(s)){o=0;break}u=s,++o}return(100==f||this.lt(Math.exp(1/Math.E)))&&(o=0),s.array[1]=s.array[1]+o||o,s.standardize(),s},s.tetrate=s.tetr=function(r,t){return new e(r).tetr(t)},o.ssqrt=o.ssrt=function(){var r=this.clone();if(r.lt(Math.exp(-1/Math.E)))return e.NaN.clone();if(!r.isFinite())return r;if(r.gt(e.TETRATED_MAX_SAFE_INTEGER))return r;if(r.gt(e.EE_MAX_SAFE_INTEGER))return r.array[1]--,r;var t=r.ln();return t.div(t.lambertw())},s.ssqrt=s.ssrt=function(r){return new e(r).ssqrt()},o.slog=function(r){void 0===r&&(r=10);var t=new e(this);if(r=new e(r),t.isNaN()||r.isNaN()||t.isInfinite()&&r.isInfinite())return e.NaN.clone();if(t.isInfinite())return t;if(r.isInfinite())return e.ZERO.clone();if(t.lt(e.ZERO))return e.ONE.neg();if(t.eq(e.ONE))return e.ZERO.clone();if(t.eq(r))return e.ONE.clone();if(r.lt(Math.exp(1/Math.E))){var n=e.tetr(r,1/0);if(t.eq(n))return e.POSITIVE_INFINITY.clone();if(t.gt(n))return e.NaN.clone()}if(t.max(r).gt("10^^^9007199254740991"))return t.gt(r)?t:e.ZERO.clone();if(t.max(r).gt(e.TETRATED_MAX_SAFE_INTEGER))return t.gt(r)?(t.array[2]--,t.standardize(),t.sub(t.array[1])):e.ZERO.clone();var i=0,a=(t.array[1]||0)-(r.array[1]||0);if(a>3){var o=a-3;i+=o,t.array[1]=t.array[1]-o}for(var s=0;s<100;++s)if(t.lt(e.ZERO))t=e.pow(r,t),--i;else{if(t.lte(1))return new e(i+t.toNumber()-1);++i,t=e.logBase(t,r)}return t.gt(10)?new e(i):void 0},s.slog=function(r,t){return new e(r).slog(t)},o.pentate=o.pent=function(r){return this.arrow(3)(r)},s.pentate=s.pent=function(r,t){return e.arrow(r,3,t)},o.arrow=function(r){var t=this.clone();return!(r=new e(r)).isint()||r.lt(e.ZERO)?function(r){return e.NaN.clone()}:r.eq(e.ZERO)?function(r){return t.mul(r)}:r.eq(e.ONE)?function(r){return t.pow(r)}:r.eq(2)?function(r){return t.tetr(r)}:function(n){if(n=new e(n),e.debug>=e.NORMAL&&console.log(t+"{"+r+"}"+n),n.lt(e.ZERO))return e.NaN.clone();if(n.eq(e.ZERO))return e.ONE.clone();if(n.eq(e.ONE))return t.clone();if(r.gte(e.maxArrow))return console.warn("Number too large to reasonably handle it: tried to "+r.add(2)+"-ate."),e.POSITIVE_INFINITY.clone();if(n.eq(2))return t.arrow(r-1)(t);if(t.max(n).gt("10{"+r.add(e.ONE)+"}9007199254740991"))return t.max(n);var i;if(n.gt(e.MAX_SAFE_INTEGER)){t.gt("10{"+r+"}9007199254740991")?((i=t.clone()).array[r]--,i.standardize()):i=t.gt("10{"+r.sub(e.ONE)+"}9007199254740991")?new e(t.array[r.sub(e.ONE)]):e.ZERO;var a=i.add(n);return a.array[r]=(n.array[r]||0)+1,a.standardize(),a}var o=n.toNumber(),s=Math.floor(o);i=t.arrow(r.sub(1))(o-s);for(var u=0,f=new e("10{"+r.sub(e.ONE)+"}9007199254740991");0!==s&&i.lt(f)&&u<100;++u)s>0&&(i=t.arrow(r.sub(e.ONE))(i),--s);return 100==u&&(s=0),i.array[r.sub(e.ONE)]=i.array[r.sub(e.ONE)]+s||s,i.standardize(),i}},o.chain=function(r,e){return this.arrow(e)(r)},s.arrow=function(r,t,n){return new e(r).arrow(t)(n)},s.chain=function(r,t,n){return new e(r).arrow(n)(t)},s.hyper=function(r){return(r=new e(r)).eq(e.ZERO)?function(r,t){return new e(t).eq(e.ZERO)?new e(r):new e(r).add(e.ONE)}:r.eq(e.ONE)?function(r,t){return e.add(r,t)}:function(t,n){return new e(t).arrow(r.sub(2))(n)}},s.affordGeometricSeries=function(r,t,n,i){r=new e(r),t=new e(t),n=new e(n);var a=t.mul(n.pow(i));return e.floor(r.div(a).mul(n.sub(e.ONE)).add(e.ONE).log10().div(n.log10()))},s.affordArithmeticSeries=function(r,t,n,i){r=new e(r),t=new e(t),n=new e(n),i=new e(i);var a=t.add(i.mul(n)).sub(n.div(2)),o=a.pow(2);return a.neg().add(o.add(n.mul(r).mul(2)).sqrt()).div(n).floor()},s.sumGeometricSeries=function(r,t,n,i){return t=new e(t),n=new e(n),t.mul(n.pow(i)).mul(e.sub(e.ONE,n.pow(r))).div(e.sub(e.ONE,n))},s.sumArithmeticSeries=function(r,t,n,i){r=new e(r),t=new e(t),i=new e(i);var a=t.add(i.mul(n));return r.div(2).mul(a.mul(2).plus(r.sub(e.ONE).mul(n)))},s.choose=function(r,t){return new e(r).factorial().div(new e(t).factorial().mul(new e(r).sub(new e(t)).factorial()))},o.choose=function(r){return e.choose(this,r)},o.standardize=function(){var r,t=this;e.debug>=e.ALL&&console.log(t.toString()),t.array&&t.array.length||(t.array=[0]),1!=t.sign&&-1!=t.sign&&("number"!=typeof t.sign&&(t.sign=Number(t.sign)),t.sign=t.sign<0?-1:1);for(var n=t.array.length,i=0;i=e.ALL&&console.log(t.toString()),r=!1;t.array.length&&0===t.array[t.array.length-1];)t.array.pop(),r=!0;for(t.array[0]>9007199254740991&&(t.array[1]=(t.array[1]||0)+1,t.array[0]=Math.log10(t.array[0]),r=!0);t.array[0]2&&!t.array[1]){for(i=2;!t.array[i];++i)continue;t.array[i-1]=t.array[0],t.array[0]=1,t.array[i]--,r=!0}for(n=t.array.length,i=1;i9007199254740991){t.array[i+1]=(t.array[i+1]||0)+1,t.array[0]=t.array[i]+1;for(var s=1;s<=i;++s)t.array[s]=0;r=!0}}while(r);return t.array.length||(t.array=[0]),t},o.toNumber=function(){return-1==this.sign?-1*this.abs():this.array.length>=2||this.array[1]>=2||1==this.array[1]&&this.array[0]>Math.log10(Number.MAX_VALUE)?1/0:1==this.array[1]?Math.pow(10,this.array[0]):this.array[0]},o.toString=function(){if(-1==this.sign)return"-"+this.abs();if(isNaN(this.array[0]))return"NaN";if(!isFinite(this.array[0]))return"Infinity";var r="";if(this.array.length>=2)for(var e=this.array.length-1;e>=2;--e){var t=e>=5?"{"+e+"}":"^".repeat(e);this.array[e]>1?r+="(10"+t+")^"+this.array[e]+" ":1==this.array[e]&&(r+="10"+t)}return this.array[1]?this.array[1]<3?r+="e".repeat(this.array[1]-1)+Math.pow(10,this.array[0]-Math.floor(this.array[0]))+"e"+Math.floor(this.array[0]):this.array[1]<8?r+="e".repeat(this.array[1])+this.array[0]:r+="(10^)^"+this.array[1]+" "+this.array[0]:r+=String(this.toNumber()),r};var f=function(r,e){var t=e+1,n=Math.ceil(Math.log10(Math.abs(r))),i=Math.round(r*Math.pow(10,t-n))*Math.pow(10,n-t);return parseFloat(i.toFixed(Math.max(t-n,0)))};function l(r){if(!r||"object"!=typeof r)throw Error(t+"Object expected");var e,i,a,o=["maxArrow",1,Number.MAX_SAFE_INTEGER,"serializeMode",0,1,"debug",0,2];for(e=0;e=o[e+1]&&a<=o[e+2]))throw Error(n+i+": "+a);this[i]=a}return this}o.toStringWithDecimalPlaces=function(r,e){if(-1==this.sign)return"-"+this.abs();if(isNaN(this.array[0]))return"NaN";if(!isFinite(this.array[0]))return"Infinity";var t=0,n="",i=Math.pow(10,r);if(this.array.length>=2)for(var a=this.array.length-1;!t&&a>=2;--a){var o=this.array[a];e&&a==this.array.length-1&&o>=i&&(++a,t=o),e&&this.array[a-1]>=i&&(++o,t=this.array[a-1]);var s=a>=5?"{"+a+"}":"^".repeat(a);o>1?n+="(10"+s+")^"+o+" ":1==o&&(n+="10"+s)}var u=this.array[0],l=this.array[1]||0;return u>i&&(u=Math.log10(u),++l),n+=t?f(t,r):l?l<3?"e".repeat(l-1)+f(Math.pow(10,u-Math.floor(u)),r)+"e"+f(Math.floor(u),r):l<8?"e".repeat(l)+f(u,r):e?"(10^)^"+f(l,r)+" "+f(u,r):"(10^)^"+l+" "+f(u,r):String(f(u,r))},o.toExponential=function(r,e){return 1==this.array.length?(this.sign*this.array[0]).toExponential(r):this.toStringWithDecimalPlaces(r,e)},o.toFixed=function(r,e){return 1==this.array.length?(this.sign*this.array[0]).toFixed(r):this.toStringWithDecimalPlaces(r,e)},o.toPrecision=function(r,e){return 1==this.array.length&&this.array[0]<1e-6?this.toExponential(r-1,e):1==this.array.length&&r>Math.log10(this.array[0])?this.toFixed(r-Math.floor(Math.log10(this.array[0]))-1,e):this.toExponential(r-1,e)},o.valueOf=function(){return this.toString()},o.toJSON=function(){return e.serializeMode==e.JSON?{array:this.array.slice(0),sign:this.sign}:e.serializeMode==e.STRING?this.toString():void 0},o.toHyperE=function(){if(-1==this.sign)return"-"+this.abs().toHyperE();if(isNaN(this.array[0]))return"NaN";if(!isFinite(this.array[0]))return"Infinity";if(this.lt(e.MAX_SAFE_INTEGER))return String(this.array[0]);if(this.lt(e.E_MAX_SAFE_INTEGER))return"E"+this.array[0];for(var r="E"+this.array[0]+"#"+this.array[1],t=2;t=e.maxArrow){console.warn("Number too large to reasonably handle it: tried to "+N.add(2)+"-ate."),s.array=[1/0];break}if(")"==(r=r.substring(h))[0]?(l=r.indexOf(" "),c=Number(r.substring(2,l)),r=r.substring(l+1)):c=1,1==N)s.array[1]=(s.array[1]||0)+c;else if(2==N)l=s.array[1]||0,(h=s.array[0]||0)>=1e10&&++l,h>=10&&++l,s.array[0]=l,s.array[1]=0,s.array[2]=(s.array[2]||0)+c;else{for(l=s.array[N-1]||0,(h=s.array[N-2]||0)>=10&&++l,E=1;E=0;--E)g=l[E]?Number(l[E]):1,h[0]9007199254740991&&(h[0]=Math.log10(h[0]),h[1]++);s.array[0]=h[0],s.array[1]=(s.array[1]||0)+h[1]}return u&&(s.sign*=-1),s.standardize(),s},s.fromArray=function(r,t){var i,a;if(r instanceof Array&&(void 0===t||"number"==typeof t))i=r,a=t;else{if(!(t instanceof Array&&"number"==typeof r))throw Error(n+"Expected an Array [and Boolean]");i=t,a=r}var o=new e;return o.array=i.slice(0),o.sign=a?Number(a):1,o.standardize(),o},s.fromObject=function(r){if("object"!=typeof r)throw Error(n+"Expected Object");if(null===r)return e.ZERO.clone();if(r instanceof Array)return e.fromArray(r);if(r instanceof e)return new e(r);if(!(r.array instanceof Array))throw Error(n+"Expected that property 'array' exists");if(void 0!==r.sign&&"number"!=typeof r.sign)throw Error(n+"Expected that property 'sign' is Number");var t=new e;return t.array=r.array.slice(0),t.sign=Number(r.sign)||1,t.standardize(),t},s.fromJSON=function(r){if("object"==typeof r)return e.fromObject(t);if("string"!=typeof r)throw Error(n+"Expected String");var t,i;try{t=JSON.parse(r)}catch(r){throw t=null,r}finally{i=e.fromObject(t)}return t=null,i},s.fromHyperE=function(r){if("string"!=typeof r)throw Error(n+"Expected String");var i=new e;if(i.array=[0],!/^[-\+]*(0|[1-9]\d*(\.\d*)?|Infinity|NaN|E[1-9]\d*(\.\d*)?(#[1-9]\d*)*)$/.test(r))return console.warn(t+"Malformed input: "+r),i.array=[NaN],i;var a=!1;if("-"==r[0]||"+"==r[0]){var o=r.search(/[^-\+]/);a=r.substring(0,o).match(/-/g).length%2==0,r=r.substring(o)}if("NaN"==r)i.array=[NaN];else if("Infinity"==r)i.array=[1/0];else if("E"!=r[0])i.array[0]=Number(r);else if(-1==r.indexOf("#"))i.array[0]=Number(r.substring(1)),i.array[1]=1;else for(var s=r.substring(1).split("#"),u=0;u=2&&--f,i.array[u]=f}return a&&(i.sign*=-1),i.standardize(),i},o.clone=function(){return new e(this)},(e=function(r){for(var t in u)u.hasOwnProperty(t)&&(Object.defineProperty?Object.defineProperty(r,t,{configurable:!1,enumerable:!0,writable:!1,value:new e(u[t])}):r[t]=new e(u[t]));return r}(e=function r(e){var t,n,i;function a(r,e){var t=this;if(!(t instanceof a))return new a(r,e);t.constructor=a;var n,i,o=null;if("string"==typeof r&&("["==r[0]||"{"==r[0]))try{o=JSON.parse(r)}catch(r){}return"number"!=typeof r||e instanceof Array?o?n=a.fromObject(o):"string"==typeof r&&"E"==r[0]?n=a.fromHyperE(r):"string"==typeof r?n=a.fromString(r):r instanceof Array||e instanceof Array?n=a.fromArray(r,e):r instanceof a?(n=r.array.slice(0),i=r.sign):"object"==typeof r?n=a.fromObject(r):(n=[NaN],i=1):n=a.fromNumber(r),void 0===i?(t.array=n.array,t.sign=n.sign):(t.array=n,t.sign=i),t}for(var u in a.prototype=o,a.JSON=0,a.STRING=1,a.NONE=0,a.NORMAL=1,a.ALL=2,a.clone=r,a.config=a.set=l,s)s.hasOwnProperty(u)&&(a[u]=s[u]);if(void 0===e&&(e={}),e)for(i=["maxArrow","serializeMode","debug"],t=0;tr.array.length)t=1;else if(this.array.length=0;--i){if(this.array[i]>r.array[i]){t=1;break}if(this.array[i]0},s.greaterThan=s.gt=function(r,t){return new e(r).gt(t)},o.greaterThanOrEqualTo=o.gte=function(r){return this.cmp(r)>=0},s.greaterThanOrEqualTo=s.gte=function(r,t){return new e(r).gte(t)},o.lessThan=o.lt=function(r){return this.cmp(r)<0},s.lessThan=s.lt=function(r,t){return new e(r).lt(t)},o.lessThanOrEqualTo=o.lte=function(r){return this.cmp(r)<=0},s.lessThanOrEqualTo=s.lte=function(r,t){return new e(r).lte(t)},o.equalsTo=o.equal=o.eq=function(r){return 0===this.cmp(r)},s.equalsTo=s.equal=s.eq=function(r,t){return new e(r).eq(t)},o.notEqualsTo=o.notEqual=o.neq=function(r){return 0!==this.cmp(r)},s.notEqualsTo=s.notEqual=s.neq=function(r,t){return new e(r).neq(t)},o.minimum=o.min=function(r){return this.lt(r)?this.clone():new e(r)},s.minimum=s.min=function(r,t){return new e(r).min(t)},o.maximum=o.max=function(r){return this.gt(r)?this.clone():new e(r)},s.maximum=s.max=function(r,t){return new e(r).max(t)},o.isPositive=o.ispos=function(){return this.gt(e.ZERO)},s.isPositive=s.ispos=function(r){return new e(r).ispos()},o.isNegative=o.isneg=function(){return this.lt(e.ZERO)},s.isNegative=s.isneg=function(r){return new e(r).isneg()},o.isNaN=function(){return isNaN(this.array[0])},s.isNaN=function(r){return new e(r).isNaN()},o.isFinite=function(){return isFinite(this.array[0])},s.isFinite=function(r){return new e(r).isFinite()},o.isInfinite=function(){return this.array[0]==1/0},s.isInfinite=function(r){return new e(r).isInfinite()},o.isInteger=o.isint=function(){return-1==this.sign?this.abs().isint():!!this.gt(e.MAX_SAFE_INTEGER)||Number.isInteger(this.toNumber())},s.isInteger=s.isint=function(r){return new e(r).isint()},o.floor=function(){return this.isInteger()?this.clone():new e(Math.floor(this.toNumber()))},s.floor=function(r){return new e(r).floor()},o.ceiling=o.ceil=function(){return this.isInteger()?this.clone():new e(Math.ceil(this.toNumber()))},s.ceiling=s.ceil=function(r){return new e(r).ceil()},o.round=function(){return this.isInteger()?this.clone():new e(Math.round(this.toNumber()))},s.round=function(r){return new e(r).round()},o.plus=o.add=function(r){var t=this.clone();if(r=new e(r),e.debug>=e.NORMAL&&console.log(this+"+"+r),-1==t.sign)return t.neg().add(r.neg()).neg();if(-1==r.sign)return t.sub(r.neg());if(t.eq(e.ZERO))return r;if(r.eq(e.ZERO))return t;if(t.isNaN()||r.isNaN()||t.isInfinite()&&r.isInfinite()&&t.eq(r.neg()))return e.NaN.clone();if(t.isInfinite())return t;if(r.isInfinite())return r;var n,i=t.min(r),a=t.max(r);if(a.gt(e.E_MAX_SAFE_INTEGER)||a.div(i).gt(e.MAX_SAFE_INTEGER))n=a;else if(a.array[1]){if(1==a.array[1]){var o=i.array[1]?i.array[0]:Math.log10(i.array[0]);n=new e([o+Math.log10(Math.pow(10,a.array[0]-o)+1),1])}}else n=new e(t.toNumber()+r.toNumber());return i=a=null,n},s.plus=s.add=function(r,t){return new e(r).add(t)},o.minus=o.sub=function(r){var t=this.clone();if(r=new e(r),e.debug>=e.NORMAL&&console.log(t+"-"+r),-1==t.sign)return t.neg().sub(r.neg()).neg();if(-1==r.sign)return t.add(r.neg());if(t.eq(r))return e.ZERO.clone();if(r.eq(e.ZERO))return t;if(t.isNaN()||r.isNaN()||t.isInfinite()&&r.isInfinite())return e.NaN.clone();if(t.isInfinite())return t;if(r.isInfinite())return r.neg();var n,i=t.min(r),a=t.max(r),o=r.gt(t);if(a.gt(e.E_MAX_SAFE_INTEGER)||a.div(i).gt(e.MAX_SAFE_INTEGER))n=a,n=o?n.neg():n;else if(a.array[1]){if(1==a.array[1]){var s=i.array[1]?i.array[0]:Math.log10(i.array[0]);n=new e([s+Math.log10(Math.pow(10,a.array[0]-s)-1),1]),n=o?n.neg():n}}else n=new e(t.toNumber()-r.toNumber());return i=a=null,n},s.minus=s.sub=function(r,t){return new e(r).sub(t)},o.times=o.mul=function(r){var t=this.clone();if(r=new e(r),e.debug>=e.NORMAL&&console.log(t+"*"+r),t.sign*r.sign==-1)return t.abs().mul(r.abs()).neg();if(-1==t.sign)return t.abs().mul(r.abs());if(t.isNaN()||r.isNaN()||t.eq(e.ZERO)&&r.isInfinite()||t.isInfinite()&&r.abs().eq(e.ZERO))return e.NaN.clone();if(r.eq(e.ZERO))return e.ZERO.clone();if(r.eq(e.ONE))return t.clone();if(t.isInfinite())return t;if(r.isInfinite())return r;if(t.max(r).gt(e.EE_MAX_SAFE_INTEGER))return t.max(r);var n=t*r;return n<=9007199254740991?new e(n):e.pow(10,t.log10().add(r.log10()))},s.times=s.mul=function(r,t){return new e(r).mul(t)},o.divide=o.div=function(r){var t=this.clone();if(r=new e(r),e.debug>=e.NORMAL&&console.log(t+"/"+r),t.sign*r.sign==-1)return t.abs().div(r.abs()).neg();if(-1==t.sign)return t.abs().div(r.abs());if(t.isNaN()||r.isNaN()||t.isInfinite()&&r.isInfinite()||t.eq(e.ZERO)&&r.eq(e.ZERO))return e.NaN.clone();if(r.eq(e.ZERO))return e.POSITIVE_INFINITY.clone();if(r.eq(e.ONE))return t.clone();if(t.eq(r))return e.ONE.clone();if(t.isInfinite())return t;if(r.isInfinite())return e.ZERO.clone();if(t.max(r).gt(e.EE_MAX_SAFE_INTEGER))return t.gt(r)?t.clone():e.ZERO.clone();var n=t/r;if(n<=9007199254740991)return new e(n);var i=e.pow(10,t.log10().sub(r.log10())),a=i.floor();return i.sub(a).lt(new e(1e-9))?a:i},s.divide=s.div=function(r,t){return new e(r).div(t)},o.reciprocate=o.rec=function(){return e.debug>=e.NORMAL&&console.log(this+"^-1"),this.isNaN()||this.eq(e.ZERO)?e.NaN.clone():this.abs().gt("2e323")?e.ZERO.clone():new e(1/this)},s.reciprocate=s.rec=function(r){return new e(r).rec()},o.modular=o.mod=function(r){return(r=new e(r)).eq(e.ZERO)?e.ZERO.clone():this.sign*r.sign==-1?this.abs().mod(r.abs()).neg():-1==this.sign?this.abs().mod(r.abs()):this.sub(this.div(r).floor().mul(r))},s.modular=s.mod=function(r,t){return new e(r).mod(t)};o.gamma=function(){var r=this.clone();if(r.gt(e.TETRATED_MAX_SAFE_INTEGER))return r;if(r.gt(e.E_MAX_SAFE_INTEGER))return e.exp(r);if(r.gt(e.MAX_SAFE_INTEGER))return e.exp(e.mul(r,e.ln(r).sub(1)));var t=r.array[0];if(t>1){if(t<24)return new e(function(r){if(!isFinite(r))return r;if(r<-50)return r==Math.trunc(r)?Number.NEGATIVE_INFINITY:0;for(var e=1;r<10;)e*=r,++r;var t=.9189385332046727;t+=(.5+(r-=1))*Math.log(r),t-=r;var n=r*r,i=r;return t+=1/(12*i),t+=1/(360*(i*=n)),t+=1/(1260*(i*=i*n)),t+=1/(1680*(i*=n)),t+=1/(1188*(i*=n)),t+=691/(360360*(i*=n)),t+=7/(1092*(i*=n)),t+=3617/(122400*(i*=n)),Math.exp(t)/e}(r.sign*t));var n=t-1,i=.9189385332046727;i+=(n+.5)*Math.log(n);var a=n*n,o=n,s=12*o,u=1/s,f=(i-=n)+u;if(f==i)return e.exp(i);if((f=(i=f)-(u=1/(s=360*(o*=a))))==i)return e.exp(i);i=f;var l=1/(s=1260*(o*=a));return i+=l,i-=l=1/(s=1680*(o*=a)),e.exp(i)}return this.rec()},s.gamma=function(r){return new e(r).gamma()},s.factorials=[1,1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600,6227020800,87178291200,1307674368e3,20922789888e3,355687428096e3,6402373705728e3,0x1b02b9306890000,243290200817664e4,5109094217170944e4,0x3ceea4c2b3e0d80000,2.585201673888498e22,6.204484017332394e23,1.5511210043330986e25,4.0329146112660565e26,1.0888869450418352e28,3.0488834461171387e29,8.841761993739702e30,2.6525285981219107e32,8.222838654177922e33,2.631308369336935e35,8.683317618811886e36,2.9523279903960416e38,1.0333147966386145e40,3.7199332678990125e41,1.3763753091226346e43,5.230226174666011e44,2.0397882081197444e46,8.159152832478977e47,3.345252661316381e49,1.40500611775288e51,6.041526306337383e52,2.658271574788449e54,1.1962222086548019e56,5.502622159812089e57,2.5862324151116818e59,1.2413915592536073e61,6.082818640342675e62,3.0414093201713376e64,1.5511187532873822e66,8.065817517094388e67,4.2748832840600255e69,2.308436973392414e71,1.2696403353658276e73,7.109985878048635e74,4.0526919504877214e76,2.3505613312828785e78,1.3868311854568984e80,8.32098711274139e81,5.075802138772248e83,3.146997326038794e85,1.98260831540444e87,1.2688693218588417e89,8.247650592082472e90,5.443449390774431e92,3.647111091818868e94,2.4800355424368305e96,1.711224524281413e98,1.1978571669969892e100,8.504785885678623e101,6.1234458376886085e103,4.4701154615126844e105,3.307885441519386e107,2.48091408113954e109,1.8854947016660504e111,1.4518309202828587e113,1.1324281178206297e115,8.946182130782976e116,7.156945704626381e118,5.797126020747368e120,4.753643337012842e122,3.945523969720659e124,3.314240134565353e126,2.81710411438055e128,2.4227095383672734e130,2.107757298379528e132,1.8548264225739844e134,1.650795516090846e136,1.4857159644817615e138,1.352001527678403e140,1.2438414054641308e142,1.1567725070816416e144,1.087366156656743e146,1.032997848823906e148,9.916779348709496e149,9.619275968248212e151,9.426890448883248e153,9.332621544394415e155,9.332621544394415e157,9.42594775983836e159,9.614466715035127e161,9.90290071648618e163,1.0299016745145628e166,1.081396758240291e168,1.1462805637347084e170,1.226520203196138e172,1.324641819451829e174,1.4438595832024937e176,1.588245541522743e178,1.7629525510902446e180,1.974506857221074e182,2.2311927486598138e184,2.5435597334721877e186,2.925093693493016e188,3.393108684451898e190,3.969937160808721e192,4.684525849754291e194,5.574585761207606e196,6.689502913449127e198,8.094298525273444e200,9.875044200833601e202,1.214630436702533e205,1.506141741511141e207,1.882677176888926e209,2.372173242880047e211,3.0126600184576594e213,3.856204823625804e215,4.974504222477287e217,6.466855489220474e219,8.47158069087882e221,1.1182486511960043e224,1.4872707060906857e226,1.9929427461615188e228,2.6904727073180504e230,3.659042881952549e232,5.012888748274992e234,6.917786472619489e236,9.615723196941089e238,1.3462012475717526e241,1.898143759076171e243,2.695364137888163e245,3.854370717180073e247,5.5502938327393044e249,8.047926057471992e251,1.1749972043909107e254,1.727245890454639e256,2.5563239178728654e258,3.80892263763057e260,5.713383956445855e262,8.62720977423324e264,1.3113358856834524e267,2.0063439050956823e269,3.0897696138473508e271,4.789142901463394e273,7.471062926282894e275,1.1729568794264145e278,1.853271869493735e280,2.9467022724950384e282,4.7147236359920616e284,7.590705053947219e286,1.2296942187394494e289,2.0044015765453026e291,3.287218585534296e293,5.423910666131589e295,9.003691705778438e297,1.503616514864999e300,2.5260757449731984e302,4.269068009004705e304,7.257415615307999e306],o.factorial=o.fact=function(){var r=this.clone(),t=e.factorials;if(r.lt(e.ZERO)||!r.isint())return r.add(1).gamma();if(r.lte(170))return new e(t[+r]);var n=+r;return n<500&&(n+=163879/209018880*Math.pow(n,5)),n<1e3&&(n+=-571/2488320*Math.pow(n,4)),n<5e4&&(n+=-139/51840*Math.pow(n,3)),n<1e7&&(n+=1/288*Math.pow(n,2)),n<1e20&&(n+=1/12*n),r.div(e.E).pow(r).mul(r.mul(e.PI).mul(2).sqrt()).times(1)},s.factorial=s.fact=function(r){return new e(r).fact()},o.toPower=o.pow=function(r){if(r=new e(r),e.debug>=e.NORMAL&&console.log(this+"^"+r),r.eq(e.ZERO))return e.ONE.clone();if(r.eq(e.ONE))return this.clone();if(r.lt(e.ZERO))return this.pow(r.neg()).rec();if(this.lt(e.ZERO)&&r.isint())return r.mod(2).lt(e.ONE)?this.abs().pow(r):this.abs().pow(r).neg();if(this.lt(e.ZERO))return e.NaN.clone();if(this.eq(e.ONE))return e.ONE.clone();if(this.eq(e.ZERO))return e.ZERO.clone();if(this.max(r).gt(e.TETRATED_MAX_SAFE_INTEGER))return this.max(r);if(this.eq(10))return r.gt(e.ZERO)?(r.array[1]=r.array[1]+1||1,r.standardize(),r):new e(Math.pow(10,r));if(r.lt(e.ONE))return this.root(r.rec());var t=Math.pow(this,r);return t<=9007199254740991?new e(t):e.pow(10,this.log10().mul(r))},s.toPower=s.pow=function(r,t){return new e(r).pow(t)},o.exponential=o.exp=function(){return e.pow(Math.E,this)},s.exponential=s.exp=function(r){return e.pow(Math.E,r)},o.squareRoot=o.sqrt=function(){return this.root(2)},s.squareRoot=s.sqrt=function(r){return new e(r).root(2)},o.cubeRoot=o.cbrt=function(){return this.root(3)},s.cubeRoot=s.cbrt=function(r){return new e(r).root(3)},o.root=function(r){return r=new e(r),e.debug>=e.NORMAL&&console.log(this+"root"+r),r.eq(e.ONE)?this.clone():r.lt(e.ZERO)?this.root(r.neg()).rec():r.lt(e.ONE)?this.pow(r.rec()):this.lt(e.ZERO)&&r.isint()&&r.mod(2).eq(e.ONE)?this.neg().root(r).neg():this.lt(e.ZERO)?e.NaN.clone():this.eq(e.ONE)?e.ONE.clone():this.eq(e.ZERO)?e.ZERO.clone():this.max(r).gt(e.TETRATED_MAX_SAFE_INTEGER)?this.gt(r)?this.clone():e.ZERO.clone():e.pow(10,this.log10().div(r))},s.root=function(r,t){return new e(r).root(t)},o.generalLogarithm=o.log10=function(){var r=this.clone();return e.debug>=e.NORMAL&&console.log("log"+this),r.lt(e.ZERO)?e.NaN.clone():r.eq(e.ZERO)?e.NEGATIVE_INFINITY.clone():r.lt(e.MAX_SAFE_INTEGER)?new e(Math.log10(r.toNumber())):r.isFinite()?r.gt(e.TETRATED_MAX_SAFE_INTEGER)?r:(r.array[1]--,r.standardize()):r},s.generalLogarithm=s.log10=function(r){return new e(r).log10()},o.logarithm=o.logBase=function(r){return void 0===r&&(r=Math.E),this.log10().div(e.log10(r))},s.logarithm=s.logBase=function(r,t){return new e(r).logBase(t)},o.naturalLogarithm=o.log=o.ln=function(){return this.logBase(Math.E)},s.naturalLogarithm=s.log=s.ln=function(r){return new e(r).ln()};o.lambertw=function(){var r=this.clone();if(r.isNaN())return r;if(r.lt(-.3678794411710499))throw Error("lambertw is unimplemented for results less than -1, sorry!");return r.gt(e.TETRATED_MAX_SAFE_INTEGER)?r:r.gt(e.EE_MAX_SAFE_INTEGER)?(r.array[1]--,r):r.gt(e.MAX_SAFE_INTEGER)?function(r,t){var n,i,a,o;if(void 0===t&&(t=1e-10),!(r=new e(r)).isFinite())return r;if(0===r)return r;if(1===r)return.5671432904097838;n=e.ln(r);for(var s=0;s<100;++s){if(i=e.exp(-n),a=n.sub(r.mul(i)),o=n.sub(a.div(n.add(e.ONE).sub(n.add(2).mul(a).div(e.mul(2,n).add(2))))),e.abs(o.sub(n)).lt(e.abs(o).mul(t)))return o;n=o}throw Error("Iteration failed to converge: "+r)}(r):new e(function(r,e){var t,n;if(void 0===e&&(e=1e-10),!Number.isFinite(r))return r;if(0===r)return r;if(1===r)return.5671432904097838;t=r<10?0:Math.log(r)-Math.log(Math.log(r));for(var i=0;i<100;++i){if(n=(r*Math.exp(-t)+t*t)/(t+1),Math.abs(n-t)=e.NORMAL&&console.log(n+"^^"+r),r.isInfinite()&&r.sign>0)return n.gte(Math.exp(1/Math.E))?e.POSITIVE_INFINITY.clone():(t=n.ln().neg()).lambertw().div(t);if(r.lte(-2))return e.NaN.clone();if(n.eq(e.ZERO))return r.eq(e.ZERO)?e.NaN.clone():r.mod(2).eq(e.ZERO)?e.ZERO.clone():e.ONE.clone();if(n.eq(e.ONE))return r.eq(e.ONE.neg())?e.NaN.clone():e.ONE.clone();if(r.eq(e.ONE.neg()))return e.ZERO.clone();if(r.eq(e.ZERO))return e.ONE.clone();if(r.eq(e.ONE))return n;if(r.eq(2))return n.pow(n);if(n.eq(2)){if(r.eq(3))return new e(16);if(r.eq(4))return new e(65536)}if((l=n.max(r)).gt("10^^^9007199254740991"))return l;if(r.gt(e.MAX_SAFE_INTEGER)){if(this.lt(Math.exp(1/Math.E)))return(t=n.ln().neg()).lambertw().div(t);var i=n.slog(10).add(r);return i.array[2]=(r.array[2]||0)+1,i.standardize(),i}for(var a=r.toNumber(),o=Math.floor(a),s=n.pow(a-o),u=e.NaN,f=0,l=e.E_MAX_SAFE_INTEGER;0!==o&&s.lt(l)&&f<100;++f)if(o>0){if(s=n.pow(s),u.eq(s)){o=0;break}u=s,--o}else{if(s=s.logBase(n),u.eq(s)){o=0;break}u=s,++o}return(100==f||this.lt(Math.exp(1/Math.E)))&&(o=0),s.array[1]=s.array[1]+o||o,s.standardize(),s},s.tetrate=s.tetr=function(r,t){return new e(r).tetr(t)},o.ssqrt=o.ssrt=function(){var r=this.clone();if(r.lt(Math.exp(-1/Math.E)))return e.NaN.clone();if(!r.isFinite())return r;if(r.gt(e.TETRATED_MAX_SAFE_INTEGER))return r;if(r.gt(e.EE_MAX_SAFE_INTEGER))return r.array[1]--,r;var t=r.ln();return t.div(t.lambertw())},s.ssqrt=s.ssrt=function(r){return new e(r).ssqrt()},o.slog=function(r){void 0===r&&(r=10);var t=new e(this);if(r=new e(r),t.isNaN()||r.isNaN()||t.isInfinite()&&r.isInfinite())return e.NaN.clone();if(t.isInfinite())return t;if(r.isInfinite())return e.ZERO.clone();if(t.lt(e.ZERO))return e.ONE.neg();if(t.eq(e.ONE))return e.ZERO.clone();if(t.eq(r))return e.ONE.clone();if(r.lt(Math.exp(1/Math.E))){var n=e.tetr(r,1/0);if(t.eq(n))return e.POSITIVE_INFINITY.clone();if(t.gt(n))return e.NaN.clone()}if(t.max(r).gt("10^^^9007199254740991"))return t.gt(r)?t:e.ZERO.clone();if(t.max(r).gt(e.TETRATED_MAX_SAFE_INTEGER))return t.gt(r)?(t.array[2]--,t.standardize(),t.sub(t.array[1])):e.ZERO.clone();var i=0,a=(t.array[1]||0)-(r.array[1]||0);if(a>3){var o=a-3;i+=o,t.array[1]=t.array[1]-o}for(var s=0;s<100;++s)if(t.lt(e.ZERO))t=e.pow(r,t),--i;else{if(t.lte(1))return new e(i+t.toNumber()-1);++i,t=e.logBase(t,r)}return t.gt(10)?new e(i):void 0},s.slog=function(r,t){return new e(r).slog(t)},o.pentate=o.pent=function(r){return this.arrow(3)(r)},s.pentate=s.pent=function(r,t){return e.arrow(r,3,t)},o.arrow=function(r){var t=this.clone();return!(r=new e(r)).isint()||r.lt(e.ZERO)?function(r){return e.NaN.clone()}:r.eq(e.ZERO)?function(r){return t.mul(r)}:r.eq(e.ONE)?function(r){return t.pow(r)}:r.eq(2)?function(r){return t.tetr(r)}:function(n){if(n=new e(n),e.debug>=e.NORMAL&&console.log(t+"{"+r+"}"+n),n.lt(e.ZERO))return e.NaN.clone();if(n.eq(e.ZERO))return e.ONE.clone();if(n.eq(e.ONE))return t.clone();if(r.gte(e.maxArrow))return console.warn("Number too large to reasonably handle it: tried to "+r.add(2)+"-ate."),e.POSITIVE_INFINITY.clone();if(n.eq(2))return t.arrow(r-1)(t);if(t.max(n).gt("10{"+r.add(e.ONE)+"}9007199254740991"))return t.max(n);var i;if(n.gt(e.MAX_SAFE_INTEGER)){t.gt("10{"+r+"}9007199254740991")?((i=t.clone()).array[r]--,i.standardize()):i=t.gt("10{"+r.sub(e.ONE)+"}9007199254740991")?new e(t.array[r.sub(e.ONE)]):e.ZERO;var a=i.add(n);return a.array[r]=(n.array[r]||0)+1,a.standardize(),a}var o=n.toNumber(),s=Math.floor(o);i=t.arrow(r.sub(1))(o-s);for(var u=0,f=new e("10{"+r.sub(e.ONE)+"}9007199254740991");0!==s&&i.lt(f)&&u<100;++u)s>0&&(i=t.arrow(r.sub(e.ONE))(i),--s);return 100==u&&(s=0),i.array[r.sub(e.ONE)]=i.array[r.sub(e.ONE)]+s||s,i.standardize(),i}},o.chain=function(r,e){return this.arrow(e)(r)},s.arrow=function(r,t,n){return new e(r).arrow(t)(n)},s.chain=function(r,t,n){return new e(r).arrow(n)(t)},s.hyper=function(r){return(r=new e(r)).eq(e.ZERO)?function(r,t){return new e(t).eq(e.ZERO)?new e(r):new e(r).add(e.ONE)}:r.eq(e.ONE)?function(r,t){return e.add(r,t)}:function(t,n){return new e(t).arrow(r.sub(2))(n)}},s.affordGeometricSeries=function(r,t,n,i){r=new e(r),t=new e(t),n=new e(n);var a=t.mul(n.pow(i));return e.floor(r.div(a).mul(n.sub(e.ONE)).add(e.ONE).log10().div(n.log10()))},s.affordArithmeticSeries=function(r,t,n,i){r=new e(r),t=new e(t),n=new e(n),i=new e(i);var a=t.add(i.mul(n)).sub(n.div(2)),o=a.pow(2);return a.neg().add(o.add(n.mul(r).mul(2)).sqrt()).div(n).floor()},s.sumGeometricSeries=function(r,t,n,i){return t=new e(t),n=new e(n),t.mul(n.pow(i)).mul(e.sub(e.ONE,n.pow(r))).div(e.sub(e.ONE,n))},s.sumArithmeticSeries=function(r,t,n,i){r=new e(r),t=new e(t),i=new e(i);var a=t.add(i.mul(n));return r.div(2).mul(a.mul(2).plus(r.sub(e.ONE).mul(n)))},s.choose=function(r,t){return new e(r).factorial().div(new e(t).factorial().mul(new e(r).sub(new e(t)).factorial()))},o.choose=function(r){return e.choose(this,r)},o.standardize=function(){var r,t=this;e.debug>=e.ALL&&console.log(t.toString()),t.array&&t.array.length||(t.array=[0]),1!=t.sign&&-1!=t.sign&&("number"!=typeof t.sign&&(t.sign=Number(t.sign)),t.sign=t.sign<0?-1:1);for(var n=t.array.length,i=0;i=e.ALL&&console.log(t.toString()),r=!1;t.array.length&&0===t.array[t.array.length-1];)t.array.pop(),r=!0;for(t.array[0]>9007199254740991&&(t.array[1]=(t.array[1]||0)+1,t.array[0]=Math.log10(t.array[0]),r=!0);t.array[0]2&&!t.array[1]){for(i=2;!t.array[i];++i)continue;t.array[i-1]=t.array[0],t.array[0]=1,t.array[i]--,r=!0}for(n=t.array.length,i=1;i9007199254740991){t.array[i+1]=(t.array[i+1]||0)+1,t.array[0]=t.array[i]+1;for(var s=1;s<=i;++s)t.array[s]=0;r=!0}}while(r);return t.array.length||(t.array=[0]),t},o.toNumber=function(){return-1==this.sign?-1*this.abs():this.array.length>=2||this.array[1]>=2||1==this.array[1]&&this.array[0]>Math.log10(Number.MAX_VALUE)?1/0:1==this.array[1]?Math.pow(10,this.array[0]):this.array[0]},o.toString=function(){if(-1==this.sign)return"-"+this.abs();if(isNaN(this.array[0]))return"NaN";if(!isFinite(this.array[0]))return"Infinity";var r="";if(this.array.length>=2)for(var e=this.array.length-1;e>=2;--e){var t=e>=5?"{"+e+"}":"^".repeat(e);this.array[e]>1?r+="(10"+t+")^"+this.array[e]+" ":1==this.array[e]&&(r+="10"+t)}return this.array[1]?this.array[1]<3?r+="e".repeat(this.array[1]-1)+Math.pow(10,this.array[0]-Math.floor(this.array[0]))+"e"+Math.floor(this.array[0]):this.array[1]<8?r+="e".repeat(this.array[1])+this.array[0]:r+="(10^)^"+this.array[1]+" "+this.array[0]:r+=String(this.toNumber()),r};var f=function(r,e){var t=e+1,n=Math.ceil(Math.log10(Math.abs(r))),i=Math.round(r*Math.pow(10,t-n))*Math.pow(10,n-t);return parseFloat(i.toFixed(Math.max(t-n,0)))};function l(r){if(!r||"object"!=typeof r)throw Error(t+"Object expected");var e,i,a,o=["maxArrow",1,Number.MAX_SAFE_INTEGER,"serializeMode",0,1,"debug",0,2];for(e=0;e=o[e+1]&&a<=o[e+2]))throw Error(n+i+": "+a);this[i]=a}return this}o.toStringWithDecimalPlaces=function(r,e){if(-1==this.sign)return"-"+this.abs();if(isNaN(this.array[0]))return"NaN";if(!isFinite(this.array[0]))return"Infinity";var t=0,n="",i=Math.pow(10,r);if(this.array.length>=2)for(var a=this.array.length-1;!t&&a>=2;--a){var o=this.array[a];e&&o>=i?(++a,t=o,o=1):e&&this.array[a-1]>=i&&(++o,t=this.array[a-1]);var s=a>=5?"{"+a+"}":"^".repeat(a);o>1?n+="(10"+s+")^"+o+" ":1==o&&(n+="10"+s)}var u=this.array[0],l=this.array[1]||0;return u>i&&(u=Math.log10(u),++l),n+=t?f(t,r):l?l<3?"e".repeat(l-1)+f(Math.pow(10,u-Math.floor(u)),r)+"e"+f(Math.floor(u),r):l<8?"e".repeat(l)+f(u,r):e?"(10^)^"+f(l,r)+" "+f(u,r):"(10^)^"+l+" "+f(u,r):String(f(u,r))},o.toExponential=function(r,e){return 1==this.array.length?(this.sign*this.array[0]).toExponential(r):this.toStringWithDecimalPlaces(r,e)},o.toFixed=function(r,e){return 1==this.array.length?(this.sign*this.array[0]).toFixed(r):this.toStringWithDecimalPlaces(r,e)},o.toPrecision=function(r,e){return 1==this.array.length&&this.array[0]<1e-6?this.toExponential(r-1,e):1==this.array.length&&r>Math.log10(this.array[0])?this.toFixed(r-Math.floor(Math.log10(this.array[0]))-1,e):this.toExponential(r-1,e)},o.valueOf=function(){return this.toString()},o.toJSON=function(){return e.serializeMode==e.JSON?{array:this.array.slice(0),sign:this.sign}:e.serializeMode==e.STRING?this.toString():void 0},o.toHyperE=function(){if(-1==this.sign)return"-"+this.abs().toHyperE();if(isNaN(this.array[0]))return"NaN";if(!isFinite(this.array[0]))return"Infinity";if(this.lt(e.MAX_SAFE_INTEGER))return String(this.array[0]);if(this.lt(e.E_MAX_SAFE_INTEGER))return"E"+this.array[0];for(var r="E"+this.array[0]+"#"+this.array[1],t=2;t=e.maxArrow){console.warn("Number too large to reasonably handle it: tried to "+N.add(2)+"-ate."),s.array=[1/0];break}if(")"==(r=r.substring(h))[0]?(l=r.indexOf(" "),c=Number(r.substring(2,l)),r=r.substring(l+1)):c=1,1==N)s.array[1]=(s.array[1]||0)+c;else if(2==N)l=s.array[1]||0,(h=s.array[0]||0)>=1e10&&++l,h>=10&&++l,s.array[0]=l,s.array[1]=0,s.array[2]=(s.array[2]||0)+c;else{for(l=s.array[N-1]||0,(h=s.array[N-2]||0)>=10&&++l,E=1;E=0;--E)g=l[E]?Number(l[E]):1,h[0]9007199254740991&&(h[0]=Math.log10(h[0]),h[1]++);s.array[0]=h[0],s.array[1]=(s.array[1]||0)+h[1]}return u&&(s.sign*=-1),s.standardize(),s},s.fromArray=function(r,t){var i,a;if(r instanceof Array&&(void 0===t||"number"==typeof t))i=r,a=t;else{if(!(t instanceof Array&&"number"==typeof r))throw Error(n+"Expected an Array [and Boolean]");i=t,a=r}var o=new e;return o.array=i.slice(0),o.sign=a?Number(a):1,o.standardize(),o},s.fromObject=function(r){if("object"!=typeof r)throw Error(n+"Expected Object");if(null===r)return e.ZERO.clone();if(r instanceof Array)return e.fromArray(r);if(r instanceof e)return new e(r);if(!(r.array instanceof Array))throw Error(n+"Expected that property 'array' exists");if(void 0!==r.sign&&"number"!=typeof r.sign)throw Error(n+"Expected that property 'sign' is Number");var t=new e;return t.array=r.array.slice(0),t.sign=Number(r.sign)||1,t.standardize(),t},s.fromJSON=function(r){if("object"==typeof r)return e.fromObject(t);if("string"!=typeof r)throw Error(n+"Expected String");var t,i;try{t=JSON.parse(r)}catch(r){throw t=null,r}finally{i=e.fromObject(t)}return t=null,i},s.fromHyperE=function(r){if("string"!=typeof r)throw Error(n+"Expected String");var i=new e;if(i.array=[0],!/^[-\+]*(0|[1-9]\d*(\.\d*)?|Infinity|NaN|E[1-9]\d*(\.\d*)?(#[1-9]\d*)*)$/.test(r))return console.warn(t+"Malformed input: "+r),i.array=[NaN],i;var a=!1;if("-"==r[0]||"+"==r[0]){var o=r.search(/[^-\+]/);a=r.substring(0,o).match(/-/g).length%2==0,r=r.substring(o)}if("NaN"==r)i.array=[NaN];else if("Infinity"==r)i.array=[1/0];else if("E"!=r[0])i.array[0]=Number(r);else if(-1==r.indexOf("#"))i.array[0]=Number(r.substring(1)),i.array[1]=1;else for(var s=r.substring(1).split("#"),u=0;u=2&&--f,i.array[u]=f}return a&&(i.sign*=-1),i.standardize(),i},o.clone=function(){return new e(this)},(e=function(r){for(var t in u)u.hasOwnProperty(t)&&(Object.defineProperty?Object.defineProperty(r,t,{configurable:!1,enumerable:!0,writable:!1,value:new e(u[t])}):r[t]=new e(u[t]));return r}(e=function r(e){var t,n,i;function a(r,e){var t=this;if(!(t instanceof a))return new a(r,e);t.constructor=a;var n,i,o=null;if("string"==typeof r&&("["==r[0]||"{"==r[0]))try{o=JSON.parse(r)}catch(r){}return"number"!=typeof r||e instanceof Array?o?n=a.fromObject(o):"string"==typeof r&&"E"==r[0]?n=a.fromHyperE(r):"string"==typeof r?n=a.fromString(r):r instanceof Array||e instanceof Array?n=a.fromArray(r,e):r instanceof a?(n=r.array.slice(0),i=r.sign):"object"==typeof r?n=a.fromObject(r):(n=[NaN],i=1):n=a.fromNumber(r),void 0===i?(t.array=n.array,t.sign=n.sign):(t.array=n,t.sign=i),t}for(var u in a.prototype=o,a.JSON=0,a.STRING=1,a.NONE=0,a.NORMAL=1,a.ALL=2,a.clone=r,a.config=a.set=l,s)s.hasOwnProperty(u)&&(a[u]=s[u]);if(void 0===e&&(e={}),e)for(i=["maxArrow","serializeMode","debug"],t=0;t