powiaina_num.js 0.2.11 → 0.2.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- !function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((r="undefined"!=typeof globalThis?globalThis:r||self).PowiainaNum={})}(this,(function(r){"use strict";function e(r,e){(null==e||e>r.length)&&(e=r.length);for(var t=0,a=Array(e);t<e;t++)a[t]=r[t];return a}function t(r,e){for(var t=0;t<e.length;t++){var a=e[t];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(r,n(a.key),a)}}function a(r){return function(r){if(Array.isArray(r))return e(r)}(r)||function(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}(r)||function(r,t){if(r){if("string"==typeof r)return e(r,t);var a={}.toString.call(r).slice(8,-1);return"Object"===a&&r.constructor&&(a=r.constructor.name),"Map"===a||"Set"===a?Array.from(r):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?e(r,t):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(r){var e=function(r,e){if("object"!=typeof r||!r)return r;var t=r[Symbol.toPrimitive];if(void 0!==t){var a=t.call(r,e||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(r)}(r,"string");return"symbol"==typeof e?e:e+""}function i(r){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r})(r)}var o,u=9007199254740991,l=15.954589770191003,s=11102230246251568e-32,c=1.444667861009766,f=/^(PN)?[\/\-\+]*(Infinity|NaN|(P+|P\^\d+ )?(10(\^+|\{([1-9]\d*|!)(,([1-9]\d*|!))?(,[1-9]\d*)?\})|\(10(\^+|\{([1-9]\d*|!)(,([1-9]\d*|!))?(,[1-9]\d*)?\})\)\^[1-9]\d*\x20*)*((\d+(\.\d*)?|\d*\.\d+)?([Ee][-\+]*))*(0|\d+(\.\d*)?|\d*\.\d+))$/;function g(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return{repeat:r,arrow:e,expans:t,megota:a,valuereplaced:e==1/0?0:t==1/0?1:-1}}function h(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];for(var a=0;a<Math.min(e[0].length,e[1].length);a++){var n=e[0][a],i=e[1][a];if(n<i)return-1;if(n>i)return 1}return 0}function y(r){return Math.log10(Number(r.substring(0,17)))+(r.length-17)}var p=.5671432904097838;function m(r){var e,t,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e-10,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!Number.isFinite(r))return r;if(n){if(0===r)return r;if(1===r)return p;e=r<10?0:Math.log(r)-Math.log(Math.log(r))}else{if(0===r)return-1/0;e=r<=-.1?-2:Math.log(-r)-Math.log(-Math.log(-r))}for(var i=0;i<100;++i){if(t=(r*Math.exp(-e)+e*e)/(e+1),Math.abs(t-e)<a*Math.abs(t))return t;e=t}throw Error("Iteration failed to converge: ".concat(r.toString()))}function v(r){return 2==r.length}function N(r){return"number"==typeof r[0]&&"number"==typeof r[1]}function w(r){return"x"===r?1/0:r}function b(r){return 4==r.length}function d(r){return"number"==typeof r[0]&&"number"==typeof r[1]&&"number"==typeof r[2]&&"number"==typeof r[3]}function O(r){return"x"===r[0]&&"number"==typeof r[1]&&"number"==typeof r[2]&&"number"==typeof r[3]}function E(r){return"number"==typeof r[0]&&"number"==typeof r[1]&&"x"==r[2]&&"number"==typeof r[3]}function I(r){var e,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e10,a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!(r=new M(r)).isFinite())return r;if(a){if(r.eq(M.ZERO))return r;if(r.eq(M.ONE))return new M(p);e=M.log(r)}else{if(r.eq(M.ZERO))return M.NEGATIVE_INFINITY.clone();e=M.log(r.neg())}for(var n=0;n<100;++n){var i=e.neg().exp(),o=e.sub(r.mul(i)),u=e.add(M.ONE).sub(e.add(2).mul(o).div(M.mul(2,e).add(2)));if(u.eq(M.ZERO))return e;var l=e.sub(o.div(u));if(M.abs(l.sub(e)).lt(M.abs(l).mul(t)))return l;e=l}throw Error("Iteration failed to converge: "+r)}function x(r,e){return h([r.megota,r.expans,r.arrow],[e.megota,e.expans,e.arrow])}var k,M=function(){function r(e){if(function(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r),this[o]="PowiainaNum",this.array=[{arrow:0,expans:1,megota:1,repeat:NaN}],this.small=!1,this.sign=0,this.layer=0,void 0===e);else if("number"==typeof e){var t=r.fromNumber(e);this.resetFromObject(t)}else if("object"==i(e)){var a=r.fromObject(e);this.resetFromObject(a)}else if("string"==typeof e){var n=r.fromString(e);this.resetFromObject(n)}}return function(r,e,a){return e&&t(r.prototype,e),a&&t(r,a),Object.defineProperty(r,"prototype",{writable:!1}),r}(r,[{key:"add",value:function(e){var t,a,n,i,o,c,f=this.clone(),h=new r(e);if(f.eq(r.POSITIVE_INFINITY)&&h.eq(r.NEGATIVE_INFINITY)||f.eq(r.NEGATIVE_INFINITY)&&h.eq(r.POSITIVE_INFINITY))return r.NaN.clone();if(!f.isFinite())return f.clone();if(!h.isFinite())return h.clone();if(f.isZero())return h.clone();if(h.isZero())return f.clone();if(f.sign==-h.sign&&function(){var r=f.abs(),e=h.abs();return r.eq(e)}())return r.ZERO.clone();if(f.abs().lt(u)&&h.abs().lt(u)&&f.abs().gte(s)&&h.abs().gte(s))return r.fromNumber(f.toNumber()+h.toNumber());if(f.abs().lt(r.E_MSI_REC)||f.abs().gt(r.E_MSI)||h.abs().lt(r.E_MSI_REC)||h.abs().gt(r.E_MSI)){var y=f.maxabs(h);return f.abs().eq(y)?f:(h.abs().eq(y),h)}if(-1==f.sign)return f.neg().add(h.neg()).neg();f.cmpabs(h)>0?(o=f,c=h):(c=f,o=h);var p=o.toNumber()+c.toNumber();if(isFinite(p)&&0!==p)return r.fromNumber(p);var m=1;if(!(o.small||c.small||(null===(t=o.array[1])||void 0===t?void 0:t.repeat)||(null===(a=c.array[1])||void 0===a?void 0:a.repeat)||o.sign!=c.sign))return new r((o.array[0].repeat+c.array[0].repeat)*o.sign);var v=(o.small?-1:1)*((null===(n=o.array[1])||void 0===n?void 0:n.repeat)?o.array[0].repeat:Math.log10(o.array[0].repeat)),N=(c.small?-1:1)*((null===(i=c.array[1])||void 0===i?void 0:i.repeat)?c.array[0].repeat:Math.log10(c.array[0].repeat));if(v-N>l)return o;var w,b,d=-Math.floor(v),O=0;if((b=o.sign*Math.pow(10,v+d)+c.sign*Math.pow(10,N+d))>0&&(O=Math.log10(b)-d),b<0&&(O=Math.log10(-b)-d,m*=-1),0==b)throw Error("Encounter a calculate error");return(w=new r).sign=1,w.array=O>l||O<-l?[g(O,0),g(1,1)]:[g(Math.pow(10,Math.abs(O)),0)],w.small=O<0,w.sign*=m,w}},{key:"sub",value:function(e){return this.add(new r(e).neg())}},{key:"mul",value:function(e){var t=this.clone(),a=new r(e);if(t.eq(r.POSITIVE_INFINITY)&&a.eq(r.NEGATIVE_INFINITY)||a.eq(r.POSITIVE_INFINITY)&&t.eq(r.NEGATIVE_INFINITY))return r.NEGATIVE_INFINITY.clone();if(t.isInfiNaN()&&a.isZero()||a.isInfiNaN()&&t.isZero())return r.NaN.clone();if(t.eq(r.NEGATIVE_INFINITY)&&a.eq(r.NEGATIVE_INFINITY))return r.POSITIVE_INFINITY.clone();if(!t.isFinite())return t.clone();if(!a.isFinite())return a.clone();if(t.isZero()||a.isZero())return r.ZERO.clone();var n,i=t.toNumber()*a.toNumber();return isFinite(i)&&0!==i?r.fromNumber(i):((n=t.abs().log10().add(a.abs().log10()).pow10()).sign=t.sign*a.sign,n)}},{key:"div",value:function(e){var t=new r(e).rec();return this.mul(t)}},{key:"mod",value:function(e){var t=new r(e),a=this.div(t);return a.sub(a.floor()).mul(t)}},{key:"pow10",value:function(){var e,t,a=this.clone();return this.isFinite()?a.isneg()?(a.sign*=-1,a.pow10().rec()):a.lte(308.25471555991675)?r.fromNumber(Math.pow(10,a.toNumber())):a.small?a.lt(r.MSI_REC)?r.ONE:new r(Math.pow(10,Math.pow(a.array[0].repeat,-1))):(a.gt(r.TETRATED_MSI)||(a.setOperator((null!==(t=null===(e=a.array[1])||void 0===e?void 0:e.repeat)&&void 0!==t?t:0)+1,1),a.normalize()),a):this.clone()}},{key:"pow",value:function(e){var t=new r(e);if(this.eq(1))return r.ONE.clone();if(!t.isFinite())return t.clone();if(!this.isFinite())return this.clone();if(this.eq(10))return t.pow10();if(this.isneg()){if(!t.isInt())return r.NaN.clone();var a=this.abs().pow(t);return a.sign=function(){var r=t.mod(2).round();return r.eq(0)||r.eq(2)?1:-1}(),a}var n=this.toNumber(),i=t.toNumber(),o=Math.pow(n,i);return isFinite(o)&&0!==o?r.fromNumber(o):this.isZero()&&t.isZero()?r.ONE.clone():this.isZero()?r.ZERO.clone():t.isZero()?r.ONE.clone():this.gt(0)?this.log10().mul(t).pow10():t.rec().mod(2).eq(1)?this.neg().log10().mul(t).pow10().neg():r.NaN.clone()}},{key:"pow_base",value:function(e){return new r(e).pow(this)}},{key:"root",value:function(e){var t=new r(e);return this.pow(t.rec())}},{key:"sqrt",value:function(){return this.pow(.5)}},{key:"cbrt",value:function(){return this.abs().root(3).mul(this.sign)}},{key:"log10",value:function(){if(this.isneg())return r.NaN.clone();if(this.isZero())return r.NEGATIVE_INFINITY.clone();if(this.small){var e=this.clone();return e.small=!e.small,e.log10().neg()}if(1==this.array.length)return new r(Math.log10(this.array[0].repeat));if(this.gte(r.TETRATED_MSI))return this.clone();var t=this.clone();return t.array[1].repeat=t.array[1].repeat-1,t.normalize(),t}},{key:"log",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Math.E,t=new r(e);return this.log10().div(t.log10())}},{key:"ln",value:function(){return this.log()}},{key:"pLog10",value:function(){return this.isneg()?r.ZERO:this.log10()}},{key:"exp",value:function(){return this.pow_base(Math.E)}},{key:"factorial",value:function(){return this.abs().lt(u)?this.add(1).gamma():this.abs().lt(r.E_MSI)?r.exp(this.mul(this.log10().sub(1))):r.exp(this)}},{key:"gamma",value:function(){if(this.small)return this.rec();if(this.lte(u)){if(this.lt(24))return r.fromNumber(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+=((r-=1)+.5)*Math.log(r),t-=r;var a=r*r,n=r;return t+=1/(12*n),t-=1/(360*(n*=a)),t+=1/(1260*(n*=a)),t-=1/(1680*(n*=a)),t+=1/(1188*(n*=a)),t-=691/(360360*(n*=a)),t+=7/(1092*(n*=a)),t-=3617/(122400*(n*=a)),Math.exp(t)/e}(this.sign*this.getOperator(0)));var e=this.getOperator(0)-1,t=.9189385332046727;t+=(e+.5)*Math.log(e);var a=e*e,n=e,i=12*n,o=1/i,l=(t-=e)+o;if(l===t)return r.exp(t);if((l=(t=l)-(o=1/(i=360*(n*=a))))===t)return r.exp(t);t=l;var s=1/(i=1260*(n*=a));return t+=s,t-=s=1/(i=1680*(n*=a)),r.exp(t)}return this.gt(u)?r.exp(this.mul(this.log().sub(1))):r.exp(this)}},{key:"lambertw",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.lt(-.3678794411710499)?r.NaN.clone():e?this.abs().lt("1e-300")?new r(this):this.small?r.fromNumber(m(this.toNumber())):this.lt(u)?r.fromNumber(m(this.sign*this.getOperator(0))):this.lt("eee15")?I(this):this.log():1===this.sign?r.NaN.clone():0===this.layer?r.fromNumber(m(this.sign*this.array[0].repeat,1e-10,!1)):1==this.layer?I(this,1e-10,!1):this.neg().rec().lambertw().neg()}},{key:"tetrate",value:function(e){var t,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=this.clone(),i=new r(e),o=new r(a);if(n.isNaN()||i.isNaN()||o.isNaN())return r.NaN.clone();if(n.eq(1))return r.ONE.clone();if(o.neq(r.ONE)&&(i=i.add(o.slog(n))),i.isInfi()&&i.sign>0)return n.gte(c)?r.POSITIVE_INFINITY.clone():(t=this.log().neg()).lambertw().div(t);if(i.lte(-2))return r.NaN.clone();if(n.isZero())return i.isZero()?r.NaN.clone():i.gte(u/2)||i.toNumber()%2==0?r.ZERO.clone():r.ONE.clone();if(n.eq(r.ONE))return i.eq(r.ONE.neg())?r.NaN.clone():r.ONE.clone();if(i.eq(r.ONE.neg()))return r.ZERO.clone();if(i.eq(r.ZERO))return r.ONE.clone();if(i.eq(r.ONE))return n;if(i.eq(2))return n.pow(n);if(n.eq(2)){if(i.eq(3))return r.fromNumber(16);if(i.eq(4))return r.fromNumber(65536)}var l=n.max(i);if(l.gt(r.PENTATED_MSI))return l;if(l.gt(r.TETRATED_MSI)||i.gt(u)){if(this.lt(c))return(t=n.ln().neg()).lambertw().div(t);var s=n.slog(10).add(i);return s.setOperator(s.getOperator(2)+1,2),s.normalize(),s}for(var f=i.toNumber(),g=Math.floor(f),h=n.pow(f-g),y=r.NaN,p=0,m=r.E_MSI.clone();0!==g&&h.lt(m)&&p<100;++p)if(g>0){if(h=n.pow(h),y.eq(h)){g=0;break}y=h,--g}else{if(h=h.log(n),y.eq(h)){g=0;break}y=h,++g}return(100==p||this.lt(c))&&(g=0),h.setOperator(h.getOperator(1)+g,1),h.normalize(),h}},{key:"tetr",value:function(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return this.tetrate(r,e)}},{key:"slog",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,t=this.clone(),a=new r(e);if(t.isInfiNaN())return t;if(a.isNaN())return a;if(a.isInfi())return r.ZERO.clone();if(t.isZero())return r.ONE.clone();if(t.eq(r.ONE))return r.ZERO.clone();if(t.eq(a))return r.ONE.clone();if(a.lt(c)){var n=a.tetrate(1/0);if(t.eq(n))return r.POSITIVE_INFINITY.clone();if(t.gt(n))return r.NaN.clone()}if(t.max(a).gt(r.PENTATED_MSI))return t.gt(a)?t:r.ZERO.clone();if(t.max(a).gt(r.TETRATED_MSI)&&t.gt(a))return t.setOperator(t.getOperator(2)-1,2),t.normalize(),t.sub(t.getOperator(1));if(t.lt(r.ZERO.clone()))return a.pow(t).sub(2);var i=0,o=t.getOperator(1)-a.getOperator(1);if(o>3){var u=o-3;i+=u,t.setOperator(t.getOperator(1)-u,1)}for(var l=0;l<100;++l)if(t.lt(r.ZERO))t=r.pow(e,t),--i;else{if(t.lte(1))return new r(i+t.toNumber()-1);++i,t=r.log(t,e)}return t.gt(10)?new r(i):r.NaN.clone()}},{key:"ssqrt",value:function(){var e=this.clone();if(e.lt(1/c))return r.NaN.clone();if(!e.isFinite())return e;if(e.gt(r.TETRATED_MSI))return e;if(e.gt(r.EE_MSI))return e.setOperator(e.getOperator(1)-1,1),e;var t=e.ln();return t.div(t.lambertw())}},{key:"tetrate_10",value:function(){return r.tetrate(10,this)}},{key:"iteratedlog",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10,a=this.clone(),n=new r(t),i=new r(e);return i.isZero()?a:i.eq(r.ONE)?a.log(n):n.tetrate(a.slog(n).sub(i))}},{key:"arrow",value:function(e){var t=this.clone(),a=new r(e);return!a.isInt()||a.lt(r.ZERO)?(console.warn("The arrow is <0 or not a integer, the returned function will return NaN."),function(){return r.NaN.clone()}):a.eq(0)?function(r){return t.mul(r)}:a.eq(1)?function(r){return t.pow(r)}:a.eq(2)?function(r){return t.tetrate(r)}:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=new r(e),l=new r(n),s=r.arrowFuncMap.get("".concat(t.toString()," ").concat(a.toString()," ").concat(o.toString()," ").concat(i));if(s)return s.clone();var c=function(){var e;if(t.isNaN()||o.isNaN()||l.isNaN())return r.NaN.clone();if(o.lt(r.ZERO))return r.NaN.clone();if(t.eq(r.ZERO))return o.eq(r.ONE)?r.ZERO.clone():r.NaN.clone();if(l.neq(r.ONE)&&(o=o.add(l.anyarrow_log(a)(t))),t.eq(r.ONE))return r.ONE.clone();if(o.eq(r.ZERO))return r.ONE.clone();if(o.eq(r.ONE))return t.clone();if(a.gt(r.MSI))return(e=a.clone()).setOperator(e.getOperator(1/0)+1,1/0),e;var n=a.toNumber();if(o.eq(2))return t.arrow(n-1)(t,l,i+1);if(t.max(o).gt(r.arrowMSI(n+1)))return t.max(o);if(t.gt(r.arrowMSI(n))||o.gt(u)){t.gt(r.arrowMSI(n))?((e=t.clone()).setOperator(e.getOperator(n)-1,n),e.normalize()):e=t.gt(r.arrowMSI(n-1))?new r(t.getOperator(n-1)):r.ZERO;var s=e.add(o);return s.setOperator(s.getOperator(n)+1,n),s.normalize(),s}if(i>=r.maxOps+10)return new r({small:!1,sign:1,layer:0,array:[g(10,0),g(1,n)]});var c=o.toNumber(),f=Math.floor(c),h=a.sub(r.ONE);e=t.arrow(h)(c-f,l,i+1);for(var y=0,p=r.arrowMSI(n-1);0!==f&&e.lt(p)&&y<100;y++)f>0&&(e=t.arrow(h)(e,l,i+1),--f);return 100==y&&(f=0),e.setOperator(e.getOperator(n-1)+f,n-1),e.normalize(),e}();return i<r.maxOps+10&&r.arrowFuncMap.set("".concat(t.toString()," ").concat(a.toString()," ").concat(o.toString()," ").concat(i),c.clone()),c}}},{key:"anyarrow_log",value:function(e){var t=this.clone(),a=new r(e),n=a.toNumber();if(a.gt(u))throw new Error("[PowiainaNum 0.2 error]Not implemented");return!a.isInt()||a.lt(0)?function(){return r.NaN.clone()}:a.eq(0)?function(r){return t.div(r)}:a.eq(1)?function(r){return t.log(r)}:a.eq(2)?function(r){return t.slog(r)}:t.isInfiNaN()?function(){return t}:function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=new r(e);if(i.isNaN())return i;if(i.isInfi())return r.ZERO.clone();if(t.isZero())return r.ONE.clone();if(t.eq(r.ONE))return r.ZERO.clone();if(t.eq(i))return r.ONE.clone();if(t.max(i).gt(r.arrowMSI(n+1)))return t.gt(i)?t:r.ZERO.clone();if(t.max(i).gt(r.arrowMSI(n))&&t.gt(i))return t.setOperator(t.getOperator(n)-1,n),t.normalize(),t.sub(t.getOperator(n-1));if(t.lt(r.ZERO.clone()))return r.NaN.clone();var o=0,u=t.getOperator(n)-i.getOperator(n);if(u>3){var l=u-3;o+=l,t.setOperator(t.getOperator(n)-l,n)}for(var s=0;s<100;++s)if(t.lt(r.ZERO))t=t.arrow(n-1)(e),--o;else{if(t.lte(1))return new r(o+t.toNumber()-1);++o,t=t.anyarrow_log(n-1)(e,a+1)}return t.gt(10)?new r(o):r.NaN.clone()}}},{key:"arrow_height_inverse",value:function(r){return this.anyarrow_log(r)}},{key:"chain",value:function(r,e){return this.arrow(e)(r)}},{key:"pentate",value:function(r){return this.arrow(3)(r)}},{key:"hexate",value:function(r){return this.arrow(4)(r)}},{key:"pent",value:function(r){return this.arrow(3)(r)}},{key:"penta_log",value:function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this.anyarrow_log(3)(r)}},{key:"expansion",value:function(e){var t,a=new r(e),n=this.clone();if(a.lt(r.ZERO)||!a.isInt())return r.NaN.clone();if(a.eq(r.ONE))return this.clone();if(this.eq(r.ONE))return r.ONE.clone();if(!this.isInt())return r.NaN.clone();if(this.eq(2))return new r(4);if(a.eq(0))return r.ONE.clone();if(n.gt("10{1,2}".concat(u))||a.gt(u)){n.gt("10{1,2}".concat(u))?((t=n.clone()).setOperator(t.getOperator(1,2)-1,1,2),t.normalize()):t=n.gt("10{".concat(u,"}10"))?new r(n.getOperator(1/0)):r.ZERO;var i=t.add(a);return i.setOperator(i.getOperator(1,2)+1,1,2),i.normalize(),i}var o,l=a.toNumber()-1;for(t=n.clone(),o=0;0!==l&&t.lt(u)&&o<100;++o)l>0&&(t=n.arrow(t)(n),--l);return 100==o&&(l=0),t.setOperator(t.getOperator(1/0)+l,1/0),t.normalize(),t}},{key:"expansionArrow",value:function(e){var t=new r(e),a=this.clone();if(t.lt(0)||!t.isInt()||t.isNaN()||this.isNaN())return function(){return r.NaN.clone()};if(t.eq(0))return function(r){return a.arrow(r)(a)};if(t.eq(1))return function(r){return a.expansion(r)};var n=t;return function(e){var t,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=new r(e);if(a.isNaN()||o.isNaN())return r.NaN.clone();if(o.lt(r.ZERO))return r.NaN.clone();if(a.eq(r.ZERO))return o.eq(r.ONE)?r.ZERO.clone():r.NaN.clone();if(a.eq(r.ONE))return r.ONE.clone();if(o.eq(r.ZERO))return r.ONE.clone();if(o.eq(r.ONE))return a.clone();if(n.gt(r.MSI))return(t=n.clone()).setOperator(t.getOperator(1/0,2)+1,1/0,2),t;var l=n.toNumber();if(o.eq(2))return a.expansionArrow(l-1)(a,i+1);if(a.max(o).gt("10{".concat(l+1,",2}").concat(u)))return a.max(o);if(a.gt("10{".concat(l,",2}").concat(u))||o.gt(u)){a.gt("10{".concat(l,",2}").concat(u))?((t=a.clone()).setOperator(t.getOperator(l,2)-1,l,2),t.normalize()):t=a.gt("10{".concat(l-1,",2}").concat(u))?new r(a.getOperator(l-1,2)):r.ZERO;var s=t.add(o);return s.setOperator(s.getOperator(l,2)+1,l,2),s.normalize(),s}if(i>=r.maxOps+10)return new r({small:!1,sign:1,layer:0,array:[g(10,0),g(1,l,2)]});var c=o.toNumber(),f=Math.floor(c),h=n.sub(r.ONE);t=a.expansionArrow(h)(c-f,i+1);for(var y=0,p=new r("10{".concat(l-1,",2}").concat(u));0!==f&&t.lt(p)&&y<100;y++)f>0&&(t=a.expansionArrow(h)(t,i+1),--f);return 100==y&&(f=0),t.setOperator(t.getOperator(l-1,2)+f,l-1,2),t.normalize(),t}}},{key:"multiExpansion",value:function(r){return this.expansionArrow(2)(r)}},{key:"powerExpansion",value:function(r){return this.expansionArrow(3)(r)}},{key:"explosion",value:function(e){return r.BEAF(this,e,1,3)}},{key:"megotion",value:function(e){return r.BEAF(this,e,1,1,2)}},{key:"powiaination",value:function(e){return r.BEAF(this,e,1,1,1,2)}},{key:"abs",value:function(){var r=this.clone();return r.sign<0&&(r.sign*=-1),r}},{key:"clampMin",value:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return r.max.apply(r,[this].concat(t))}},{key:"clampMax",value:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return r.min.apply(r,[this].concat(t))}},{key:"clamp",value:function(r,e){return this.max(r).min(e)}},{key:"max",value:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return r.max.apply(r,[this].concat(t))}},{key:"min",value:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return r.min.apply(r,[this].concat(t))}},{key:"maxabs",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var i=t.map((function(e){return new r(e).abs()}));return r.max.apply(r,[this.abs()].concat(a(i)))}},{key:"minabs",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var i=t.map((function(e){return new r(e).abs()}));return r.min.apply(r,[this.abs()].concat(a(i)))}},{key:"cmpabs",value:function(e){var t=new r(e).abs();return this.abs().cmp(t)}},{key:"compare",value:function(e){var t=new r(e);if(this.isNaN()||t.isNaN())return 2;if(this.sign<t.sign)return-1;if(this.sign>t.sign)return 1;var a=-1==this.sign&&-1==t.sign;if(this.small&&!t.small)return-1*(a?-1:1);if(t.small&&!this.small)return 1*(a?-1:1);var n=1;this.small&&t.small&&(n*=-1),a&&(n*=-1);for(var i=0,o=0;this.array.length-1-o>=0&&t.array.length-1-o>=0;o++){var u=this.array[this.array.length-1-o],l=t.array[t.array.length-1-o],s=h([u.megota,u.expans,u.arrow,u.repeat],[l.megota,l.expans,l.arrow,l.repeat]);if(1==s){i=1;break}if(-1==s){i=-1;break}}return i*n+1-1}},{key:"cmp",value:function(r){return this.compare(r)}},{key:"eq",value:function(r){return 0===this.cmp(r)}},{key:"neq",value:function(r){return 0!==this.cmp(r)}},{key:"lt",value:function(r){return-1===this.cmp(r)}},{key:"lte",value:function(r){return this.cmp(r)<=0}},{key:"gt",value:function(r){return 1==this.cmp(r)}},{key:"gte",value:function(r){var e=this.cmp(r);return 0==e||1==e}},{key:"eq_tolerance",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e-7,a=new r(e);return this.sub(a).lte(this.max(a).mul(t))}},{key:"sin",value:function(){var e=this.clone();if(e.isneg())return e.neg().sin().neg();var t=e.mod(7074237752028440);return r.fromNumber(Math.sin(t.toNumber()))}},{key:"cos",value:function(){return this.sub(Math.PI/2).sin()}},{key:"tan",value:function(){return this.sin().div(this.cos())}},{key:"cot",value:function(){return this.cos().div(this.sin())}},{key:"sec",value:function(){return this.cos().rec()}},{key:"csc",value:function(){return this.sin().rec()}},{key:"neg",value:function(){var r=this.clone();return r.sign*=-1,r.normalize(),r}},{key:"rec",value:function(){var r=this.clone();return r.small=!r.small,r}},{key:"floor",value:function(){if(this.isInt())return this.clone();if(this.small)return 1==this.sign?r.ZERO.clone():r.ONE.neg().clone();var e=this.abs();return e.array[0].repeat=Math[1==this.sign?"floor":"ceil"](e.getOperator(0)),e.sign=this.sign,e}},{key:"ceil",value:function(){if(this.isInt())return this.clone();if(this.small)return 1==this.sign?r.ONE.clone():r.ZERO.clone();var e=this.abs();return e.array[0].repeat=Math[1==this.sign?"ceil":"floor"](e.getOperator(0)),e.sign=this.sign,e}},{key:"round",value:function(){if(this.isInt())return this.clone();if(this.small)return 1==this.sign?this.rec().lte(2)?r.ONE.clone():r.ZERO.clone():this.abs().rec().lte(2)?r.ZERO.clone():r.ONE.neg().clone();var e=this.abs();return e.array[0].repeat=Math.round(e.array[0].repeat),e.sign=this.sign,e}},{key:"trunc",value:function(){var r=this.clone();return r.gte(0)?r.floor():r.ceil()}},{key:"isNaN",value:function(r){function e(){return r.apply(this,arguments)}return e.toString=function(){return r.toString()},e}((function(){return isNaN(this.getOperator(0))}))},{key:"isZero",value:function(){return Boolean(this.small&&!isFinite(this.getOperator(0)))}},{key:"isFinite",value:function(r){function e(){return r.apply(this,arguments)}return e.toString=function(){return r.toString()},e}((function(){return Boolean(this.small||isFinite(this.getOperator(0)))&&!this.isNaN()}))},{key:"isInfi",value:function(){return this.rec().isZero()}},{key:"isInfiNaN",value:function(){return this.isInfi()||this.isNaN()}},{key:"isInt",value:function(){return!!this.isZero()||(!(this.small||!Number.isInteger(this.getOperator(0)))||!!this.abs().gte(u/2))}},{key:"ispos",value:function(){return this.sign>0}},{key:"isneg",value:function(){return this.sign<0}},{key:"normalize",value:function(){for(var e=!0,t=this,a=0;a<this.array.length;a++)if(this.array[a].repeat==1/0)return this.array=[{arrow:0,expans:1,megota:1,repeat:1/0}],this.layer=0,this;for(var n=1;n<t.array.length;++n){var i=t.array[n];if(null!==i.arrow&&void 0!==i.arrow||(i.arrow=0),null!==i.expans&&void 0!==i.expans||(i.expans=1),null!==i.megota&&void 0!==i.megota||(i.megota=1),isNaN(i.arrow)||isNaN(i.repeat)||isNaN(i.expans)||isNaN(i.megota))return t.array=[g(NaN,0,1,1)],t;if(!isFinite(i.repeat)||!isFinite(i.megota))return t.array=[g(1/0,0,1,1)],t;Number.isInteger(i.arrow)||(i.arrow=Math.floor(i.arrow)),Number.isInteger(i.repeat)||(i.repeat=Math.floor(i.repeat)),Number.isInteger(i.expans)||(i.expans=Math.floor(i.expans)),Number.isInteger(i.megota)||(i.megota=Math.floor(i.megota))}t.array.length||(t.small=!t.small,t.array=[g(1/0)]);do{for(e=!1,this.array.sort(x),n=1;n<t.array.length-1;++n)t.array[n].arrow==t.array[n+1].arrow&&t.array[n].expans==t.array[n+1].expans&&t.array[n].megota==t.array[n+1].megota&&(t.array[n].repeat+=t.array[n+1].repeat,t.array.splice(n+1,1),--n,e=!0);for(n=1;n<t.array.length;++n)0===t.array[n].arrow||0!==t.array[n].repeat&&null!==t.array[n].repeat&&void 0!==t.array[n].repeat?0==t.array[n].arrow&&t.array[n].expans>=2&&(t.array[n].arrow=1/0,t.array[n].valuereplaced=0,t.array[n].expans=t.array[n].expans-1):(t.array.splice(n,1),--n);for(t.array.length>r.maxOps&&t.array.splice(1,t.array.length-r.maxOps),this.array.length>=2&&1==this.array[1].arrow&&this.array[1].repeat>=1&&this.array[0].repeat<l&&(this.setOperator(this.array[1].repeat-1,1),this.setOperator(Math.pow(10,this.array[0].repeat),0),e=!0),this.getOperator(0)>u&&isFinite(this.getOperator(0))&&(this.setOperator(this.getOperator(1)+1,1),this.setOperator(Math.log10(this.getOperator(0)),0),e=!0),this.array[this.array.length-1].megota>u?(this.layer++,this.array=[g(this.array[this.array.length-1].megota)],e=!0):this.layer&&1==this.array.length&&0===this.array[0].arrow&&(this.layer--,this.array=[g(10),g(1,10,10,this.array[0].repeat)],e=!0),1==this.array.length&&this.array[0].repeat<1&&(this.array[0].repeat=1/this.array[0].repeat,this.small=!this.small,e=!0),this.array.length>=2&&this.array[1].arrow>=u&&(this.array[0].repeat=this.array[1].arrow,this.array[1]=g(1,1/0,this.array[1].expans,this.array[1].megota));t.array.length>=2&&1==t.array[0].repeat&&t.array[1].repeat;)t.array[1].repeat>1?t.array[1].repeat--:t.array.splice(1,1),t.array[0].repeat=10,e=!0;t.array.length>=2&&t.array.length<r.maxOps&&t.array[0].repeat<u&&t.array[1].arrow>=2&&t.array[1].repeat>1&&isFinite(t.array[1].arrow)&&(t.array[1].repeat--,t.array.splice(1,0,g(t.array[0].repeat-1,t.array[1].arrow-1,t.array[1].expans,t.array[1].megota)),t.array[0].repeat=10,e=!0),t.array.length>=2&&t.array[0].repeat<u&&t.array[1].arrow>=2&&1==t.array[1].repeat&&isFinite(t.array[1].arrow)&&(t.array.splice(1,1,g(t.array[0].repeat-1,t.array[1].arrow-1,t.array[1].expans,t.array[1].megota)),t.array[0].repeat=10,e=!0),t.array.length>=2&&t.array[1].repeat>u&&t.array[1].arrow!==1/0&&(t.array[1].arrow++,t.array[0].repeat=t.array[1].repeat,t.array[1].repeat=1,e=!0),t.array.length>=2&&t.array[1].repeat>u&&t.array[1].arrow===1/0&&(t.array[1].arrow=1,t.array[1].expans++,t.array[0].repeat=t.array[1].repeat,t.array[1].repeat=1,e=!0)}while(e);return this}},{key:"getOperatorIndex",value:function(r){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=0;a<this.array.length;a++){var n=h([this.array[a].megota,this.array[a].expans,this.array[a].arrow],[t,e,r]);if(0==n)return a;if(1==n)return a-.5}return this.array.length-.5}},{key:"getOperator",value:function(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=this.getOperatorIndex(r,e,t);return this.array[a]?this.array[a].repeat:0}},{key:"setOperator",value:function(r,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,n=this.getOperatorIndex(e,t,a);return this.array[n]?(this.array[n].repeat=r,!1):(this.array.splice(Math.ceil(n),0,{arrow:e,expans:t,megota:a,valuereplaced:t===1/0?1:e==1/0?0:-1,repeat:r}),!0)}},{key:"clone",value:function(){var e=new r;return e.resetFromObject(this),e}},{key:"resetFromObject",value:function(r){this.array=[];for(var e=0;e<r.array.length;e++)this.array[e]={arrow:r.array[e].arrow,expans:r.array[e].expans,megota:r.array[e].megota,repeat:r.array[e].repeat,valuereplaced:r.array[e].valuereplaced};return this.small=r.small,this.sign=r.sign,this.layer=r.layer,this}},{key:"toNumber",value:function(){return-1==this.sign?-this.neg().toNumber():this.small?1/this.rec().toNumber():this.array.length>2?1/0:1==this.array.length?this.array[0].repeat:2==this.array.length&&1==this.array[1].arrow&&1==this.array[1].expans&&1==this.array[1].megota&&1==this.array[1].repeat?Math.pow(10,this.getOperator(0)):NaN}},{key:"toString",value:function(){if(this.isNaN())return"NaN";if(-1==this.sign)return"-".concat(this.neg().toString());if(this.small)return this.isZero()?"0":"/".concat(this.rec().toString());if(this.isInfi())return"Infinity";var r="";this.layer?this.layer<3?r+="P".repeat(this.layer):r+="P^"+this.layer+" ":r+="";for(var e=this.array.length-1;e>=0;e--){var t=this.array[e],a="10{".concat(t.arrow===1/0?"!":t.arrow).concat(t.expans>1||t.megota>1?",".concat(t.expans===1/0?"!":t.expans):"").concat(t.megota>1?",".concat(t.megota):"","}");a=1==t.arrow&&1==t.expans&&1==t.megota&&t.repeat<5?"e".repeat(t.repeat):0==t.arrow&&1==t.expans&&1==t.megota?t.repeat.toString():t.repeat>1?"(".concat(a,")^").concat(t.repeat," "):"".concat(a),r+="".concat(a)}return r}},{key:"toJSON",value:function(){return"PN"+this.toString()}},{key:"arr01",get:function(){for(var r=[0],e=0;e<this.array.length;e++)0==e?r[0]=this.array[e].repeat:(r[e]=[0,0,0,0],r[e][0]=this.array[e].arrow==1/0?"x":this.array[e].arrow,r[e][1]=this.array[e].repeat,r[e][2]=this.array[e].expans==1/0?"x":this.array[e].expans,r[e][3]=this.array[e].megota);return r}}],[{key:"add",value:function(e,t){return new r(e).add(t)}},{key:"sub",value:function(e,t){return new r(e).sub(t)}},{key:"mul",value:function(e,t){return new r(e).mul(t)}},{key:"div",value:function(e,t){return new r(e).div(t)}},{key:"pow",value:function(e,t){return new r(e).pow(t)}},{key:"root",value:function(e,t){return new r(e).root(t)}},{key:"sqrt",value:function(e){return new r(e).sqrt()}},{key:"cbrt",value:function(e){return new r(e).cbrt()}},{key:"log10",value:function(e){return new r(e).log10()}},{key:"log",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Math.E;return new r(e).log(t)}},{key:"pLog10",value:function(e){return new r(e).pLog10()}},{key:"exp",value:function(e){return new r(e).pow_base(Math.E)}},{key:"factorial",value:function(e){return new r(e).factorial()}},{key:"gamma",value:function(e){return new r(e).gamma()}},{key:"lambertw",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return new r(e).lambertw(t)}},{key:"affordGeometricSeries",value:function(e,t,a,n){return this.affordGeometricSeries_core(new r(e),new r(t),new r(a),n)}},{key:"affordGeometricSeries_core",value:function(r,e,t,a){var n=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=e.mul(t.pow(a));return r.div(i).mul(t.sub(1)).add(1).clampMin(n?1:-1/0).log10().div(t.log10()).floor()}},{key:"sumGeometricSeries",value:function(e,t,a,n){return this.sumGeometricSeries_core(e,new r(t),new r(a),n)}},{key:"sumGeometricSeries_core",value:function(e,t,a,n){return t.mul(a.pow(n)).mul(r.sub(1,a.pow(e))).div(r.sub(1,a))}},{key:"affordArithmeticSeries",value:function(e,t,a,n){return this.affordArithmeticSeries_core(new r(e),new r(t),new r(a),new r(n))}},{key:"affordArithmeticSeries_core",value:function(r,e,t,a){var n=e.add(a.mul(t)).sub(t.div(2)),i=n.pow(2);return n.neg().add(i.add(t.mul(r).mul(2)).sqrt()).div(t).floor()}},{key:"sumArithmeticSeries",value:function(e,t,a,n){return this.sumArithmeticSeries_core(new r(e),new r(t),new r(a),new r(n))}},{key:"sumArithmeticSeries_core",value:function(r,e,t,a){var n=e.add(a.mul(t));return r.div(2).mul(n.mul(2).add(r.sub(1).mul(t)))}},{key:"tetrate",value:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return new r(e).tetrate(t,a)}},{key:"tetrate_10",value:function(e){return r.fromNumber(10).tetrate(e)}},{key:"iteratedlog",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10;return new r(e).iteratedlog(t,a)}},{key:"arrow",value:function(e,t,a){return new r(e).arrow(t)(a)}},{key:"arrFrac",value:function(e,t){var a=new r(e).clone(),n=new r(t).clone();return new r(a).arrow(n.floor().add(1))(a.div(2).pow(n.sub(n.floor())).mul(2))}},{key:"arrowMSI",value:function(e){return new r("10{".concat(e,"}").concat(u))}},{key:"hyper",value:function(e){var t=new r(e);return t.eq(0)?function(e,t){return new r(t).eq(0)?new r(e):new r(e).add(1)}:t.eq(1)?r.add:t.eq(2)?r.mul:t.eq(3)?r.pow:function(e,a){return new r(e).arrow(t.sub(2))(a)}}},{key:"expansion",value:function(e,t){return new r(e).expansion(t)}},{key:"multiExpansion",value:function(e,t){return new r(e).multiExpansion(t)}},{key:"powerExpansion",value:function(e,t){return new r(e).powerExpansion(t)}},{key:"BEAF",value:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];function n(e){return void 0!==t[e]&&null!==t[e]?new r(t[e]):new r(1)}return n(0).eq(1)?new r(1):n(1).eq(1)?new r(n(0)):n(5).eq(2)&&(n(4).gte(2)||n(3).gte(2)||n(2).gte(2))||0!==t.slice(6).map((function(e){return new r(e)})).filter((function(r){return r.gt(1)})).length?r.POSITIVE_INFINITY.clone():r.BEAF_core(n(0),n(1),n(2),n(3),n(4),n(5))}},{key:"BEAF_core",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,c=new r(e),f=new r(t);function h(e){var t;return new r(null!==(t=[n,i,o,l][e])&&void 0!==t?t:1)}if(c.eq(1))return new r(1);if(f.eq(1))return new r(c);if(f.isZero())return new r(1);if(c.lt(0))return r.NaN.clone();if(new r(l).gte(3))return r.POSITIVE_INFINITY.clone();if(h(0).eq(1)&&h(1).eq(1)&&h(2).eq(1))return c.pow(f);if(h(0).eq(2)&&h(1).eq(1)&&h(2).eq(1)&&h(3).eq(1))return c.tetrate(f);if(h(1).eq(1)&&h(2).eq(1)&&h(3).eq(1))return c.arrow(h(0))(f);if(h(1).eq(2)&&h(2).eq(1)&&h(3).eq(1))return c.expansionArrow(h(0))(f);var y=h(0).toNumber(),p=h(1),m=h(2),v=h(3);if(v.eq(2)){if(1!=y)return r.POSITIVE_INFINITY.clone();if(p.neq(1))return r.POSITIVE_INFINITY.clone();if(m.neq(1))return r.POSITIVE_INFINITY.clone();if(f.gte(u))return r.POSITIVE_INFINITY.clone();var N=new r(10);return N.layer=f.toNumber(),N.normalize(),N}function w(r,e,t){return 0==r&&e>1?[1/0,e-1,t]:0==r&&1==e&&t>1||0==e&&t>1?[1,1/0,t-1]:[r,e,t]}if(m.gt(u)){var b=new r(m);return b.layer++,b.normalize(),b}function d(r){return isFinite(r)?r.toString():"!"}function O(r,e,t){var a=w(r,e,t);return"10{".concat(d(a[0]),",").concat(d(a[1]),",").concat(a[2],"}").concat(u)}var E=c.clone(),I=new r(h(0)),x=function(s){var h,y,v=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(console.log("".concat("-".repeat(v)," {").concat(e,",").concat(t,",").concat(n,",").concat(i,",").concat(o,"}")),v>=200)return new r({layer:0,array:[g(10),g(1,new r(n).clampMax(u).toNumber(),new r(i).clampMax(u).toNumber(),new r(o).clampMax(u).toNumber())],sign:1,small:!1}).normalize();var N,b=new r(s);if(E.isNaN()||b.isNaN())return r.NaN.clone();if(b.lt(r.ZERO))return r.NaN.clone();if(E.eq(r.ZERO))return b.eq(r.ONE)?r.ZERO.clone():r.NaN.clone();if(E.eq(r.ONE))return r.ONE.clone();if(b.eq(r.ZERO))return r.ONE.clone();if(b.eq(r.ONE))return E.clone();if(I.eq(0))return r.BEAF(E,E,f,p.sub(1),m,l,v+1);if(p.eq(0))return r.BEAF(E,E,E,f,m.sub(1),l,v+1);if(m.eq(0))return r.BEAF(E,E,E,E,p,new r(l).sub(1),v+1);if(p.gt(u))return(N=new r(p)).setOperator(N.getOperator(1,1/0,m.toNumber())+1,1,1/0,m.toNumber()),N;if(I.gt(r.MSI))return(N=I.clone()).setOperator(N.getOperator(1/0,p.toNumber(),m.toNumber())+1,1/0,p.toNumber(),m.toNumber()),N;var d=I.toNumber();if(b.eq(2))return r.BEAF(E,E,d-1,p,m,l,v+1);if(E.max(b).gt(O(d+1,p.toNumber(),m.toNumber())))return E.max(b);if(E.gt(O(d,p.toNumber(),m.toNumber()))||b.gt(u)){E.gt(O(d,p.toNumber(),m.toNumber()))?((N=E.clone()).setOperator(N.getOperator(d,p.toNumber(),m.toNumber())-1,d,p.toNumber(),m.toNumber()),N.normalize()):N=E.gt(O.apply(void 0,a(w(d-1,p.toNumber(),m.toNumber()))))?new r(E.getOperator.apply(E,a(w(d-1,p.toNumber(),m.toNumber())))):r.ZERO;var x=N.add(b);return x.setOperator(x.getOperator(d,p.toNumber(),m.toNumber())+1,d,p.toNumber(),m.toNumber()),x.normalize(),x}if(v>=r.maxOps+10)return new r({small:!1,sign:1,layer:0,array:[g(10,0),g(1,d,p.toNumber(),m.toNumber())]});var k=b.toNumber(),M=Math.floor(k),q=I.sub(r.ONE);N=r.BEAF(E,k-M,q.toNumber(),p,m,l,v+1);for(var S=0,T=new r(O.apply(void 0,a(w(d-1,p.toNumber(),m.toNumber()))));0!==M&&N.lt(T)&&S<100;S++)M>0&&(N=r.BEAF(c,N,q.toNumber(),p,m,l,v+1),--M);return 100==S&&(M=0),(h=N).setOperator.apply(h,[(y=N).getOperator.apply(y,a(w(d-1,p.toNumber(),m.toNumber())))+M].concat(a(w(d-1,p.toNumber(),m.toNumber())))),N.normalize(),N}(f,s);return console.log("".concat("-".repeat(s)," = ").concat(x)),x}},{key:"abs",value:function(e){return new r(e).abs()}},{key:"max",value:function(){for(var e=r.NEGATIVE_INFINITY,t=arguments.length,a=new Array(t),n=0;n<t;n++)a[n]=arguments[n];for(var i=0;i<a.length;i++)e.lt(a[i])&&(e=new r(a[i]).clone());return e}},{key:"min",value:function(){for(var e=r.POSITIVE_INFINITY,t=arguments.length,a=new Array(t),n=0;n<t;n++)a[n]=arguments[n];for(var i=0;i<a.length;i++)e.gt(a[i])&&(e=new r(a[i]).clone());return e}},{key:"clampMin",value:function(){return r.max.apply(r,arguments)}},{key:"clampMax",value:function(){return r.min.apply(r,arguments)}},{key:"sign",value:function(e){return new r(e).sign}},{key:"isNaN",value:function(e){return new r(e).isNaN()}},{key:"fromNumber",value:function(e){var t=new r;if(e<0)t.sign=-1;else{if(0==e)return t.sign=0,t.small=!0,t.array=[g(1/0,0)],t;e>0&&(t.sign=1)}var a=Math.abs(e);return a==1/0?t.array=[g(1/0,0)]:a>=s&&a<1?(t.small=!0,t.array=[g(1/a,0)]):a<s?(t.small=!0,t.array=[g(-Math.log10(a),0),g(1,1)]):a<=u?t.array=[g(a,0)]:(t.setOperator(Math.log10(a),0),t.array=[g(Math.log10(a),0),g(1,1)]),t}},{key:"fromString",value:function(e){var t,a,n,i,o,s,c,h=new r;if(e.startsWith("PN")&&(e=e.substring(2)),e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(/J\^(\d+)/g,"(10{!})^$1")).replace(/J/g,"10{!}")).replace(/K\^(\d+)/g,"(10{1,2})^$1")).replace(/K/g,"10{1,2}")).replace(/L\^(\d+)/g,"(10{2,2})^$1")).replace(/L/g,"10{2,2}")).replace(/M\^(\d+)/g,"(10{!,2})^$1")).replace(/M/g,"10{!,2}")).replace(/N\^(\d+)/g,"(10{1,!})^$1")).replace(/N/g,"10{1,!}"),!isNaN(Number(e))){var p=Number(e),m=!1;if(0==p?/^((0)|(0*\.0+e\d+)|(0*\.0*))$/.test(e)&&(m=!0):m=!0,!m){var v=e.search(/e/),N=e.substring((-1==v?e.length:v)+1),w=e.substring(0,-1==v?void 0:v),b=[0,0];if(b[1]=Number(N||"0"),Number(w)>=1){var d=w.length>=17?y(w):Math.log10(Number(w)),O=d-Math.floor(d);b[0]=Math.pow(10,O),b[1]+=O}else{var E=(c=w.match(/^0\.(0*)[1-9]/))?c[1].length:0;w=(w=w.substring(w.search(/[1-9]/))).charAt(0)+"."+w.substring(1),E+=1,b[0]=Number(w),b[1]+=-E}return r.pow(10,-b[1]-1).mul(10*Math.pow(b[0],-1)).rec()}if(isFinite(p)&&m)return h=r.fromNumber(Number(e))}if(-1!==e.indexOf("l")&&-1!==e.indexOf("s")&&-1!==e.indexOf("a")){var I=function(r){var e=r.match(/l(\d+)\s+s(\d+)\s+a(\[.*\])/);try{if(e)return{lValue:parseInt(e[1]),sValue:parseInt(e[2]),array:JSON.parse(e[3])}}catch(r){return null}return null}(e);if(!I||0!==I.sValue&&1!==I.sValue&&-1!==I.sValue)throw"[PowiainaNum 0.2 error]malformed input: "+e;return(h=r.fromObject(I.array)).layer=I.lValue,h.sign=I.sValue,h.small=!1,h.normalize(),h}if(e=e.replace(/\(e\^(\d+)\)/g,"(10^)^$1 ").replace(/(\d+)\x20*PT/g,"(10^)^$1 "),!f.test(e))throw"[PowiainaNum 0.2 error]malformed input: "+e;var x=!1,k=!1;if("-"==e[0]||"+"==e[0]){var M=e.search(/[^-\+]/);x=(null!==(a=null===(t=e.substring(0,M).match(/-/g))||void 0===t?void 0:t.length)&&void 0!==a?a:0)%2==1,e=e.substring(M)}if("/"==e[0]){M=e.search(/[^\/]/);k=(null!==(i=null===(n=e.substring(0,M).match(/\//g))||void 0===n?void 0:n.length)&&void 0!==i?i:0)%2==1,e=e.substring(M)}if("NaN"==e)h.array=[g(NaN)];else if("Infinity"==e)h.array=[g(1/0)];else{var q,S,T,_;for(h.sign=1,h.array=[g(0)],"P"==e[0]&&("^"==e[1]?(q=e.substring(2).search(/[^0-9]/)+2,h.layer=Number(e.substring(2,q)),e=e.substring(q+1)):(q=e.search(/[^P]/),h.layer=q,e=e.substring(q)));e&&/^(\(?10[\^\{])/.test(e);){var A,F,Z;if("("==e[0]&&(e=e.substring(1)),"^"==e[2])A=q=e.substring(2).search(/[^\^]/),S=q+2;else{q=e.indexOf("}");var R=e.substring(3,q).split(",");A=Number("!"==R[0]?1/0:R[0]),F=Number(null!==(o="!"==R[1]?1/0:R[1])&&void 0!==o?o:1),Z=Number(null!==(s=R[2])&&void 0!==s?s:1),S=q+1}")"==(e=e.substring(S))[0]?(q=e.indexOf(" "),T=Number(e.substring(2,q)),e=e.substring(q+1)):T=1,1==A&&1==F&&1==Z?h.array.length>=2&&1==h.array[1].arrow?h.array[1].repeat+=T:h.array.splice(1,0,g(T,1,F,Z)):2==A&&1==F&&1==Z?(q=h.array.length>=2&&1==h.array[1].arrow?h.array[1].repeat:0,(S=h.array[0].repeat)>=1e10&&++q,S>=10&&++q,h.array[0].repeat=q,h.array.length>=2&&1==h.array[1].arrow&&h.array.splice(1,1),_=h.getOperatorIndex(2),Number.isInteger(_)?h.array[_].repeat+=T:h.array.splice(Math.ceil(_),0,g(T,2,F,Z))):isFinite(A)?(q=h.getOperator(A-1),(S=h.getOperator(A-2))>=10&&++q,_=h.getOperatorIndex(A),h.array.splice(1,Math.ceil(_)-1),h.array[0].repeat=q,Number.isInteger(_)?h.array[1].repeat+=T:h.array.splice(1,0,g(T,A,F,Z))):h.array.splice(1,0,g(T,A,F,Z))}q=e.split(/[Ee]/),S=[h.array[0].repeat,0],T=1;for(var P=q.length-1;P>=0;--P){S[0]<l&&0===S[1]?S[0]=Math.pow(10,T*S[0]):-1==T?(0===S[1]?S[0]=Math.pow(10,T*S[0]):1==S[1]&&S[0]<=Math.log10(Number.MAX_VALUE)?S[0]=Math.pow(10,T*Math.pow(10,S[0])):S[0]=0,S[1]=0):S[1]++;var V=q[P].indexOf("."),Y=-1==V?q[P].length:V;0===S[1]?Y>=17?(S[0]=Math.log10(S[0])+y(q[P].substring(0,Y)),S[1]=1):q[P]&&(S[0]*=Number(q[P])):(_=Y>=17?y(q[P].substring(0,Y)):q[P]?Math.log10(Number(q[P])):0,1==S[1]?S[0]+=_:2==S[1]&&S[0]<l+Math.log10(_)&&(S[0]+=Math.log10(1+Math.pow(10,Math.log10(_)-S[0])))),S[0]<l&&S[1]?(S[0]=Math.pow(10,S[0]),S[1]--):S[0]>u&&(S[0]=Math.log10(S[0]),S[1]++)}h.array[0].repeat=S[0],S[1]&&(h.array.length>=2&&1==h.array[1].arrow&&1==h.array[1].expans&&1==h.array[1].megota?h.array[1].repeat+=S[1]:h.array.splice(1,0,g(S[1],1,1,1)))}return x&&(h.sign*=-1),k&&(h.small=!h.small),h.normalize(),h.normalize(),h}},{key:"fromObject",value:function(e){var t=new r;if(t.array=[],function(r){if(!Array.isArray(r))return!1;for(var e=0;e<r.length;e++){var t=r[e];if(!Array.isArray(t))return!1;if(!v(t))return!1;if(!N(t))return!1}return!0}(e)){for(var a=0;a<e.length;a++)t.array[a]={arrow:e[a][0],expans:1,megota:1,repeat:e[a][1]};return t.small=!1,t.sign=1,t.layer=0,t}if(function(r){if(!Array.isArray(r))return!1;if("number"!=typeof r[0])return!1;for(var e=1;e<r.length;e++){var t=r[e];if(!Array.isArray(t))return!1;if(!b(t))return!1;if(!d(t)&&!O(t)&&!E(t))return!1}return!0}(e)){var n=e;t.array[0]=g(n[0]);for(var i=1;i<n.length;i++){var o=n[i];t.array[1]=g(o[1],w(o[0]),w(o[2]),o[3])}return t.small=!1,t.sign=1,t.layer=0,t}for(var u=0;u<e.array.length;u++)t.array[u]={arrow:e.array[u].arrow,expans:e.array[u].expans,megota:e.array[u].megota,repeat:e.array[u].repeat,valuereplaced:e.array[u].valuereplaced};return t.small=e.small,t.sign=e.sign,t.layer=e.layer,t}}])}();o=Symbol.toStringTag,M.ZERO=new M({array:[{arrow:0,expans:1,megota:1,repeat:1/0}],small:!0,layer:0,sign:0}),M.ONE=new M({array:[{arrow:0,expans:1,megota:1,repeat:1}],small:!1,layer:0,sign:1}),M.MSI=new M(u),M.MSI_REC=((k=new M(u)).small=!0,k),M.E_MSI=new M({array:[{arrow:0,expans:1,megota:1,repeat:u},{arrow:1,expans:1,megota:1,repeat:1}],small:!1,layer:0,sign:1}),M.EE_MSI=new M({array:[{arrow:0,expans:1,megota:1,repeat:u},{arrow:1,expans:1,megota:1,repeat:2}],small:!1,layer:0,sign:1}),M.E_MSI_REC=new M({array:[{arrow:0,expans:1,megota:1,repeat:u},{arrow:1,expans:1,megota:1,repeat:1}],small:!0,layer:0,sign:1}),M.TETRATED_MSI=new M({array:[{arrow:0,expans:1,megota:1,repeat:1e10},{arrow:1,expans:1,megota:1,repeat:u-2}],small:!1,layer:0,sign:1}),M.PENTATED_MSI=new M({array:[{arrow:0,expans:1,megota:1,repeat:10},{arrow:2,expans:1,megota:1,repeat:u-1}],small:!1,layer:0,sign:1}),M.TRITRI=new M({small:!1,layer:0,sign:1,array:[g(3638334640023.7783,0,1,1),g(7625587484984,1,1,1)]}),M.GRAHAMS_NUMBER=new M("(10{!})^63 10^^^(10^)^7625597484984 3638334640023.7783"),M.POSITIVE_INFINITY=new M(1/0),M.NEGATIVE_INFINITY=new M(-1/0),M.NaN=new M({array:[{arrow:0,expans:1,megota:1,repeat:NaN}],small:!1,layer:0,sign:0}),M.E=new M(Math.E),M.LN2=new M(Math.LN2),M.LN10=new M(Math.LN10),M.LOG2E=new M(Math.LOG2E),M.LOG10E=new M(Math.LOG10E),M.PI=new M(Math.PI),M.SQRT1_2=new M(Math.SQRT1_2),M.SQRT2=new M(Math.SQRT2),M.maxOps=100,M.POW_2_44_MOD_PI=1.701173079953,M.arrowFuncMap=new Map,r.arraySortFunction=x,r.default=M,r.mergeSameArrays=function(r){for(var e=1;e<r.array.length-1;++e)r.array[e].arrow==r.array[e+1].arrow&&r.array[e].expans==r.array[e+1].expans&&r.array[e].megota==r.array[e+1].megota&&(r.array[e].repeat+=r.array[e+1].repeat,r.array.splice(e+1,1),--e)},Object.defineProperty(r,"__esModule",{value:!0})}));
1
+ !function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((r="undefined"!=typeof globalThis?globalThis:r||self).PowiainaNum={})}(this,(function(r){"use strict";function e(r,e){(null==e||e>r.length)&&(e=r.length);for(var t=0,a=Array(e);t<e;t++)a[t]=r[t];return a}function t(r,e){for(var t=0;t<e.length;t++){var a=e[t];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(r,n(a.key),a)}}function a(r){return function(r){if(Array.isArray(r))return e(r)}(r)||function(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}(r)||function(r,t){if(r){if("string"==typeof r)return e(r,t);var a={}.toString.call(r).slice(8,-1);return"Object"===a&&r.constructor&&(a=r.constructor.name),"Map"===a||"Set"===a?Array.from(r):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?e(r,t):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(r){var e=function(r,e){if("object"!=typeof r||!r)return r;var t=r[Symbol.toPrimitive];if(void 0!==t){var a=t.call(r,e||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(r)}(r,"string");return"symbol"==typeof e?e:e+""}function i(r){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r})(r)}var o,u=9007199254740991,l=15.954589770191003,s=11102230246251568e-32,c=1.444667861009766,f=/^(PN)?[\/\-\+]*(Infinity|NaN|(P+|P\^\d+ )?(10(\^+|\{([1-9]\d*|!)(,([1-9]\d*|!))?(,[1-9]\d*)?\})|\(10(\^+|\{([1-9]\d*|!)(,([1-9]\d*|!))?(,[1-9]\d*)?\})\)\^[1-9]\d*\x20*)*((\d+(\.\d*)?|\d*\.\d+)?([Ee][-\+]*))*(0|\d+(\.\d*)?|\d*\.\d+))$/,g=/^((\d+(\.\d*)?|\d*\.\d+)?([EeFf]([-\+]?)))*(0|\d+(\.\d*)?|\d*\.\d+)$/;function h(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return{repeat:r,arrow:e,expans:t,megota:a,valuereplaced:e==1/0?0:t==1/0?1:-1}}function y(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];for(var a=0;a<Math.min(e[0].length,e[1].length);a++){var n=e[0][a],i=e[1][a];if(n<i)return-1;if(n>i)return 1}return 0}function p(r){return Math.log10(Number(r.substring(0,17)))+(r.length-17)}var m=.5671432904097838;function v(r){var e,t,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e-10,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=a,o=n;if(!Number.isFinite(r))return r;if(o){if(0===r)return r;if(1===r)return m;e=r<10?0:Math.log(r)-Math.log(Math.log(r))}else{if(0===r)return-1/0;e=r<=-.1?-2:Math.log(-r)-Math.log(-Math.log(-r))}for(var u=0;u<100;++u){if(t=(r*Math.exp(-e)+e*e)/(e+1),Math.abs(t-e)<i*Math.abs(t))return t;e=t}throw Error("Iteration failed to converge: ".concat(r.toString()))}function N(r){return 2==r.length}function w(r){return"number"==typeof r[0]&&"number"==typeof r[1]}function b(r){return"x"===r?1/0:r}function d(r){return 4==r.length}function O(r){return"number"==typeof r[0]&&"number"==typeof r[1]&&"number"==typeof r[2]&&"number"==typeof r[3]}function E(r){return"x"===r[0]&&"number"==typeof r[1]&&"number"==typeof r[2]&&"number"==typeof r[3]}function I(r){return"number"==typeof r[0]&&"number"==typeof r[1]&&"x"==r[2]&&"number"==typeof r[3]}function k(r){var e,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e10,a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!(r=new q(r)).isFinite())return r;if(a){if(r.eq(q.ZERO))return r;if(r.eq(q.ONE))return new q(m);e=q.log(r)}else{if(r.eq(q.ZERO))return q.NEGATIVE_INFINITY.clone();e=q.log(r.neg())}for(var n=0;n<100;++n){var i=e.neg().exp(),o=e.sub(r.mul(i)),u=e.add(q.ONE).sub(e.add(2).mul(o).div(q.mul(2,e).add(2)));if(u.eq(q.ZERO))return e;var l=e.sub(o.div(u));if(q.abs(l.sub(e)).lt(q.abs(l).mul(t)))return l;e=l}throw Error("Iteration failed to converge: "+r)}function x(r,e){return y([r.megota,r.expans,r.arrow],[e.megota,e.expans,e.arrow])}var M,q=function(){function r(e){!function(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r),this[o]="PowiainaNum",this.array=[{arrow:0,expans:1,megota:1,repeat:NaN}],this.small=!1,this.sign=0,this.layer=0,r.blankArgumentConstructorReturnZero&&this.resetFromObject(r.ZERO);try{if(void 0===e);else if("number"==typeof e){var t=r.fromNumber(e);this.resetFromObject(t)}else if("object"==i(e)){var a=r.fromObject(e);this.resetFromObject(a)}else if("string"==typeof e){var n=r.fromString(e);this.resetFromObject(n)}else;}catch(r){console.error("Malformed input"),console.error(r)}}return function(r,e,a){return e&&t(r.prototype,e),a&&t(r,a),Object.defineProperty(r,"prototype",{writable:!1}),r}(r,[{key:"add",value:function(e){var t,a,n,i,o,c,f=this.clone().normalize(),g=new r(e);if(f.eq(r.POSITIVE_INFINITY)&&g.eq(r.NEGATIVE_INFINITY)||f.eq(r.NEGATIVE_INFINITY)&&g.eq(r.POSITIVE_INFINITY))return r.NaN.clone();if(!f.isFinite())return f.clone();if(!g.isFinite())return g.clone();if(f.isZero())return g.clone();if(g.isZero())return f.clone();if(f.sign==-g.sign&&function(){var r=f.abs(),e=g.abs();return r.eq(e)}())return r.ZERO.clone();if(f.abs().lt(u)&&g.abs().lt(u)&&f.abs().gte(s)&&g.abs().gte(s))return r.fromNumber(f.toNumber()+g.toNumber());if(f.abs().lt(r.E_MSI_REC)||f.abs().gt(r.E_MSI)||g.abs().lt(r.E_MSI_REC)||g.abs().gt(r.E_MSI)){var y=f.maxabs(g);return f.abs().eq(y)?f:(g.abs().eq(y),g)}if(-1==f.sign)return f.neg().add(g.neg()).neg();f.cmpabs(g)>0?(o=f,c=g):(c=f,o=g);var p=o.toNumber()+c.toNumber();if(isFinite(p)&&0!==p)return r.fromNumber(p);var m=1;if(!(o.small||c.small||(null===(t=o.array[1])||void 0===t?void 0:t.repeat)||(null===(a=c.array[1])||void 0===a?void 0:a.repeat)||o.sign!=c.sign))return new r((o.array[0].repeat+c.array[0].repeat)*o.sign);var v=(o.small?-1:1)*((null===(n=o.array[1])||void 0===n?void 0:n.repeat)?o.array[0].repeat:Math.log10(o.array[0].repeat)),N=(c.small?-1:1)*((null===(i=c.array[1])||void 0===i?void 0:i.repeat)?c.array[0].repeat:Math.log10(c.array[0].repeat));if(v-N>l)return o;var w=-Math.floor(v),b=0,d=o.sign*Math.pow(10,v+w)+c.sign*Math.pow(10,N+w);if(d>0&&(b=Math.log10(d)-w),d<0&&(b=Math.log10(-d)-w,m*=-1),0==d)return r.ZERO.clone();var O=r.NaN.clone();return O.sign=1,O.array=b>l||b<-l?[h(b,0),h(1,1)]:[h(Math.pow(10,Math.abs(b)),0)],O.small=b<0,O.sign*=m,O}},{key:"plus",value:function(r){return this.add(r)}},{key:"sub",value:function(e){return this.add(new r(e).neg())}},{key:"minus",value:function(r){return this.sub(r)}},{key:"mul",value:function(e){var t=this.clone(),a=new r(e);if(t.eq(r.POSITIVE_INFINITY)&&a.eq(r.NEGATIVE_INFINITY)||a.eq(r.POSITIVE_INFINITY)&&t.eq(r.NEGATIVE_INFINITY))return r.NEGATIVE_INFINITY.clone();if(t.isInfiNaN()&&a.isZero()||a.isInfiNaN()&&t.isZero())return r.NaN.clone();if(t.eq(r.NEGATIVE_INFINITY)&&a.eq(r.NEGATIVE_INFINITY))return r.POSITIVE_INFINITY.clone();if(!t.isFinite())return t.clone();if(!a.isFinite())return a.clone();if(t.isZero()||a.isZero())return r.ZERO.clone();var n,i=t.toNumber()*a.toNumber();return isFinite(i)&&0!==i?r.fromNumber(i):((n=t.abs().log10().add(a.abs().log10()).pow10()).sign=t.sign*a.sign,n)}},{key:"times",value:function(r){return this.mul(r)}},{key:"div",value:function(e){var t=new r(e).rec();return this.mul(t)}},{key:"divide",value:function(r){return this.div(r)}},{key:"mod",value:function(e){var t=new r(e),a=this.div(t);return a.sub(a.floor()).mul(t)}},{key:"modulus",value:function(r){return this.mod(r)}},{key:"pow10",value:function(){var e,t,a=this.clone();return this.isFinite()?a.isneg()?(a.sign*=-1,a.pow10().rec()):a.lte(308.25471555991675)?r.fromNumber(Math.pow(10,a.toNumber())):a.small?a.lt(r.MSI_REC)?r.ONE:new r(Math.pow(10,Math.pow(a.array[0].repeat,-1))):(a.gt(r.TETRATED_MSI)||(a.setOperator((null!==(t=null===(e=a.array[1])||void 0===e?void 0:e.repeat)&&void 0!==t?t:0)+1,1),a.normalize()),a):this.clone()}},{key:"pow",value:function(e){var t=new r(e);if(this.eq(1))return r.ONE.clone();if(!t.isFinite())return t.clone();if(!this.isFinite())return this.clone();if(this.eq(10))return t.pow10();if(t.isneg())return this.pow(t.neg()).rec();if(this.isneg()){if(!t.isInt())return t.small&&t.rec().div(2).eq(1)?this.neg().pow(t).neg():r.NaN.clone();var a=this.abs().pow(t);return a.sign=function(){var r=t.mod(2).round();return r.eq(0)||r.eq(2)?1:-1}(),a}var n=this.toNumber(),i=t.toNumber(),o=Math.pow(n,i);return isFinite(o)&&0!==o?r.fromNumber(o):this.isZero()&&t.isZero()?r.ONE.clone():this.isZero()?r.ZERO.clone():t.isZero()?r.ONE.clone():this.gt(0)?this.log10().mul(t).pow10():t.rec().mod(2).eq(1)?this.neg().log10().mul(t).pow10().neg():r.NaN.clone()}},{key:"pow_base",value:function(e){return new r(e).pow(this)}},{key:"root",value:function(e){var t=new r(e);return this.pow(t.rec())}},{key:"sqrt",value:function(){return this.pow(.5)}},{key:"cbrt",value:function(){return this.abs().root(3).mul(this.sign)}},{key:"log10",value:function(){if(this.isneg())return r.NaN.clone();if(this.isZero())return r.NEGATIVE_INFINITY.clone();if(this.small){var e=this.clone();return e.small=!e.small,e.log10().neg()}if(1==this.array.length)return new r(Math.log10(this.array[0].repeat));if(this.gte(r.TETRATED_MSI))return this.clone();var t=this.clone();return t.array[1].repeat=t.array[1].repeat-1,t.normalize(),t}},{key:"log",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Math.E,t=new r(e);return this.log10().div(t.log10())}},{key:"log2",value:function(){return this.log(2)}},{key:"logBase",value:function(r){return this.log(r)}},{key:"ln",value:function(){return this.log()}},{key:"pLog10",value:function(){return this.isneg()?r.ZERO:this.log10()}},{key:"exp",value:function(){return this.pow_base(Math.E)}},{key:"factorial",value:function(){return this.abs().lt(u)?this.add(1).gamma():this.abs().lt(r.E_MSI)?r.exp(this.mul(this.log10().sub(1))):r.exp(this)}},{key:"gamma",value:function(){if(this.small)return this.rec();if(this.lte(u)){if(this.lt(24))return r.fromNumber(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+=((r-=1)+.5)*Math.log(r),t-=r;var a=r*r,n=r;return t+=1/(12*n),t-=1/(360*(n*=a)),t+=1/(1260*(n*=a)),t-=1/(1680*(n*=a)),t+=1/(1188*(n*=a)),t-=691/(360360*(n*=a)),t+=7/(1092*(n*=a)),t-=3617/(122400*(n*=a)),Math.exp(t)/e}(this.sign*this.getOperator(0)));var e=this.getOperator(0)-1,t=.9189385332046727;t+=(e+.5)*Math.log(e);var a=e*e,n=e,i=12*n,o=1/i,l=(t-=e)+o;if(l===t)return r.exp(t);if((l=(t=l)-(o=1/(i=360*(n*=a))))===t)return r.exp(t);t=l;var s=1/(i=1260*(n*=a));return t+=s,t-=s=1/(i=1680*(n*=a)),r.exp(t)}return this.gt(u)?r.exp(this.mul(this.log().sub(1))):r.exp(this)}},{key:"lambertw",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=e;return this.lt(-.3678794411710499)?r.NaN.clone():t?this.abs().lt("1e-300")?new r(this):this.small?r.fromNumber(v(this.toNumber())):this.lt(u)?r.fromNumber(v(this.sign*this.getOperator(0))):this.lt("eee15")?k(this):this.log():-1===this.sign?r.NaN.clone():this.lt(9e15)?r.fromNumber(v(this.sign*this.array[0].repeat,1e-10,!1)):this.lt(r.E_MSI)?k(this,1e-10,!1):this.neg().rec().lambertw().neg()}},{key:"tetrate",value:function(e){var t,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=this.clone(),i=new r(e),o=new r(a);if(n.isNaN()||i.isNaN()||o.isNaN())return r.NaN.clone();if(n.eq(1))return r.ONE.clone();if(o.neq(r.ONE)&&n.gte(c)&&(i=i.add(o.slog(n))),i.isInfi()&&i.sign>0)return n.gte(c)?r.POSITIVE_INFINITY.clone():(t=this.log().neg()).lambertw().div(t);if(i.lte(-2))return r.NaN.clone();if(n.isZero())return i.isZero()?r.NaN.clone():i.gte(u/2)||i.toNumber()%2==0?r.ZERO.clone():r.ONE.clone();if(n.eq(r.ONE))return i.eq(r.ONE.neg())?r.NaN.clone():r.ONE.clone();if(i.eq(r.ONE.neg()))return r.ZERO.clone();if(i.eq(r.ZERO))return r.ONE.clone();if(i.eq(r.ONE))return n;if(i.eq(2))return n.pow(n);if(n.eq(2)){if(i.eq(3))return r.fromNumber(16);if(i.eq(4))return r.fromNumber(65536)}var l=n.max(i);if(l.gt(r.PENTATED_MSI))return l;if(l.gt(r.TETRATED_MSI)||i.gt(u)){if(this.lt(c))return(t=n.ln().neg()).lambertw().div(t);var s=n.slog(10).add(i);return s.setOperator(s.getOperator(2)+1,2),s.normalize(),s}for(var f=i.toNumber(),g=Math.floor(f),h=n.pow(f-g),y=r.NaN,p=0,m=r.E_MSI.clone();0!==g&&h.lt(m)&&p<100;++p)if(g>0){if(h=n.pow(h),y.eq(h)){g=0;break}y=h,--g}else{if(h=h.log(n),y.eq(h)){g=0;break}y=h,++g}return(100==p||this.lt(c))&&(g=0),h.setOperator(h.getOperator(1)+g,1),h.normalize(),h}},{key:"tetr",value:function(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return this.tetrate(r,e)}},{key:"slog",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,t=this.clone(),a=new r(e);if(t.isInfiNaN())return t;if(a.isNaN())return a;if(a.isInfi())return r.ZERO.clone();if(t.isZero())return r.ONE.clone();if(t.eq(r.ONE))return r.ZERO.clone();if(t.eq(a))return r.ONE.clone();if(a.lt(c)){var n=a.tetrate(1/0);if(t.eq(n))return r.POSITIVE_INFINITY.clone();if(t.gt(n))return r.NaN.clone()}if(t.max(a).gt(r.PENTATED_MSI))return t.gt(a)?t:r.ZERO.clone();if(t.max(a).gt(r.TETRATED_MSI)&&t.gt(a))return t.setOperator(t.getOperator(2)-1,2),t.normalize(),t.sub(t.getOperator(1));if(t.lt(r.ZERO.clone()))return a.pow(t).sub(2);var i=0,o=t.getOperator(1)-a.getOperator(1);if(o>3){var u=o-3;i+=u,t.setOperator(t.getOperator(1)-u,1)}for(var l=0;l<100;++l)if(t.lt(r.ZERO))t=r.pow(e,t),--i;else{if(t.lte(1))return new r(i+t.toNumber()-1);++i,t=r.log(t,e)}return t.gt(10)?new r(i):r.NaN.clone()}},{key:"ssqrt",value:function(){var e=this.clone();if(e.lt(1/c))return r.NaN.clone();if(!e.isFinite())return e;if(e.gt(r.TETRATED_MSI))return e;if(e.gt(r.EE_MSI))return e.setOperator(e.getOperator(1)-1,1),e;var t=e.ln();return t.div(t.lambertw())}},{key:"tetrate_10",value:function(){return r.tetrate(10,this)}},{key:"iteratedlog",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10,a=this.clone(),n=new r(t),i=new r(e);return i.isZero()?a:i.eq(r.ONE)?a.log(n):n.tetrate(a.slog(n).sub(i))}},{key:"arrow",value:function(e){var t=this.clone(),a=new r(e);return!a.isInt()||a.lt(r.ZERO)?(console.warn("The arrow is <0 or not a integer, the returned function will return NaN."),function(){return r.NaN.clone()}):a.eq(0)?function(r){return t.mul(r)}:a.eq(1)?function(r){return t.pow(r)}:a.eq(2)?function(r){return t.tetrate(r)}:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=new r(e),l=new r(n),s=r.arrowFuncMap.get("".concat(t.toString()," ").concat(a.toString()," ").concat(o.toString()," ").concat(i));if(s)return s.clone();var c=function(){var e;if(t.isNaN()||o.isNaN()||l.isNaN())return r.NaN.clone();if(o.lt(r.ZERO))return r.NaN.clone();if(t.eq(r.ZERO))return o.eq(r.ONE)?r.ZERO.clone():r.NaN.clone();if(l.neq(r.ONE)&&(o=o.add(l.anyarrow_log(a)(t))),t.eq(r.ONE))return r.ONE.clone();if(o.eq(r.ZERO))return r.ONE.clone();if(o.eq(r.ONE))return t.clone();if(a.gt(r.MSI))return(e=a.clone()).setOperator(e.getOperator(1/0)+1,1/0),e;var n=a.toNumber();if(o.eq(2))return t.arrow(n-1)(t,l,i+1);if(t.max(o).gt(r.arrowMSI(n+1)))return t.max(o);if(t.gt(r.arrowMSI(n))||o.gt(u)){t.gt(r.arrowMSI(n))?((e=t.clone()).setOperator(e.getOperator(n)-1,n),e.normalize()):e=t.gt(r.arrowMSI(n-1))?new r(t.getOperator(n-1)):r.ZERO;var s=e.add(o);return s.setOperator(s.getOperator(n)+1,n),s.normalize(),s}if(i>=r.maxOps+10)return new r({small:!1,sign:1,layer:0,array:[h(10,0),h(1,n)]});var c=o.toNumber(),f=Math.floor(c),g=a.sub(r.ONE);e=t.arrow(g)(c-f,l,i+1);for(var y=0,p=r.arrowMSI(n-1);0!==f&&e.lt(p)&&y<100;y++)f>0&&(e=t.arrow(g)(e,l,i+1),--f);return 100==y&&(f=0),e.setOperator(e.getOperator(n-1)+f,n-1),e.normalize(),e}();return i<r.maxOps+10&&r.arrowFuncMap.set("".concat(t.toString()," ").concat(a.toString()," ").concat(o.toString()," ").concat(i),c.clone()),c}}},{key:"anyarrow_log",value:function(e){var t=this.clone(),a=new r(e),n=a.toNumber();if(a.gt(u))throw new Error("[PowiainaNum 0.2 error]Not implemented");return!a.isInt()||a.lt(0)?function(){return r.NaN.clone()}:a.eq(0)?function(r){return t.div(r)}:a.eq(1)?function(r){return t.log(r)}:a.eq(2)?function(r){return t.slog(r)}:t.isInfiNaN()?function(){return t}:function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=new r(e);if(i.isNaN())return i;if(i.isInfi())return r.ZERO.clone();if(t.isZero())return r.ONE.clone();if(t.eq(r.ONE))return r.ZERO.clone();if(t.eq(i))return r.ONE.clone();if(t.max(i).gt(r.arrowMSI(n+1)))return t.gt(i)?t:r.ZERO.clone();if(t.max(i).gt(r.arrowMSI(n))&&t.gt(i))return t.setOperator(t.getOperator(n)-1,n),t.normalize(),t.sub(t.getOperator(n-1));if(t.lt(r.ZERO.clone()))return r.NaN.clone();var o=0,u=t.getOperator(n)-i.getOperator(n);if(u>3){var l=u-3;o+=l,t.setOperator(t.getOperator(n)-l,n)}for(var s=0;s<100;++s)if(t.lt(r.ZERO))t=t.arrow(n-1)(e),--o;else{if(t.lte(1))return new r(o+t.toNumber()-1);++o,t=t.anyarrow_log(n-1)(e,a+1)}return t.gt(10)?new r(o):r.NaN.clone()}}},{key:"arrow_height_inverse",value:function(r){return this.anyarrow_log(r)}},{key:"chain",value:function(r,e){return this.arrow(e)(r)}},{key:"pentate",value:function(r,e){return this.arrow(3)(r,e)}},{key:"hexate",value:function(r,e){return this.arrow(4)(r,e)}},{key:"pent",value:function(r,e){return this.arrow(3)(r,e)}},{key:"penta_log",value:function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this.anyarrow_log(3)(r)}},{key:"expansion",value:function(e){var t,a=new r(e),n=this.clone();if(a.lt(r.ZERO)||!a.isInt())return r.NaN.clone();if(a.eq(r.ONE))return this.clone();if(this.eq(r.ONE))return r.ONE.clone();if(!this.isInt())return r.NaN.clone();if(this.eq(2))return new r(4);if(a.eq(0))return r.ONE.clone();if(n.gt("10{1,2}".concat(u))||a.gt(u)){n.gt("10{1,2}".concat(u))?((t=n.clone()).setOperator(t.getOperator(1,2)-1,1,2),t.normalize()):t=n.gt("10{".concat(u,"}10"))?new r(n.getOperator(1/0)):r.ZERO;var i=t.add(a);return i.setOperator(i.getOperator(1,2)+1,1,2),i.normalize(),i}var o,l=a.toNumber()-1;for(t=n.clone(),o=0;0!==l&&t.lt(u)&&o<100;++o)l>0&&(t=n.arrow(t)(n),--l);return 100==o&&(l=0),t.setOperator(t.getOperator(1/0)+l,1/0),t.normalize(),t}},{key:"expansionArrow",value:function(e){var t=new r(e),a=this.clone();if(t.lt(0)||!t.isInt()||t.isNaN()||this.isNaN())return function(){return r.NaN.clone()};if(t.eq(0))return function(r){return a.arrow(r)(a)};if(t.eq(1))return function(r){return a.expansion(r)};var n=t;return function(e){var t,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=new r(e);if(a.isNaN()||o.isNaN())return r.NaN.clone();if(o.lt(r.ZERO))return r.NaN.clone();if(a.eq(r.ZERO))return o.eq(r.ONE)?r.ZERO.clone():r.NaN.clone();if(a.eq(r.ONE))return r.ONE.clone();if(o.eq(r.ZERO))return r.ONE.clone();if(o.eq(r.ONE))return a.clone();if(n.gt(r.MSI))return(t=n.clone()).setOperator(t.getOperator(1/0,2)+1,1/0,2),t;var l=n.toNumber();if(o.eq(2))return a.expansionArrow(l-1)(a,i+1);if(a.max(o).gt("10{".concat(l+1,",2}").concat(u)))return a.max(o);if(a.gt("10{".concat(l,",2}").concat(u))||o.gt(u)){a.gt("10{".concat(l,",2}").concat(u))?((t=a.clone()).setOperator(t.getOperator(l,2)-1,l,2),t.normalize()):t=a.gt("10{".concat(l-1,",2}").concat(u))?new r(a.getOperator(l-1,2)):r.ZERO;var s=t.add(o);return s.setOperator(s.getOperator(l,2)+1,l,2),s.normalize(),s}if(i>=r.maxOps+10)return new r({small:!1,sign:1,layer:0,array:[h(10,0),h(1,l,2)]});var c=o.toNumber(),f=Math.floor(c),g=n.sub(r.ONE);t=a.expansionArrow(g)(c-f,i+1);for(var y=0,p=new r("10{".concat(l-1,",2}").concat(u));0!==f&&t.lt(p)&&y<100;y++)f>0&&(t=a.expansionArrow(g)(t,i+1),--f);return 100==y&&(f=0),t.setOperator(t.getOperator(l-1,2)+f,l-1,2),t.normalize(),t}}},{key:"multiExpansion",value:function(r){return this.expansionArrow(2)(r)}},{key:"powerExpansion",value:function(r){return this.expansionArrow(3)(r)}},{key:"explosion",value:function(e){return r.BEAF(this,e,1,3)}},{key:"megotion",value:function(e){return r.BEAF(this,e,1,1,2)}},{key:"powiaination",value:function(e){return r.BEAF(this,e,1,1,1,2)}},{key:"abs",value:function(){var r=this.clone();return r.sign<0&&(r.sign*=-1),r}},{key:"clampMin",value:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return r.max.apply(r,[this].concat(t))}},{key:"clampMax",value:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return r.min.apply(r,[this].concat(t))}},{key:"clamp",value:function(r,e){return this.max(r).min(e)}},{key:"max",value:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return r.max.apply(r,[this].concat(t))}},{key:"min",value:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return r.min.apply(r,[this].concat(t))}},{key:"maxabs",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var i=t.map((function(e){return new r(e).abs()}));return r.max.apply(r,[this.abs()].concat(a(i)))}},{key:"minabs",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var i=t.map((function(e){return new r(e).abs()}));return r.min.apply(r,[this.abs()].concat(a(i)))}},{key:"cmpabs",value:function(e){var t=new r(e).abs();return this.abs().cmp(t)}},{key:"compare",value:function(e){var t=new r(e);if(this.isNaN()||t.isNaN())return 2;if(this.sign<t.sign)return-1;if(this.sign>t.sign)return 1;var a=-1==this.sign&&-1==t.sign;if(this.small&&!t.small)return-1*(a?-1:1);if(t.small&&!this.small)return 1*(a?-1:1);var n=1;this.small&&t.small&&(n*=-1),a&&(n*=-1);for(var i=0,o=0;this.array.length-1-o>=0&&t.array.length-1-o>=0;o++){var u=this.array[this.array.length-1-o],l=t.array[t.array.length-1-o];if(u.repeat===1/0){i=1;break}if(l.repeat===1/0){i=-1;break}var s=y([u.megota,u.expans,u.arrow,u.repeat],[l.megota,l.expans,l.arrow,l.repeat]);if(1==s){i=1;break}if(-1==s){i=-1;break}}return i*n+1-1}},{key:"cmp",value:function(r){return this.compare(r)}},{key:"eq",value:function(r){return 0===this.cmp(r)}},{key:"neq",value:function(r){return 0!==this.cmp(r)}},{key:"lt",value:function(r){return-1===this.cmp(r)}},{key:"lte",value:function(r){return this.cmp(r)<=0}},{key:"gt",value:function(r){return 1==this.cmp(r)}},{key:"gte",value:function(r){var e=this.cmp(r);return 0==e||1==e}},{key:"equals",value:function(r){return this.eq(r)}},{key:"notEquals",value:function(r){return this.neq(r)}},{key:"eq_tolerance",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e-7,a=new r(e);return this.sub(a).lte(this.max(a).mul(t))}},{key:"sin",value:function(){var e=this.clone();if(e.isneg())return e.neg().sin().neg();var t=e.mod(7074237752028440);return r.fromNumber(Math.sin(t.toNumber()))}},{key:"cos",value:function(){return this.sub(Math.PI/2).sin()}},{key:"tan",value:function(){return this.sin().div(this.cos())}},{key:"cot",value:function(){return this.cos().div(this.sin())}},{key:"sec",value:function(){return this.cos().rec()}},{key:"csc",value:function(){return this.sin().rec()}},{key:"neg",value:function(){var r=this.clone();return r.sign*=-1,r.normalize(),r}},{key:"rec",value:function(){var r=this.clone();return r.small=!r.small,r}},{key:"recip",value:function(){return this.rec()}},{key:"reciprocate",value:function(){return this.rec()}},{key:"floor",value:function(){if(this.isInt())return this.clone();if(this.small)return 1==this.sign?r.ZERO.clone():r.ONE.neg().clone();var e=this.abs();return e.array[0].repeat=Math[1==this.sign?"floor":"ceil"](e.getOperator(0)),e.sign=this.sign,e}},{key:"ceil",value:function(){if(this.isInt())return this.clone();if(this.small)return 1==this.sign?r.ONE.clone():r.ZERO.clone();var e=this.abs();return e.array[0].repeat=Math[1==this.sign?"ceil":"floor"](e.getOperator(0)),e.sign=this.sign,e}},{key:"round",value:function(){if(this.isInt())return this.clone();if(this.small)return 1==this.sign?this.rec().lte(2)?r.ONE.clone():r.ZERO.clone():this.abs().rec().lte(2)?r.ZERO.clone():r.ONE.neg().clone();var e=this.abs();return e.array[0].repeat=Math.round(e.array[0].repeat),e.sign=this.sign,e}},{key:"trunc",value:function(){var r=this.clone();return r.gte(0)?r.floor():r.ceil()}},{key:"isNaN",value:function(r){function e(){return r.apply(this,arguments)}return e.toString=function(){return r.toString()},e}((function(){return isNaN(this.getOperator(0))}))},{key:"isZero",value:function(){return Boolean(this.small&&!isFinite(this.getOperator(0)))}},{key:"isFinite",value:function(r){function e(){return r.apply(this,arguments)}return e.toString=function(){return r.toString()},e}((function(){return Boolean(this.small||isFinite(this.getOperator(0)))&&!this.isNaN()}))},{key:"isInfi",value:function(){return this.rec().isZero()}},{key:"isInfiNaN",value:function(){return this.isInfi()||this.isNaN()}},{key:"isInt",value:function(){return!!this.isZero()||(!(this.small||!Number.isInteger(this.getOperator(0)))||!!this.abs().gte(u/2))}},{key:"ispos",value:function(){return this.sign>0}},{key:"isneg",value:function(){return this.sign<0}},{key:"getOperatorIndex",value:function(r){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=0;a<this.array.length;a++){var n=y([this.array[a].megota,this.array[a].expans,this.array[a].arrow],[t,e,r]);if(0==n)return a;if(1==n)return a-.5}return this.array.length-.5}},{key:"getOperator",value:function(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=this.getOperatorIndex(r,e,t);return this.array[a]?this.array[a].repeat:0}},{key:"setOperator",value:function(r,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,n=this.getOperatorIndex(e,t,a);return this.array[n]?(this.array[n].repeat=r,!1):(this.array.splice(Math.ceil(n),0,{arrow:e,expans:t,megota:a,valuereplaced:t===1/0?1:e==1/0?0:-1,repeat:r}),!0)}},{key:"toNumber",value:function(){return-1==this.sign?-this.neg().toNumber():this.small?1/this.rec().toNumber():this.array.length>2?1/0:1==this.array.length?this.array[0].repeat:2==this.array.length&&1==this.array[1].arrow&&1==this.array[1].expans&&1==this.array[1].megota&&1==this.array[1].repeat?Math.pow(10,this.getOperator(0)):NaN}},{key:"toString_core",value:function(){if(this.isNaN())return"NaN";if(-1==this.sign)return"-".concat(this.neg().toString());if(this.small)return this.isZero()?"0":"/".concat(this.rec().toString());if(this.isInfi())return"Infinity";var r="";this.layer?this.layer<3?r+="P".repeat(this.layer):r+="P^"+this.layer+" ":r+="";for(var e=this.array.length-1;e>=0;e--){var t=this.array[e],a="10{".concat(t.arrow===1/0?"!":t.arrow).concat(t.expans>1||t.megota>1?",".concat(t.expans===1/0?"!":t.expans):"").concat(t.megota>1?",".concat(t.megota):"","}");a=1==t.arrow&&1==t.expans&&1==t.megota&&t.repeat<5?"e".repeat(t.repeat):0==t.arrow&&1==t.expans&&1==t.megota?t.repeat.toString():t.repeat>1?"(".concat(a,")^").concat(t.repeat," "):"".concat(a),r+="".concat(a)}return r}},{key:"toString",value:function(){try{return this.toString_core()}catch(r){return console.error("Checked error when converting to string"),"NaN"}}},{key:"toJSON",value:function(){return"PN"+this.toString()}},{key:"arr01",get:function(){for(var r=[0],e=0;e<this.array.length;e++)0==e?r[0]=this.array[e].repeat:(r[e]=[0,0,0,0],r[e][0]=this.array[e].arrow==1/0?"x":this.array[e].arrow,r[e][1]=this.array[e].repeat,r[e][2]=this.array[e].expans==1/0?"x":this.array[e].expans,r[e][3]=this.array[e].megota);return r}},{key:"normalize",value:function(){var e=!0,t=this;void 0===this.array&&(t.array=[h(NaN,0,1,1)]),void 0===this.sign&&(this.sign=0),void 0===this.layer&&(this.layer=0);for(var a=0;a<this.array.length;a++)if(this.array[a].repeat==1/0)return this.array=[{arrow:0,expans:1,megota:1,repeat:1/0}],this.layer=0,this;for(var n=1;n<t.array.length;++n){var i=t.array[n];if(null!==i.arrow&&void 0!==i.arrow||(i.arrow=0),null!==i.expans&&void 0!==i.expans||(i.expans=1),null!==i.megota&&void 0!==i.megota||(i.megota=1),isNaN(i.arrow)||isNaN(i.repeat)||isNaN(i.expans)||isNaN(i.megota))return t.array=[h(NaN,0,1,1)],t;if(!isFinite(i.repeat)||!isFinite(i.megota))return t.array=[h(1/0,0,1,1)],t;Number.isInteger(i.arrow)||(i.arrow=Math.floor(i.arrow)),Number.isInteger(i.repeat)||(i.repeat=Math.floor(i.repeat)),Number.isInteger(i.expans)||(i.expans=Math.floor(i.expans)),Number.isInteger(i.megota)||(i.megota=Math.floor(i.megota))}t.array.length||(t.small=!t.small,t.array=[h(1/0)]);do{e=!1,this.array.sort(x);for(var o=1;o<t.array.length-1;++o)t.array[o].arrow==t.array[o+1].arrow&&t.array[o].expans==t.array[o+1].expans&&t.array[o].megota==t.array[o+1].megota&&(t.array[o].repeat+=t.array[o+1].repeat,t.array.splice(o+1,1),--o,e=!0);for(var s=1;s<t.array.length;++s)0===t.array[s].arrow||0!==t.array[s].repeat&&null!==t.array[s].repeat&&void 0!==t.array[s].repeat?0==t.array[s].arrow&&t.array[s].expans>=2&&(t.array[s].arrow=1/0,t.array[s].valuereplaced=0,t.array[s].expans=t.array[s].expans-1):(t.array.splice(s,1),--s);for(t.array.length>r.maxOps&&t.array.splice(1,t.array.length-r.maxOps),this.array.length>=2&&1==this.array[1].arrow&&this.array[1].repeat>=1&&this.array[0].repeat<l&&(this.setOperator(this.array[1].repeat-1,1),this.setOperator(Math.pow(10,this.array[0].repeat),0),e=!0),this.getOperator(0)>u&&isFinite(this.getOperator(0))&&(this.setOperator(this.getOperator(1)+1,1),this.setOperator(Math.log10(this.getOperator(0)),0),e=!0),this.array[this.array.length-1].megota>u?(this.layer++,this.array=[h(this.array[this.array.length-1].megota)],e=!0):this.layer&&1==this.array.length&&0===this.array[0].arrow&&(this.layer--,this.array=[h(10),h(1,10,10,this.array[0].repeat)],e=!0),1==this.array.length&&this.array[0].repeat<1&&(this.array[0].repeat=1/this.array[0].repeat,this.small=!this.small,e=!0),1==this.array.length&&1==this.array[0].repeat&&this.small&&(this.small=!1,e=!0),this.array.length>=2&&this.array[1].arrow>=u&&(this.array[0].repeat=this.array[1].arrow,this.array[1]=h(1,1/0,this.array[1].expans,this.array[1].megota));t.array.length>=2&&1==t.array[0].repeat&&t.array[1].repeat;)t.array[1].repeat>1?t.array[1].repeat--:t.array.splice(1,1),t.array[0].repeat=10,e=!0;t.array.length>=2&&t.array.length<r.maxOps&&t.array[0].repeat<u&&t.array[1].arrow>=2&&t.array[1].repeat>1&&isFinite(t.array[1].arrow)&&(t.array[1].repeat--,t.array.splice(1,0,h(t.array[0].repeat-1,t.array[1].arrow-1,t.array[1].expans,t.array[1].megota)),t.array[0].repeat=10,e=!0),t.array.length>=2&&t.array[0].repeat<u&&t.array[1].arrow>=2&&1==t.array[1].repeat&&isFinite(t.array[1].arrow)&&(t.array.splice(1,1,h(t.array[0].repeat-1,t.array[1].arrow-1,t.array[1].expans,t.array[1].megota)),t.array[0].repeat=10,e=!0),t.array.length>=2&&t.array[1].repeat>u&&t.array[1].arrow!==1/0&&(t.array[1].arrow++,t.array[0].repeat=t.array[1].repeat,t.array[1].repeat=1,e=!0),t.array.length>=2&&t.array[1].repeat>u&&t.array[1].arrow===1/0&&(t.array[1].arrow=1,t.array[1].expans++,t.array[0].repeat=t.array[1].repeat,t.array[1].repeat=1,e=!0)}while(e);return this}},{key:"clone",value:function(){var e=new r;return e.resetFromObject(this),e}},{key:"resetFromObject",value:function(r){if(r.array){this.array=[];for(var e=0;e<r.array.length;e++)this.array[e]={arrow:r.array[e].arrow,expans:r.array[e].expans,megota:r.array[e].megota,repeat:r.array[e].repeat,valuereplaced:r.array[e].valuereplaced};return this.small=r.small,this.sign=r.sign,this.layer=r.layer,this}}}],[{key:"add",value:function(e,t){return new r(e).add(t)}},{key:"plus",value:function(e,t){return new r(e).add(t)}},{key:"sub",value:function(e,t){return new r(e).sub(t)}},{key:"minus",value:function(e,t){return new r(e).sub(t)}},{key:"mul",value:function(e,t){return new r(e).mul(t)}},{key:"times",value:function(e,t){return new r(e).mul(t)}},{key:"div",value:function(e,t){return new r(e).div(t)}},{key:"divide",value:function(e,t){return new r(e).div(t)}},{key:"mod",value:function(e,t){return new r(e).mod(t)}},{key:"modulus",value:function(e,t){return new r(e).mod(t)}},{key:"pow",value:function(e,t){return new r(e).pow(t)}},{key:"root",value:function(e,t){return new r(e).root(t)}},{key:"sqrt",value:function(e){return new r(e).sqrt()}},{key:"cbrt",value:function(e){return new r(e).cbrt()}},{key:"log10",value:function(e){return new r(e).log10()}},{key:"log",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Math.E;return new r(e).log(t)}},{key:"log2",value:function(e){return new r(e).log2()}},{key:"logBase",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Math.E;return new r(e).log(t)}},{key:"pLog10",value:function(e){return new r(e).pLog10()}},{key:"exp",value:function(e){return new r(e).pow_base(Math.E)}},{key:"factorial",value:function(e){return new r(e).factorial()}},{key:"gamma",value:function(e){return new r(e).gamma()}},{key:"lambertw",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return new r(e).lambertw(t)}},{key:"affordGeometricSeries",value:function(e,t,a,n){return this.affordGeometricSeries_core(new r(e),new r(t),new r(a),n)}},{key:"affordGeometricSeries_core",value:function(r,e,t,a){var n=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=e.mul(t.pow(a));return r.div(i).mul(t.sub(1)).add(1).clampMin(n?1:-1/0).log10().div(t.log10()).floor()}},{key:"sumGeometricSeries",value:function(e,t,a,n){return this.sumGeometricSeries_core(e,new r(t),new r(a),n)}},{key:"sumGeometricSeries_core",value:function(e,t,a,n){return t.mul(a.pow(n)).mul(r.sub(1,a.pow(e))).div(r.sub(1,a))}},{key:"affordArithmeticSeries",value:function(e,t,a,n){return this.affordArithmeticSeries_core(new r(e),new r(t),new r(a),new r(n))}},{key:"affordArithmeticSeries_core",value:function(r,e,t,a){var n=e.add(a.mul(t)).sub(t.div(2)),i=n.pow(2);return n.neg().add(i.add(t.mul(r).mul(2)).sqrt()).div(t).floor()}},{key:"sumArithmeticSeries",value:function(e,t,a,n){return this.sumArithmeticSeries_core(new r(e),new r(t),new r(a),new r(n))}},{key:"sumArithmeticSeries_core",value:function(r,e,t,a){var n=e.add(a.mul(t));return r.div(2).mul(n.mul(2).add(r.sub(1).mul(t)))}},{key:"tetrate",value:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return new r(e).tetrate(t,a)}},{key:"tetrate_10",value:function(e){return r.fromNumber(10).tetrate(e)}},{key:"iteratedlog",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10;return new r(e).iteratedlog(t,a)}},{key:"arrow",value:function(e,t,a){return new r(e).arrow(t)(a)}},{key:"arrFrac",value:function(e,t){var a=new r(e).clone(),n=new r(t).clone();return new r(a).arrow(n.floor().add(1))(a.div(2).pow(n.sub(n.floor())).mul(2))}},{key:"arrowMSI",value:function(e){return new r("10{".concat(e,"}").concat(u))}},{key:"hyper",value:function(e){var t=new r(e);return t.eq(0)?function(e,t){return new r(t).eq(0)?new r(e):new r(e).add(1)}:t.eq(1)?r.add:t.eq(2)?r.mul:t.eq(3)?r.pow:function(e,a){return new r(e).arrow(t.sub(2))(a)}}},{key:"pentate",value:function(e,t,a){return new r(e).arrow(3)(t,a)}},{key:"hexate",value:function(e,t,a){return new r(e).arrow(4)(t,a)}},{key:"pent",value:function(e,t,a){return new r(e).arrow(3)(t,a)}},{key:"penta_log",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10;return new r(e).anyarrow_log(3)(t)}},{key:"expansion",value:function(e,t){return new r(e).expansion(t)}},{key:"multiExpansion",value:function(e,t){return new r(e).multiExpansion(t)}},{key:"powerExpansion",value:function(e,t){return new r(e).powerExpansion(t)}},{key:"BEAF",value:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];function n(e){return void 0!==t[e]&&null!==t[e]?new r(t[e]):new r(1)}return n(0).eq(1)?new r(1):n(1).eq(1)?new r(n(0)):n(5).eq(2)&&(n(4).gte(2)||n(3).gte(2)||n(2).gte(2))||0!==t.slice(6).map((function(e){return new r(e)})).filter((function(r){return r.gt(1)})).length?r.POSITIVE_INFINITY.clone():r.BEAF_core(n(0),n(1),n(2),n(3),n(4),n(5))}},{key:"BEAF_core",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,c=new r(e),f=new r(t);function g(e){var t;return new r(null!==(t=[n,i,o,l][e])&&void 0!==t?t:1)}if(c.eq(1))return new r(1);if(f.eq(1))return new r(c);if(f.isZero())return new r(1);if(c.lt(0))return r.NaN.clone();if(new r(l).gte(3))return r.POSITIVE_INFINITY.clone();if(g(0).eq(1)&&g(1).eq(1)&&g(2).eq(1))return c.pow(f);if(g(0).eq(2)&&g(1).eq(1)&&g(2).eq(1)&&g(3).eq(1))return c.tetrate(f);if(g(1).eq(1)&&g(2).eq(1)&&g(3).eq(1))return c.arrow(g(0))(f);if(g(1).eq(2)&&g(2).eq(1)&&g(3).eq(1))return c.expansionArrow(g(0))(f);var y=g(0).toNumber(),p=g(1),m=g(2),v=g(3);if(v.eq(2)){if(1!=y)return r.POSITIVE_INFINITY.clone();if(p.neq(1))return r.POSITIVE_INFINITY.clone();if(m.neq(1))return r.POSITIVE_INFINITY.clone();if(f.gte(u))return r.POSITIVE_INFINITY.clone();var N=new r(10);return N.layer=f.toNumber(),N.normalize(),N}function w(r,e,t){return 0==r&&e>1?[1/0,e-1,t]:0==r&&1==e&&t>1?[1,1/0,t-1]:[r,e,t]}if(m.gt(u)){var b=new r(m);return b.layer++,b.normalize(),b}function d(r){return isFinite(r)?r.toString():"!"}function O(r,e,t){return"10{".concat(d(r),",").concat(d(e),",").concat(t,"}").concat(u)}var E=c.clone(),I=new r(g(0)),k=function(s){var g,y,v=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;console.log("".concat("-".repeat(v)," {").concat(e,",").concat(t,",").concat(n,",").concat(i,",").concat(o,"}"));var N,b=new r(s);if(E.isNaN()||b.isNaN())return r.NaN.clone();if(b.lt(r.ZERO))return r.NaN.clone();if(E.eq(r.ZERO))return b.eq(r.ONE)?r.ZERO.clone():r.NaN.clone();if(E.eq(r.ONE))return r.ONE.clone();if(b.eq(r.ZERO))return r.ONE.clone();if(b.eq(r.ONE))return E.clone();if(I.eq(0))return r.BEAF(E,E,f,p.sub(1),m,l,v+1);if(p.eq(0))return r.BEAF(E,E,E,f,m.sub(1),l,v+1);if(m.eq(0))return r.BEAF(E,E,E,E,p,new r(l).sub(1),v+1);if(p.gt(u))return(N=new r(p)).setOperator(N.getOperator(1,1/0,m.toNumber())+1,1,1/0,m.toNumber()),N;if(I.gt(r.MSI))return(N=I.clone()).setOperator(N.getOperator(1/0,p.toNumber(),m.toNumber())+1,1/0,p.toNumber(),m.toNumber()),N;var d=I.toNumber();if(b.eq(2))return r.BEAF(E,E,d-1,p,m,l,v+1);if(E.max(b).gt(O(d+1,p.toNumber(),m.toNumber())))return E.max(b);if(E.gt(O(d,p.toNumber(),m.toNumber()))||b.gt(u)){E.gt(O(d,p.toNumber(),m.toNumber()))?((N=E.clone()).setOperator(N.getOperator(d,p.toNumber(),m.toNumber())-1,d,p.toNumber(),m.toNumber()),N.normalize()):N=E.gt(O.apply(void 0,a(w(d-1,p.toNumber(),m.toNumber()))))?new r(E.getOperator.apply(E,a(w(d-1,p.toNumber(),m.toNumber())))):r.ZERO;var k=N.add(b);return k.setOperator(k.getOperator(d,p.toNumber(),m.toNumber())+1,d,p.toNumber(),m.toNumber()),k.normalize(),k}if(v>=r.maxOps+10)return new r({small:!1,sign:1,layer:0,array:[h(10,0),h(1,d,p.toNumber(),m.toNumber())]});var x=b.toNumber(),M=Math.floor(x),q=I.sub(r.ONE);N=r.BEAF(E,x-M,q.toNumber(),p,m,l,v+1);for(var S=0,T=new r(O.apply(void 0,a(w(d-1,p.toNumber(),m.toNumber()))));0!==M&&N.lt(T)&&S<100;S++)M>0&&(N=r.BEAF(c,N,q.toNumber(),p,m,l,v+1),--M);return 100==S&&(M=0),(g=N).setOperator.apply(g,[(y=N).getOperator.apply(y,a(w(d-1,p.toNumber(),m.toNumber())))+M].concat(a(w(d-1,p.toNumber(),m.toNumber())))),N.normalize(),N}(f,s);return console.log("".concat("-".repeat(s)," = ").concat(k)),k}},{key:"abs",value:function(e){return new r(e).abs()}},{key:"max",value:function(){for(var e=r.NEGATIVE_INFINITY,t=arguments.length,a=new Array(t),n=0;n<t;n++)a[n]=arguments[n];for(var i=0;i<a.length;i++)e.lt(a[i])&&(e=new r(a[i]).clone());return e}},{key:"min",value:function(){for(var e=r.POSITIVE_INFINITY,t=arguments.length,a=new Array(t),n=0;n<t;n++)a[n]=arguments[n];for(var i=0;i<a.length;i++)e.gt(a[i])&&(e=new r(a[i]).clone());return e}},{key:"clampMin",value:function(){return r.max.apply(r,arguments)}},{key:"clampMax",value:function(){return r.min.apply(r,arguments)}},{key:"eq",value:function(e,t){return new r(e).eq(t)}},{key:"equals",value:function(e,t){return new r(e).eq(t)}},{key:"neq",value:function(e,t){return new r(e).neq(t)}},{key:"notEquals",value:function(e,t){return new r(e).notEquals(t)}},{key:"lt",value:function(e,t){return new r(e).lt(t)}},{key:"gt",value:function(e,t){return new r(e).gt(t)}},{key:"lte",value:function(e,t){return new r(e).lte(t)}},{key:"gte",value:function(e,t){return new r(e).gte(t)}},{key:"rec",value:function(e){return new r(e).rec()}},{key:"recip",value:function(e){return new r(e).rec()}},{key:"reciprocate",value:function(e){return new r(e).rec()}},{key:"floor",value:function(e){return new r(e).floor()}},{key:"ceil",value:function(e){return new r(e).ceil()}},{key:"round",value:function(e){return new r(e).round()}},{key:"trunc",value:function(e){return new r(e).trunc()}},{key:"sign",value:function(e){return new r(e).sign}},{key:"isNaN",value:function(e){return new r(e).isNaN()}},{key:"fromNumber",value:function(e){var t=new r;if(t.resetFromObject({array:[{arrow:0,expans:1,megota:1,repeat:NaN}],small:!1,layer:0,sign:0}),e<0)t.sign=-1;else{if(0==e)return t.sign=0,t.small=!0,t.array=[h(1/0,0)],t;e>0&&(t.sign=1)}var a=Math.abs(e);return a==1/0?t.array=[h(1/0,0)]:a>=s&&a<1?(t.small=!0,t.array=[h(1/a,0)]):a<s?(t.small=!0,t.array=[h(-Math.log10(a),0),h(1,1)]):a<=u?t.array=[h(a,0)]:(t.setOperator(Math.log10(a),0),t.array=[h(Math.log10(a),0),h(1,1)]),t}},{key:"fromString",value:function(e){if(r.usingBreakEternityLikeFromString&&g.test(e)){var t=e.match(/(e+-)(\d+(.\d+)?)/);if(t){var a=t[1].length;e="e-"+"e".repeat(a-1)+t[2]}}return this.fromString_core(e)}},{key:"fromString_core",value:function(e){var t,a,n,i,o,s,c,g=new r(NaN);if(e.startsWith("PN")&&(e=e.substring(2)),"NaN"==e)return r.NaN.clone();if(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(/J\^(\d+)/g,"(10{!})^$1")).replace(/J/g,"10{!}")).replace(/K\^(\d+)/g,"(10{1,2})^$1")).replace(/K/g,"10{1,2}")).replace(/L\^(\d+)/g,"(10{2,2})^$1")).replace(/L/g,"10{2,2}")).replace(/M\^(\d+)/g,"(10{!,2})^$1")).replace(/M/g,"10{!,2}")).replace(/N\^(\d+)/g,"(10{1,!})^$1")).replace(/N/g,"10{1,!}"),/^.*e-.*(e|\^).*/.test(e)&&(e="/10^"+e.substring(e.indexOf("e-"))),!isNaN(Number(e))){var y=Number(e),m=!1;if(0==y?/^((0)|(0*\.0+e\d+)|(0*\.0*))$/.test(e)&&(m=!0):m=!0,!m){var v=e.search(/e/),N=e.substring((-1==v?e.length:v)+1),w=e.substring(0,-1==v?void 0:v),b=[0,0];if(b[1]=Number(N||"0"),Number(w)>=1){var d=w.length>=17?p(w):Math.log10(Number(w)),O=Math.floor(d),E=d-O;b[0]=Math.pow(10,E),b[1]+=O}else{var I=(c=w.match(/^0\.(0*)[1-9]/))?c[1].length:0;w=(w=w.substring(w.search(/[1-9]/))).charAt(0)+"."+w.substring(1),I+=1,b[0]=Number(w),b[1]+=-I}return r.pow(10,-b[1]-1).mul(10*Math.pow(b[0],-1)).rec()}if(isFinite(y)&&m)return g=r.fromNumber(Number(e))}if(-1!==e.indexOf("l")&&-1!==e.indexOf("s")&&-1!==e.indexOf("a")){var k=function(r){var e=r.match(/l(\d+)\s+s(\d+)\s+a(\[.*\])/);try{if(e)return{lValue:parseInt(e[1]),sValue:parseInt(e[2]),array:JSON.parse(e[3])}}catch(r){return null}return null}(e);if(!k||0!==k.sValue&&1!==k.sValue&&-1!==k.sValue)throw"[PowiainaNum 0.2 error]malformed input: "+e;return(g=r.fromObject(k.array)).layer=k.lValue,g.sign=k.sValue,g.small=!1,g.normalize(),g}if(e=function(r){for(var e="",t=!1,a=0;a<r.length;a++){var n=r[a];"{"===n?(t=!0,e+=n):"}"===n?(t=!1,e+=n):","===n?t&&(e+=n):e+=n}return e}(e=e.replace(/\(e\^(\d+)\)/g,"(10^)^$1 ").replace(/(\d+)[Pp][Tt]/g,"(10^)^$1 ")),!f.test(e))throw"[PowiainaNum 0.2 error]malformed input: "+e;var x=!1,M=!1;if("-"==e[0]||"+"==e[0]){var q=e.search(/[^-\+]/);x=(null!==(a=null===(t=e.substring(0,q).match(/-/g))||void 0===t?void 0:t.length)&&void 0!==a?a:0)%2==1,e=e.substring(q)}if("/"==e[0]){var S=e.search(/[^\/]/);M=(null!==(i=null===(n=e.substring(0,S).match(/\//g))||void 0===n?void 0:n.length)&&void 0!==i?i:0)%2==1,e=e.substring(S)}if("NaN"==e)g.array=[h(NaN)];else if("Infinity"==e)g.array=[h(1/0)];else{var T,_,F,A;for(g.sign=1,g.array=[h(0)],"P"==e[0]&&("^"==e[1]?(T=e.substring(2).search(/[^0-9]/)+2,g.layer=Number(e.substring(2,T)),e=e.substring(T+1)):(T=e.search(/[^P]/),g.layer=T,e=e.substring(T)));e&&/^(\(?10[\^\{])/.test(e);){var Z=void 0,R=void 0,P=void 0;if("("==e[0]&&(e=e.substring(1)),"^"==e[2])Z=T=e.substring(2).search(/[^\^]/),_=T+2;else{T=e.indexOf("}");var V=e.substring(3,T).split(",");Z=Number("!"==V[0]?1/0:V[0]),R=Number(null!==(o="!"==V[1]?1/0:V[1])&&void 0!==o?o:1),P=Number(null!==(s=V[2])&&void 0!==s?s:1),_=T+1}")"==(e=e.substring(_))[0]?(T=e.indexOf(" "),F=Number(e.substring(2,T)),e=e.substring(T+1)):F=1,1==Z&&1==R&&1==P?g.array.length>=2&&1==g.array[1].arrow?g.array[1].repeat+=F:g.array.splice(1,0,h(F,1,R,P)):2==Z&&1==R&&1==P?(T=g.array.length>=2&&1==g.array[1].arrow?g.array[1].repeat:0,(_=g.array[0].repeat)>=1e10&&++T,_>=10&&++T,g.array[0].repeat=T,g.array.length>=2&&1==g.array[1].arrow&&g.array.splice(1,1),A=g.getOperatorIndex(2),Number.isInteger(A)?g.array[A].repeat+=F:g.array.splice(Math.ceil(A),0,h(F,2,R,P))):isFinite(Z)?(T=g.getOperator(Z-1),(_=g.getOperator(Z-2))>=10&&++T,A=g.getOperatorIndex(Z),g.array.splice(1,Math.ceil(A)-1),g.array[0].repeat=T,Number.isInteger(A)?g.array[1].repeat+=F:g.array.splice(1,0,h(F,Z,R,P))):g.array.splice(1,0,h(F,Z,R,P))}T=e.split(/[Ee]/),_=[g.array[0].repeat,0],F=1;for(var Y=T.length-1;Y>=0;--Y){_[0]<l&&0===_[1]?_[0]=Math.pow(10,F*_[0]):-1==F?(0===_[1]?_[0]=Math.pow(10,F*_[0]):1==_[1]&&_[0]<=Math.log10(Number.MAX_VALUE)?_[0]=Math.pow(10,F*Math.pow(10,_[0])):_[0]=0,_[1]=0):_[1]++;var z=T[Y].indexOf("."),G=-1==z?T[Y].length:z;0===_[1]?G>=17?(_[0]=Math.log10(_[0])+p(T[Y].substring(0,G)),_[1]=1):T[Y]&&(_[0]*=Number(T[Y])):(A=G>=17?p(T[Y].substring(0,G)):T[Y]?Math.log10(Number(T[Y])):0,1==_[1]?_[0]+=A:2==_[1]&&_[0]<l+Math.log10(A)&&(_[0]+=Math.log10(1+Math.pow(10,Math.log10(A)-_[0])))),_[0]<l&&_[1]?(_[0]=Math.pow(10,_[0]),_[1]--):_[0]>u&&(_[0]=Math.log10(_[0]),_[1]++)}g.array[0].repeat=_[0],_[1]&&(g.array.length>=2&&1==g.array[1].arrow&&1==g.array[1].expans&&1==g.array[1].megota?g.array[1].repeat+=_[1]:g.array.splice(1,0,h(_[1],1,1,1)))}return x&&(g.sign*=-1),M&&(g.small=!g.small),g.normalize(),g.normalize(),g}},{key:"fromObject",value:function(e){var t=new r;if(t.resetFromObject({array:[{arrow:0,expans:1,megota:1,repeat:NaN}],small:!1,layer:0,sign:0}),t.array=[],function(r){if(!Array.isArray(r))return!1;for(var e=0;e<r.length;e++){var t=r[e];if(!Array.isArray(t))return!1;if(!N(t))return!1;if(!w(t))return!1}return!0}(e)){for(var a=0;a<e.length;a++)t.array[a]={arrow:e[a][0],expans:1,megota:1,repeat:e[a][1]};return t.small=!1,t.sign=1,t.layer=0,t}if(function(r){if(!Array.isArray(r))return!1;if("number"!=typeof r[0])return!1;for(var e=1;e<r.length;e++){var t=r[e];if(!Array.isArray(t))return!1;if(!d(t))return!1;if(!O(t)&&!E(t)&&!I(t))return!1}return!0}(e)){var n=e;t.array[0]=h(n[0]);for(var i=1;i<n.length;i++){var o=n[i];t.array[1]=h(o[1],b(o[0]),b(o[2]),o[3])}return t.small=!1,t.sign=1,t.layer=0,t}return t.resetFromObject(e),t}},{key:"grahalFunction",value:function(e){var t=new r(e);return!t.isInt()||t.lt(0)||t.isNaN()?r.NaN.clone():t.eq(1)?new r("10^^^(10^)^7625597484984 3638334640023.7783"):t.lte(u)?new r("(10{!})^".concat(t.toNumber()," 10^^^(10^)^7625597484984 3638334640023.7783")):r.BEAF(3,t,1,2)}}])}();o=Symbol.toStringTag,q.ZERO=new q({array:[{arrow:0,expans:1,megota:1,repeat:1/0}],small:!0,layer:0,sign:0}),q.ONE=new q({array:[{arrow:0,expans:1,megota:1,repeat:1}],small:!1,layer:0,sign:1}),q.MSI=new q(u),q.MSI_REC=((M=new q(u)).small=!0,M),q.E_MSI=new q({array:[{arrow:0,expans:1,megota:1,repeat:u},{arrow:1,expans:1,megota:1,repeat:1}],small:!1,layer:0,sign:1}),q.EE_MSI=new q({array:[{arrow:0,expans:1,megota:1,repeat:u},{arrow:1,expans:1,megota:1,repeat:2}],small:!1,layer:0,sign:1}),q.E_MSI_REC=new q({array:[{arrow:0,expans:1,megota:1,repeat:u},{arrow:1,expans:1,megota:1,repeat:1}],small:!0,layer:0,sign:1}),q.TETRATED_MSI=new q({array:[{arrow:0,expans:1,megota:1,repeat:1e10},{arrow:1,expans:1,megota:1,repeat:u-2}],small:!1,layer:0,sign:1}),q.PENTATED_MSI=new q({array:[{arrow:0,expans:1,megota:1,repeat:10},{arrow:2,expans:1,megota:1,repeat:u-1}],small:!1,layer:0,sign:1}),q.TRITRI=new q({small:!1,layer:0,sign:1,array:[h(3638334640023.7783,0,1,1),h(7625587484984,1,1,1)]}),q.GRAHAMS_NUMBER=new q("(10{!})^63 10^^^(10^)^7625597484984 3638334640023.7783"),q.POSITIVE_INFINITY=new q(1/0),q.NEGATIVE_INFINITY=new q(-1/0),q.NaN=new q({array:[{arrow:0,expans:1,megota:1,repeat:NaN}],small:!1,layer:0,sign:0}),q.E=new q(Math.E),q.LN2=new q(Math.LN2),q.LN10=new q(Math.LN10),q.LOG2E=new q(Math.LOG2E),q.LOG10E=new q(Math.LOG10E),q.PI=new q(Math.PI),q.SQRT1_2=new q(Math.SQRT1_2),q.SQRT2=new q(Math.SQRT2),q.maxOps=100,q.POW_2_44_MOD_PI=1.701173079953,q.arrowFuncMap=new Map,q.usingBreakEternityLikeFromString=!1,q.blankArgumentConstructorReturnZero=!1,r.arraySortFunction=x,r.default=q,r.mergeSameArrays=function(r){for(var e=1;e<r.array.length-1;++e)r.array[e].arrow==r.array[e+1].arrow&&r.array[e].expans==r.array[e+1].expans&&r.array[e].megota==r.array[e+1].megota&&(r.array[e].repeat+=r.array[e+1].repeat,r.array.splice(e+1,1),--e)},Object.defineProperty(r,"__esModule",{value:!0})}));
package/dist/index.d.ts CHANGED
@@ -41,13 +41,24 @@ export default class PowiainaNum implements IPowiainaNum {
41
41
  */
42
42
  add(other: PowiainaNumSource): PowiainaNum;
43
43
  static add(t: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum;
44
+ plus(other: PowiainaNumSource): PowiainaNum;
45
+ static plus(t: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum;
44
46
  sub(a: PowiainaNumSource): PowiainaNum;
45
47
  static sub(t: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum;
48
+ minus(other: PowiainaNumSource): PowiainaNum;
49
+ static minus(t: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum;
46
50
  mul(other: PowiainaNumSource): PowiainaNum;
47
51
  static mul(t: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum;
52
+ times(other: PowiainaNumSource): PowiainaNum;
53
+ static times(t: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum;
48
54
  div(other: PowiainaNumSource): PowiainaNum;
49
55
  static div(t: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum;
56
+ divide(other: PowiainaNumSource): PowiainaNum;
57
+ static divide(t: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum;
50
58
  mod(x: PowiainaNumSource): PowiainaNum;
59
+ modulus(x: PowiainaNumSource): PowiainaNum;
60
+ static mod(x: PowiainaNumSource, y: PowiainaNumSource): PowiainaNum;
61
+ static modulus(x: PowiainaNumSource, y: PowiainaNumSource): PowiainaNum;
51
62
  /**
52
63
  * @returns 10 to the power of `this`
53
64
  */
@@ -65,6 +76,10 @@ export default class PowiainaNum implements IPowiainaNum {
65
76
  static log10(t: PowiainaNumSource): PowiainaNum;
66
77
  log(base?: PowiainaNumSource): PowiainaNum;
67
78
  static log(t: PowiainaNumSource, base?: PowiainaNumSource): PowiainaNum;
79
+ log2(): PowiainaNum;
80
+ static log2(t: PowiainaNumSource): PowiainaNum;
81
+ logBase(a: PowiainaNumSource): PowiainaNum;
82
+ static logBase(t: PowiainaNumSource, base?: PowiainaNumSource): PowiainaNum;
68
83
  ln(): PowiainaNum;
69
84
  /**
70
85
  * positive-Log10, Returns the base-10 logarithm of nonnegative Decimals, but returns 0 for negative Decimals.
@@ -174,10 +189,14 @@ export default class PowiainaNum implements IPowiainaNum {
174
189
  private static arrowMSI;
175
190
  chain(other: PowiainaNumSource, arrows: PowiainaNumSource): PowiainaNum;
176
191
  static hyper(arr: PowiainaNumSource): typeof PowiainaNum.mul;
177
- pentate(other: PowiainaNumSource): PowiainaNum;
178
- hexate(other: PowiainaNumSource): PowiainaNum;
179
- pent(other: PowiainaNumSource): PowiainaNum;
192
+ pentate(other: PowiainaNumSource, payload?: PowiainaNumSource): PowiainaNum;
193
+ hexate(other: PowiainaNumSource, payload?: PowiainaNumSource): PowiainaNum;
194
+ pent(other: PowiainaNumSource, payload?: PowiainaNumSource): PowiainaNum;
180
195
  penta_log(base?: PowiainaNumSource): PowiainaNum;
196
+ static pentate(x: PowiainaNumSource, other: PowiainaNumSource, payload?: PowiainaNumSource): PowiainaNum;
197
+ static hexate(x: PowiainaNumSource, other: PowiainaNumSource, payload?: PowiainaNumSource): PowiainaNum;
198
+ static pent(x: PowiainaNumSource, other: PowiainaNumSource, payload?: PowiainaNumSource): PowiainaNum;
199
+ static penta_log(x: PowiainaNumSource, base?: PowiainaNumSource): PowiainaNum;
181
200
  /**
182
201
  * Expansion, which is `this`{{1}}`other2`.
183
202
  *
@@ -250,6 +269,11 @@ export default class PowiainaNum implements IPowiainaNum {
250
269
  maxabs(...args: PowiainaNumSource[]): PowiainaNum;
251
270
  minabs(...args: PowiainaNumSource[]): PowiainaNum;
252
271
  cmpabs(x: PowiainaNumSource): -1 | 0 | 1 | 2;
272
+ /**
273
+ * -1: `this` is smaller
274
+ * 0: equals
275
+ * 1: `x` is bigger
276
+ */
253
277
  compare(x: PowiainaNumSource): -1 | 0 | 1 | 2;
254
278
  cmp(other: PowiainaNumSource): -1 | 0 | 1 | 2;
255
279
  eq(other: PowiainaNumSource): boolean;
@@ -258,7 +282,18 @@ export default class PowiainaNum implements IPowiainaNum {
258
282
  lte(other: PowiainaNumSource): boolean;
259
283
  gt(other: PowiainaNumSource): boolean;
260
284
  gte(other: PowiainaNumSource): boolean;
285
+ equals(other: PowiainaNumSource): boolean;
286
+ notEquals(other: PowiainaNumSource): boolean;
287
+ static eq(a: PowiainaNumSource, o: PowiainaNumSource): boolean;
288
+ static equals(a: PowiainaNumSource, o: PowiainaNumSource): boolean;
289
+ static neq(a: PowiainaNumSource, o: PowiainaNumSource): boolean;
290
+ static notEquals(a: PowiainaNumSource, o: PowiainaNumSource): boolean;
291
+ static lt(a: PowiainaNumSource, o: PowiainaNumSource): boolean;
292
+ static gt(a: PowiainaNumSource, o: PowiainaNumSource): boolean;
293
+ static lte(a: PowiainaNumSource, o: PowiainaNumSource): boolean;
294
+ static gte(a: PowiainaNumSource, o: PowiainaNumSource): boolean;
261
295
  eq_tolerance(value: PowiainaNumSource, tolerance?: number): boolean;
296
+ /**this function is indistinguishable above 4503599627370496*/
262
297
  sin(): PowiainaNum;
263
298
  cos(): PowiainaNum;
264
299
  tan(): PowiainaNum;
@@ -267,9 +302,17 @@ export default class PowiainaNum implements IPowiainaNum {
267
302
  csc(): PowiainaNum;
268
303
  neg(): PowiainaNum;
269
304
  rec(): PowiainaNum;
305
+ static rec(t: PowiainaNumSource): PowiainaNum;
306
+ recip(): PowiainaNum;
307
+ static recip(t: PowiainaNumSource): PowiainaNum;
308
+ reciprocate(): PowiainaNum;
309
+ static reciprocate(t: PowiainaNumSource): PowiainaNum;
270
310
  floor(): PowiainaNum;
311
+ static floor(x: PowiainaNumSource): PowiainaNum;
271
312
  ceil(): PowiainaNum;
313
+ static ceil(x: PowiainaNumSource): PowiainaNum;
272
314
  round(): PowiainaNum;
315
+ static round(x: PowiainaNumSource): PowiainaNum;
273
316
  /**
274
317
  * Work like `Math.trunc`,
275
318
  *
@@ -283,6 +326,7 @@ export default class PowiainaNum implements IPowiainaNum {
283
326
  * @returns
284
327
  */
285
328
  trunc(): PowiainaNum;
329
+ static trunc(x: PowiainaNumSource): PowiainaNum;
286
330
  /**
287
331
  * @returns if this<other, return -1, if this=other, return 0, if this>other, return 1, if this!<=>, return 2
288
332
  */
@@ -296,11 +340,6 @@ export default class PowiainaNum implements IPowiainaNum {
296
340
  ispos(): boolean;
297
341
  isneg(): boolean;
298
342
  static isNaN(x: PowiainaNumSource): boolean;
299
- /**
300
- * Normalize functions will make this number convert into standard format.(it also change `this`, like [].sort)
301
- * @returns normalized number
302
- */
303
- normalize(): PowiainaNum;
304
343
  /**
305
344
  * @returns number will return the index of the operator in array. return as x.5 if it's between the xth and x+1th operators.
306
345
  */
@@ -315,16 +354,6 @@ export default class PowiainaNum implements IPowiainaNum {
315
354
  * @returns bool Is the operators array changed?
316
355
  */
317
356
  setOperator(val: number, arrow: number, expans?: number, megota?: number): boolean;
318
- /**
319
- * @returns a PowiainaNum object which deep copied from `this` object.
320
- */
321
- clone(): PowiainaNum;
322
- /**
323
- * Set `this` from a object(deep-copy)
324
- * @param powlikeObject
325
- * @returns
326
- */
327
- resetFromObject(powlikeObject: IPowiainaNum): this;
328
357
  /**
329
358
  * Convert `this` to Javascript `number`
330
359
  *
@@ -334,6 +363,7 @@ export default class PowiainaNum implements IPowiainaNum {
334
363
  /**
335
364
  * Convert `this` to a string
336
365
  */
366
+ toString_core(): string;
337
367
  toString(): string;
338
368
  static fromNumber(x: number): PowiainaNum;
339
369
  [Symbol.toStringTag]: string;
@@ -343,11 +373,31 @@ export default class PowiainaNum implements IPowiainaNum {
343
373
  */
344
374
  toJSON(): string;
345
375
  static fromString(input: string): PowiainaNum;
376
+ static fromString_core(input: string): PowiainaNum;
346
377
  static fromObject(powlikeObject: IPowiainaNum | ExpantaNumArray | PowiainaNumArray01X): PowiainaNum;
347
378
  /**
348
379
  * A property array value for version 0.1.x PowiainaNum.
349
380
  */
350
381
  get arr01(): PowiainaNumArray01X;
382
+ /**
383
+ * This function is for NaNe308, if you want to calculate G(x), use this function directly.
384
+ */
385
+ static grahalFunction(layers2: PowiainaNumSource): PowiainaNum;
386
+ /**
387
+ * Normalize functions will make this number convert into standard format.(it also change `this`, like [].sort)
388
+ * @returns normalized number
389
+ */
390
+ normalize(): PowiainaNum;
391
+ /**
392
+ * @returns a PowiainaNum object which deep copied from `this` object.
393
+ */
394
+ clone(): PowiainaNum;
395
+ /**
396
+ * Set `this` from a object(deep-copy)
397
+ * @param powlikeObject
398
+ * @returns
399
+ */
400
+ resetFromObject(powlikeObject: IPowiainaNum): this | undefined;
351
401
  /**
352
402
  * Zero
353
403
  */
@@ -444,5 +494,13 @@ export default class PowiainaNum implements IPowiainaNum {
444
494
  static readonly maxOps = 100;
445
495
  static readonly POW_2_44_MOD_PI = 1.701173079953;
446
496
  static arrowFuncMap: Map<string, PowiainaNum>;
497
+ /**
498
+ * If you set this config to true, the `fromString` method will try to parse the string to `PowiainaNum` class with `break_eternity.js` similar `fromString` method, if cannot parse correctly, the program will use `PowiainaNum.js` `fromString` method.
499
+ */
500
+ static usingBreakEternityLikeFromString: boolean;
501
+ /**
502
+ * If you set this config to true, the `constructor` method will return Zero instead of NaN when call new PowiainaNum() with no arguments.
503
+ */
504
+ static blankArgumentConstructorReturnZero: boolean;
447
505
  }
448
506
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "powiaina_num.js",
3
- "version": "0.2.11",
3
+ "version": "0.2.13",
4
4
  "description": "A JavaScript library that handles arithmetic for numbers as large as {10,9e15,1,1,1,2}.",
5
5
  "type": "module",
6
6
  "main": "dist/PowiainaNum.cjs.js",
@@ -34,7 +34,7 @@
34
34
  "dist"
35
35
  ],
36
36
  "author": "VeryrrDefine",
37
- "license": "MIT",
37
+ "license": "UNLICENSED",
38
38
  "bugs": {
39
39
  "url": "https://github.com/VeryrrDefine/PowiainaNum.js/issues"
40
40
  },
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 VeryrrDefine
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.