powiaina_num.js 0.2.19 → 0.2.21

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.
@@ -1141,15 +1141,13 @@ var PowiainaNum = /*#__PURE__*/function () {
1141
1141
  }
1142
1142
  }, {
1143
1143
  key: "omegalog",
1144
- value:
1145
- //#endregion
1146
- function omegalog() {
1144
+ value: function omegalog() {
1147
1145
  var bbase = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;
1148
1146
  var target = this;
1149
1147
  var dis = target.clone();
1150
1148
  if (dis.isInfiNaN()) return dis;
1151
1149
  if (dis.gte("10{1,2}e15.954589770191003")) return dis;
1152
- var base = new PowiainaNum(bbase).clone();
1150
+ new PowiainaNum(bbase).clone();
1153
1151
  if (dis.getOperator(1 / 0) >= 1) {
1154
1152
  dis.setOperator(dis.getOperator(1 / 0) - 1, 1 / 0, 1, 1);
1155
1153
  return dis;
@@ -1158,24 +1156,53 @@ var PowiainaNum = /*#__PURE__*/function () {
1158
1156
  // dis.layer -= 1
1159
1157
  // return dis
1160
1158
  // } else
1161
- // @ts-expect-error
1162
- if (dis.arr01[dis.array.length - 1][0] >= 98) {
1163
- // @ts-expect-error
1164
- var zero = new PowiainaNum(dis.array[dis.arr01.length - 1][0]);
1165
- return zero;
1166
- } else if (target.lt(PowiainaNum.pentate(bbase, 2))) {
1167
- return new PowiainaNum(target).anyarrow_log(3)(bbase);
1168
- } else {
1169
- var addTest = 8;
1170
- var _target = 0;
1171
- while (addTest >= Math.pow(10, -10)) {
1172
- if (PowiainaNum.arrFrac(base, _target + addTest).lte(dis)) {
1173
- _target += addTest;
1174
- }
1175
- addTest /= 2;
1176
- }
1177
- return new PowiainaNum(_target);
1159
+ // // @ts-expect-error
1160
+ // if (dis.arr01[dis.array.length - 1][0] >= 98) {
1161
+ // // @ts-expect-error
1162
+ // let zero = new PowiainaNum(dis.array[dis.arr01.length - 1][0]);
1163
+ // return zero;
1164
+ // } else if (target.lt(PowiainaNum.pentate(bbase, 2))) {
1165
+ // return new PowiainaNum(target).anyarrow_log(3)(bbase);
1166
+ // } else {
1167
+ // let addTest = 8;
1168
+ // let target = 0;
1169
+ // while (addTest >= 10 ** -10) {
1170
+ // if (PowiainaNum.arrFrac(base, target + addTest).lte(dis)) {
1171
+ // target += addTest;
1172
+ // }
1173
+ // addTest /= 2;
1174
+ // }
1175
+ // return new PowiainaNum(target);
1176
+ // }
1177
+ var clonedOperators = [];
1178
+ for (var i = 0; i < target.array.length; i++) {
1179
+ clonedOperators[i] = {
1180
+ arrow: target.array[i].arrow,
1181
+ expans: target.array[i].expans,
1182
+ megota: target.array[i].megota,
1183
+ repeat: target.array[i].repeat,
1184
+ valuereplaced: target.array[i].valuereplaced
1185
+ };
1178
1186
  }
1187
+ var result = PowiainaNum.omegacollect(clonedOperators);
1188
+ return result[1].arrow - 1 + Math.log(result[0].repeat / 2) / Math.log(5);
1189
+ // if (dis.arr01[dis.array.length - 1][0] >= 98) {
1190
+ // // @ts-expect-error
1191
+ // let zero = new PowiainaNum(dis.array[dis.arr01.length - 1][0]);
1192
+ // return zero;
1193
+ // } else if (target.lt(PowiainaNum.pentate(bbase, 2))) {
1194
+ // return new PowiainaNum(target).anyarrow_log(3)(bbase);
1195
+ // } else {
1196
+ // let addTest = 8;
1197
+ // let target = 0;
1198
+ // while (addTest >= 10 ** -10) {
1199
+ // if (PowiainaNum.arrFrac(base, target + addTest).lte(dis)) {
1200
+ // target += addTest;
1201
+ // }
1202
+ // addTest /= 2;
1203
+ // }
1204
+ // return new PowiainaNum(target);
1205
+ // }
1179
1206
  }
1180
1207
  /**
1181
1208
  * Arrow operation, return a function
@@ -1964,58 +1991,45 @@ var PowiainaNum = /*#__PURE__*/function () {
1964
1991
  }, {
1965
1992
  key: "getOperatorIndex",
1966
1993
  value:
1967
- //#endregion
1968
- //#region operators
1969
1994
  /**
1970
1995
  * @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.
1971
1996
  */
1972
1997
  function getOperatorIndex(arrow) {
1973
1998
  var expans = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
1974
1999
  var megota = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
1975
- for (var i = 0; i < this.array.length; i++) {
1976
- var cmp = compareTuples([this.array[i].megota, this.array[i].expans, this.array[i].arrow], [megota, expans, arrow]);
1977
- if (cmp == 0) return i; // I find it was [xx,xxx,*xxx*,xxx]!
1978
- if (cmp == 1) return i - 0.5; // It's between [xx, xx,xx*,?,*xx]!
1979
- }
1980
- return this.array.length - 0.5;
2000
+ return PowiainaNum.opGetOperatorIndex(this.array, arrow, expans, megota);
1981
2001
  }
1982
2002
  /**
1983
2003
  * @returns number repeats of operators with given arguments.
1984
2004
  */
1985
2005
  }, {
1986
2006
  key: "getOperator",
1987
- value: function getOperator(arrow) {
2007
+ value:
2008
+ /**
2009
+ * @returns number repeats of operators with given arguments.
2010
+ */
2011
+ function getOperator(arrow) {
1988
2012
  var expans = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
1989
2013
  var megota = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
1990
- var index = this.getOperatorIndex(arrow, expans, megota);
1991
- if (!this.array[index]) return 0;
1992
- return this.array[index].repeat;
2014
+ return PowiainaNum.opGetOperator(this.array, arrow, expans, megota);
1993
2015
  }
1994
2016
  /**
1995
- * Modify the repeat of operator
2017
+ * Modify the repeat of operator(argument will modified)
1996
2018
  * @param number val the repeat of operator will modify to array.
1997
2019
  * @returns bool Is the operators array changed?
1998
2020
  */
1999
2021
  }, {
2000
2022
  key: "setOperator",
2001
- value: function setOperator(val, arrow) {
2023
+ value:
2024
+ /**
2025
+ * Modify the repeat of operator
2026
+ * @param number val the repeat of operator will modify to array.
2027
+ * @returns bool Is the operators array changed?
2028
+ */
2029
+ function setOperator(val, arrow) {
2002
2030
  var expans = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
2003
2031
  var megota = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
2004
- // if (arrow!=0&&val==0) return false;
2005
- var index = this.getOperatorIndex(arrow, expans, megota);
2006
- if (!this.array[index]) {
2007
- this.array.splice(Math.ceil(index), 0, {
2008
- arrow: arrow,
2009
- expans: expans,
2010
- megota: megota,
2011
- valuereplaced: expans === Infinity ? 1 : arrow == Infinity ? 0 : -1,
2012
- repeat: val
2013
- });
2014
- return true;
2015
- }
2016
- this.array[index].repeat = val;
2017
- // this.normalize()
2018
- return false;
2032
+ return PowiainaNum.opSetOperator(this.array, val, arrow, expans, megota);
2019
2033
  }
2020
2034
  //#endregion
2021
2035
  //#region converters
@@ -2029,7 +2043,7 @@ var PowiainaNum = /*#__PURE__*/function () {
2029
2043
  value: function toNumber() {
2030
2044
  if (this.sign == -1) return -this.neg().toNumber();
2031
2045
  if (this.small) return 1 / this.rec().toNumber();
2032
- if (this.array.length > 2) return Infinity;
2046
+ if (this.gte("e308.25471555991675")) return Infinity;
2033
2047
  if (this.array.length == 1) return this.array[0].repeat;else if (this.array.length == 2 && this.array[1].arrow == 1 && this.array[1].expans == 1 && this.array[1].megota == 1 && this.array[1].repeat == 1) return Math.pow(10, this.getOperator(0));
2034
2048
  return NaN;
2035
2049
  }
@@ -2250,6 +2264,15 @@ var PowiainaNum = /*#__PURE__*/function () {
2250
2264
  this.array[0].repeat = this.array[1].arrow;
2251
2265
  this.array[1] = newOperator(1, Infinity, this.array[1].expans, this.array[1].megota);
2252
2266
  }
2267
+ // for any (10{y=finite>=2})^z x x<9e15, convert to (10{y})^(z-1) (10{y-1}^(x-1) 10)
2268
+ if (this.array.length >= 2 && this.array[1].arrow >= 2 && this.array[0].repeat < MSI && isFinite(this.array[1].arrow)) {
2269
+ var _x2 = this.array[0].repeat;
2270
+ var y = this.array[1].arrow;
2271
+ var z = this.array[1].repeat;
2272
+ this.array[0].repeat = 10;
2273
+ this.array.splice(2, 0, newOperator(z - 1, y, this.array[1].expans, this.array[1].megota));
2274
+ this.array[1] = newOperator(_x2 - 1, y - 1, this.array[1].expans, this.array[1].megota);
2275
+ }
2253
2276
  while (x.array.length >= 2 && x.array[0].repeat == 1 && x.array[1].repeat) {
2254
2277
  // for any 10{X}10{X} 1, turn into 10{X}10
2255
2278
  // [1, [R=sth, A=sth, E=sth, M=sth]]
@@ -2539,6 +2562,58 @@ var PowiainaNum = /*#__PURE__*/function () {
2539
2562
  var base2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;
2540
2563
  return new PowiainaNum(t).iteratedlog(other2, base2);
2541
2564
  }
2565
+ //#endregion
2566
+ /**
2567
+ * Get the base of operators
2568
+ */
2569
+ }, {
2570
+ key: "oBase",
2571
+ value: function oBase(operators) {
2572
+ return operators[0].repeat;
2573
+ }
2574
+ /**
2575
+ * Only works for operators level < ω.
2576
+ */
2577
+ }, {
2578
+ key: "omegacollect",
2579
+ value: function omegacollect(operators) {
2580
+ debugger;
2581
+ // const result = {
2582
+ // bottom: NaN,
2583
+ // top: NaN,
2584
+ // };
2585
+ var maxWhile = 1000;
2586
+ while (maxWhile--) {
2587
+ var base = PowiainaNum.oBase(operators);
2588
+ if (base >= 10) {
2589
+ // Bottom upgrade mode: add 10^'s.
2590
+ operators[0].repeat = Math.log10(base);
2591
+ PowiainaNum.opSetOperator(operators, PowiainaNum.opGetOperator(operators, 1, 1, 1) + 1, 1, 1, 1);
2592
+ } else {
2593
+ if (operators.length <= 2 && operators[1].repeat == 1) {
2594
+ return operators;
2595
+ }
2596
+ // Operator upgrade mode:
2597
+ // Check the -2th operator, is repeat >= 2?
2598
+ if (operators[1].repeat >= 2) {
2599
+ operators[1].arrow++;
2600
+ operators[0].repeat = operators[1].repeat + Math.log10(base);
2601
+ operators[1].repeat = 1;
2602
+ } else if (base !== 1) {
2603
+ operators[1].arrow++;
2604
+ operators[0].repeat = operators[1].repeat + Math.log10(base);
2605
+ operators[1].repeat = 1;
2606
+ } else {
2607
+ // -2th repeat = 1, and base = 1;
2608
+ operators[1].arrow = operators[2].arrow;
2609
+ }
2610
+ mergeSameArrays({
2611
+ array: operators
2612
+ });
2613
+ }
2614
+ }
2615
+ return operators;
2616
+ }
2542
2617
  }, {
2543
2618
  key: "arrow",
2544
2619
  value: function arrow(x, z, y) {
@@ -2958,6 +3033,57 @@ var PowiainaNum = /*#__PURE__*/function () {
2958
3033
  value: function isNaN(x) {
2959
3034
  return new PowiainaNum(x).isNaN();
2960
3035
  }
3036
+ //#endregion
3037
+ //#region operators
3038
+ /**
3039
+ * @returns number will return the index of the operator. return as x.5 if it's between the xth and x+1th operators.
3040
+ */
3041
+ }, {
3042
+ key: "opGetOperatorIndex",
3043
+ value: function opGetOperatorIndex(operators, arrow) {
3044
+ var expans = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
3045
+ var megota = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
3046
+ for (var i = 0; i < operators.length; i++) {
3047
+ var cmp = compareTuples([operators[i].megota, operators[i].expans, operators[i].arrow], [megota, expans, arrow]);
3048
+ if (cmp == 0) return i; // I find it was [xx,xxx,*xxx*,xxx]!
3049
+ if (cmp == 1) return i - 0.5; // It's between [xx, xx,xx*,?,*xx]!
3050
+ }
3051
+ return operators.length - 0.5;
3052
+ }
3053
+ }, {
3054
+ key: "opGetOperator",
3055
+ value: function opGetOperator(operators, arrow) {
3056
+ var expans = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
3057
+ var megota = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
3058
+ var index = PowiainaNum.opGetOperatorIndex(operators, arrow, expans, megota);
3059
+ if (!operators[index]) return 0;
3060
+ return operators[index].repeat;
3061
+ }
3062
+ }, {
3063
+ key: "opSetOperator",
3064
+ value: function opSetOperator(operators, val, arrow) {
3065
+ var expans = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
3066
+ var megota = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
3067
+ // if (arrow!=0&&val==0) return false;
3068
+ var index = PowiainaNum.opGetOperatorIndex(operators, arrow, expans, megota);
3069
+ if (!operators[index]) {
3070
+ operators.splice(Math.ceil(index), 0, {
3071
+ arrow: arrow,
3072
+ expans: expans,
3073
+ megota: megota,
3074
+ valuereplaced: expans === Infinity ? 1 : arrow == Infinity ? 0 : -1,
3075
+ repeat: val
3076
+ });
3077
+ return true;
3078
+ }
3079
+ operators[index].repeat = val;
3080
+ if (operators[index].repeat == 0) {
3081
+ operators.splice(index, 1);
3082
+ return true;
3083
+ }
3084
+ // this.normalize()
3085
+ return false;
3086
+ }
2961
3087
  }, {
2962
3088
  key: "fromBigInt",
2963
3089
  value: function fromBigInt(input) {
@@ -1137,15 +1137,13 @@ var PowiainaNum = /*#__PURE__*/function () {
1137
1137
  }
1138
1138
  }, {
1139
1139
  key: "omegalog",
1140
- value:
1141
- //#endregion
1142
- function omegalog() {
1140
+ value: function omegalog() {
1143
1141
  var bbase = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;
1144
1142
  var target = this;
1145
1143
  var dis = target.clone();
1146
1144
  if (dis.isInfiNaN()) return dis;
1147
1145
  if (dis.gte("10{1,2}e15.954589770191003")) return dis;
1148
- var base = new PowiainaNum(bbase).clone();
1146
+ new PowiainaNum(bbase).clone();
1149
1147
  if (dis.getOperator(1 / 0) >= 1) {
1150
1148
  dis.setOperator(dis.getOperator(1 / 0) - 1, 1 / 0, 1, 1);
1151
1149
  return dis;
@@ -1154,24 +1152,53 @@ var PowiainaNum = /*#__PURE__*/function () {
1154
1152
  // dis.layer -= 1
1155
1153
  // return dis
1156
1154
  // } else
1157
- // @ts-expect-error
1158
- if (dis.arr01[dis.array.length - 1][0] >= 98) {
1159
- // @ts-expect-error
1160
- var zero = new PowiainaNum(dis.array[dis.arr01.length - 1][0]);
1161
- return zero;
1162
- } else if (target.lt(PowiainaNum.pentate(bbase, 2))) {
1163
- return new PowiainaNum(target).anyarrow_log(3)(bbase);
1164
- } else {
1165
- var addTest = 8;
1166
- var _target = 0;
1167
- while (addTest >= Math.pow(10, -10)) {
1168
- if (PowiainaNum.arrFrac(base, _target + addTest).lte(dis)) {
1169
- _target += addTest;
1170
- }
1171
- addTest /= 2;
1172
- }
1173
- return new PowiainaNum(_target);
1155
+ // // @ts-expect-error
1156
+ // if (dis.arr01[dis.array.length - 1][0] >= 98) {
1157
+ // // @ts-expect-error
1158
+ // let zero = new PowiainaNum(dis.array[dis.arr01.length - 1][0]);
1159
+ // return zero;
1160
+ // } else if (target.lt(PowiainaNum.pentate(bbase, 2))) {
1161
+ // return new PowiainaNum(target).anyarrow_log(3)(bbase);
1162
+ // } else {
1163
+ // let addTest = 8;
1164
+ // let target = 0;
1165
+ // while (addTest >= 10 ** -10) {
1166
+ // if (PowiainaNum.arrFrac(base, target + addTest).lte(dis)) {
1167
+ // target += addTest;
1168
+ // }
1169
+ // addTest /= 2;
1170
+ // }
1171
+ // return new PowiainaNum(target);
1172
+ // }
1173
+ var clonedOperators = [];
1174
+ for (var i = 0; i < target.array.length; i++) {
1175
+ clonedOperators[i] = {
1176
+ arrow: target.array[i].arrow,
1177
+ expans: target.array[i].expans,
1178
+ megota: target.array[i].megota,
1179
+ repeat: target.array[i].repeat,
1180
+ valuereplaced: target.array[i].valuereplaced
1181
+ };
1174
1182
  }
1183
+ var result = PowiainaNum.omegacollect(clonedOperators);
1184
+ return result[1].arrow - 1 + Math.log(result[0].repeat / 2) / Math.log(5);
1185
+ // if (dis.arr01[dis.array.length - 1][0] >= 98) {
1186
+ // // @ts-expect-error
1187
+ // let zero = new PowiainaNum(dis.array[dis.arr01.length - 1][0]);
1188
+ // return zero;
1189
+ // } else if (target.lt(PowiainaNum.pentate(bbase, 2))) {
1190
+ // return new PowiainaNum(target).anyarrow_log(3)(bbase);
1191
+ // } else {
1192
+ // let addTest = 8;
1193
+ // let target = 0;
1194
+ // while (addTest >= 10 ** -10) {
1195
+ // if (PowiainaNum.arrFrac(base, target + addTest).lte(dis)) {
1196
+ // target += addTest;
1197
+ // }
1198
+ // addTest /= 2;
1199
+ // }
1200
+ // return new PowiainaNum(target);
1201
+ // }
1175
1202
  }
1176
1203
  /**
1177
1204
  * Arrow operation, return a function
@@ -1960,58 +1987,45 @@ var PowiainaNum = /*#__PURE__*/function () {
1960
1987
  }, {
1961
1988
  key: "getOperatorIndex",
1962
1989
  value:
1963
- //#endregion
1964
- //#region operators
1965
1990
  /**
1966
1991
  * @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.
1967
1992
  */
1968
1993
  function getOperatorIndex(arrow) {
1969
1994
  var expans = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
1970
1995
  var megota = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
1971
- for (var i = 0; i < this.array.length; i++) {
1972
- var cmp = compareTuples([this.array[i].megota, this.array[i].expans, this.array[i].arrow], [megota, expans, arrow]);
1973
- if (cmp == 0) return i; // I find it was [xx,xxx,*xxx*,xxx]!
1974
- if (cmp == 1) return i - 0.5; // It's between [xx, xx,xx*,?,*xx]!
1975
- }
1976
- return this.array.length - 0.5;
1996
+ return PowiainaNum.opGetOperatorIndex(this.array, arrow, expans, megota);
1977
1997
  }
1978
1998
  /**
1979
1999
  * @returns number repeats of operators with given arguments.
1980
2000
  */
1981
2001
  }, {
1982
2002
  key: "getOperator",
1983
- value: function getOperator(arrow) {
2003
+ value:
2004
+ /**
2005
+ * @returns number repeats of operators with given arguments.
2006
+ */
2007
+ function getOperator(arrow) {
1984
2008
  var expans = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
1985
2009
  var megota = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
1986
- var index = this.getOperatorIndex(arrow, expans, megota);
1987
- if (!this.array[index]) return 0;
1988
- return this.array[index].repeat;
2010
+ return PowiainaNum.opGetOperator(this.array, arrow, expans, megota);
1989
2011
  }
1990
2012
  /**
1991
- * Modify the repeat of operator
2013
+ * Modify the repeat of operator(argument will modified)
1992
2014
  * @param number val the repeat of operator will modify to array.
1993
2015
  * @returns bool Is the operators array changed?
1994
2016
  */
1995
2017
  }, {
1996
2018
  key: "setOperator",
1997
- value: function setOperator(val, arrow) {
2019
+ value:
2020
+ /**
2021
+ * Modify the repeat of operator
2022
+ * @param number val the repeat of operator will modify to array.
2023
+ * @returns bool Is the operators array changed?
2024
+ */
2025
+ function setOperator(val, arrow) {
1998
2026
  var expans = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
1999
2027
  var megota = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
2000
- // if (arrow!=0&&val==0) return false;
2001
- var index = this.getOperatorIndex(arrow, expans, megota);
2002
- if (!this.array[index]) {
2003
- this.array.splice(Math.ceil(index), 0, {
2004
- arrow: arrow,
2005
- expans: expans,
2006
- megota: megota,
2007
- valuereplaced: expans === Infinity ? 1 : arrow == Infinity ? 0 : -1,
2008
- repeat: val
2009
- });
2010
- return true;
2011
- }
2012
- this.array[index].repeat = val;
2013
- // this.normalize()
2014
- return false;
2028
+ return PowiainaNum.opSetOperator(this.array, val, arrow, expans, megota);
2015
2029
  }
2016
2030
  //#endregion
2017
2031
  //#region converters
@@ -2025,7 +2039,7 @@ var PowiainaNum = /*#__PURE__*/function () {
2025
2039
  value: function toNumber() {
2026
2040
  if (this.sign == -1) return -this.neg().toNumber();
2027
2041
  if (this.small) return 1 / this.rec().toNumber();
2028
- if (this.array.length > 2) return Infinity;
2042
+ if (this.gte("e308.25471555991675")) return Infinity;
2029
2043
  if (this.array.length == 1) return this.array[0].repeat;else if (this.array.length == 2 && this.array[1].arrow == 1 && this.array[1].expans == 1 && this.array[1].megota == 1 && this.array[1].repeat == 1) return Math.pow(10, this.getOperator(0));
2030
2044
  return NaN;
2031
2045
  }
@@ -2246,6 +2260,15 @@ var PowiainaNum = /*#__PURE__*/function () {
2246
2260
  this.array[0].repeat = this.array[1].arrow;
2247
2261
  this.array[1] = newOperator(1, Infinity, this.array[1].expans, this.array[1].megota);
2248
2262
  }
2263
+ // for any (10{y=finite>=2})^z x x<9e15, convert to (10{y})^(z-1) (10{y-1}^(x-1) 10)
2264
+ if (this.array.length >= 2 && this.array[1].arrow >= 2 && this.array[0].repeat < MSI && isFinite(this.array[1].arrow)) {
2265
+ var _x2 = this.array[0].repeat;
2266
+ var y = this.array[1].arrow;
2267
+ var z = this.array[1].repeat;
2268
+ this.array[0].repeat = 10;
2269
+ this.array.splice(2, 0, newOperator(z - 1, y, this.array[1].expans, this.array[1].megota));
2270
+ this.array[1] = newOperator(_x2 - 1, y - 1, this.array[1].expans, this.array[1].megota);
2271
+ }
2249
2272
  while (x.array.length >= 2 && x.array[0].repeat == 1 && x.array[1].repeat) {
2250
2273
  // for any 10{X}10{X} 1, turn into 10{X}10
2251
2274
  // [1, [R=sth, A=sth, E=sth, M=sth]]
@@ -2535,6 +2558,58 @@ var PowiainaNum = /*#__PURE__*/function () {
2535
2558
  var base2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;
2536
2559
  return new PowiainaNum(t).iteratedlog(other2, base2);
2537
2560
  }
2561
+ //#endregion
2562
+ /**
2563
+ * Get the base of operators
2564
+ */
2565
+ }, {
2566
+ key: "oBase",
2567
+ value: function oBase(operators) {
2568
+ return operators[0].repeat;
2569
+ }
2570
+ /**
2571
+ * Only works for operators level < ω.
2572
+ */
2573
+ }, {
2574
+ key: "omegacollect",
2575
+ value: function omegacollect(operators) {
2576
+ debugger;
2577
+ // const result = {
2578
+ // bottom: NaN,
2579
+ // top: NaN,
2580
+ // };
2581
+ var maxWhile = 1000;
2582
+ while (maxWhile--) {
2583
+ var base = PowiainaNum.oBase(operators);
2584
+ if (base >= 10) {
2585
+ // Bottom upgrade mode: add 10^'s.
2586
+ operators[0].repeat = Math.log10(base);
2587
+ PowiainaNum.opSetOperator(operators, PowiainaNum.opGetOperator(operators, 1, 1, 1) + 1, 1, 1, 1);
2588
+ } else {
2589
+ if (operators.length <= 2 && operators[1].repeat == 1) {
2590
+ return operators;
2591
+ }
2592
+ // Operator upgrade mode:
2593
+ // Check the -2th operator, is repeat >= 2?
2594
+ if (operators[1].repeat >= 2) {
2595
+ operators[1].arrow++;
2596
+ operators[0].repeat = operators[1].repeat + Math.log10(base);
2597
+ operators[1].repeat = 1;
2598
+ } else if (base !== 1) {
2599
+ operators[1].arrow++;
2600
+ operators[0].repeat = operators[1].repeat + Math.log10(base);
2601
+ operators[1].repeat = 1;
2602
+ } else {
2603
+ // -2th repeat = 1, and base = 1;
2604
+ operators[1].arrow = operators[2].arrow;
2605
+ }
2606
+ mergeSameArrays({
2607
+ array: operators
2608
+ });
2609
+ }
2610
+ }
2611
+ return operators;
2612
+ }
2538
2613
  }, {
2539
2614
  key: "arrow",
2540
2615
  value: function arrow(x, z, y) {
@@ -2954,6 +3029,57 @@ var PowiainaNum = /*#__PURE__*/function () {
2954
3029
  value: function isNaN(x) {
2955
3030
  return new PowiainaNum(x).isNaN();
2956
3031
  }
3032
+ //#endregion
3033
+ //#region operators
3034
+ /**
3035
+ * @returns number will return the index of the operator. return as x.5 if it's between the xth and x+1th operators.
3036
+ */
3037
+ }, {
3038
+ key: "opGetOperatorIndex",
3039
+ value: function opGetOperatorIndex(operators, arrow) {
3040
+ var expans = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
3041
+ var megota = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
3042
+ for (var i = 0; i < operators.length; i++) {
3043
+ var cmp = compareTuples([operators[i].megota, operators[i].expans, operators[i].arrow], [megota, expans, arrow]);
3044
+ if (cmp == 0) return i; // I find it was [xx,xxx,*xxx*,xxx]!
3045
+ if (cmp == 1) return i - 0.5; // It's between [xx, xx,xx*,?,*xx]!
3046
+ }
3047
+ return operators.length - 0.5;
3048
+ }
3049
+ }, {
3050
+ key: "opGetOperator",
3051
+ value: function opGetOperator(operators, arrow) {
3052
+ var expans = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
3053
+ var megota = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
3054
+ var index = PowiainaNum.opGetOperatorIndex(operators, arrow, expans, megota);
3055
+ if (!operators[index]) return 0;
3056
+ return operators[index].repeat;
3057
+ }
3058
+ }, {
3059
+ key: "opSetOperator",
3060
+ value: function opSetOperator(operators, val, arrow) {
3061
+ var expans = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
3062
+ var megota = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
3063
+ // if (arrow!=0&&val==0) return false;
3064
+ var index = PowiainaNum.opGetOperatorIndex(operators, arrow, expans, megota);
3065
+ if (!operators[index]) {
3066
+ operators.splice(Math.ceil(index), 0, {
3067
+ arrow: arrow,
3068
+ expans: expans,
3069
+ megota: megota,
3070
+ valuereplaced: expans === Infinity ? 1 : arrow == Infinity ? 0 : -1,
3071
+ repeat: val
3072
+ });
3073
+ return true;
3074
+ }
3075
+ operators[index].repeat = val;
3076
+ if (operators[index].repeat == 0) {
3077
+ operators.splice(index, 1);
3078
+ return true;
3079
+ }
3080
+ // this.normalize()
3081
+ return false;
3082
+ }
2957
3083
  }, {
2958
3084
  key: "fromBigInt",
2959
3085
  value: function fromBigInt(input) {
@@ -1143,15 +1143,13 @@
1143
1143
  }
1144
1144
  }, {
1145
1145
  key: "omegalog",
1146
- value:
1147
- //#endregion
1148
- function omegalog() {
1146
+ value: function omegalog() {
1149
1147
  var bbase = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;
1150
1148
  var target = this;
1151
1149
  var dis = target.clone();
1152
1150
  if (dis.isInfiNaN()) return dis;
1153
1151
  if (dis.gte("10{1,2}e15.954589770191003")) return dis;
1154
- var base = new PowiainaNum(bbase).clone();
1152
+ new PowiainaNum(bbase).clone();
1155
1153
  if (dis.getOperator(1 / 0) >= 1) {
1156
1154
  dis.setOperator(dis.getOperator(1 / 0) - 1, 1 / 0, 1, 1);
1157
1155
  return dis;
@@ -1160,24 +1158,53 @@
1160
1158
  // dis.layer -= 1
1161
1159
  // return dis
1162
1160
  // } else
1163
- // @ts-expect-error
1164
- if (dis.arr01[dis.array.length - 1][0] >= 98) {
1165
- // @ts-expect-error
1166
- var zero = new PowiainaNum(dis.array[dis.arr01.length - 1][0]);
1167
- return zero;
1168
- } else if (target.lt(PowiainaNum.pentate(bbase, 2))) {
1169
- return new PowiainaNum(target).anyarrow_log(3)(bbase);
1170
- } else {
1171
- var addTest = 8;
1172
- var _target = 0;
1173
- while (addTest >= Math.pow(10, -10)) {
1174
- if (PowiainaNum.arrFrac(base, _target + addTest).lte(dis)) {
1175
- _target += addTest;
1176
- }
1177
- addTest /= 2;
1178
- }
1179
- return new PowiainaNum(_target);
1161
+ // // @ts-expect-error
1162
+ // if (dis.arr01[dis.array.length - 1][0] >= 98) {
1163
+ // // @ts-expect-error
1164
+ // let zero = new PowiainaNum(dis.array[dis.arr01.length - 1][0]);
1165
+ // return zero;
1166
+ // } else if (target.lt(PowiainaNum.pentate(bbase, 2))) {
1167
+ // return new PowiainaNum(target).anyarrow_log(3)(bbase);
1168
+ // } else {
1169
+ // let addTest = 8;
1170
+ // let target = 0;
1171
+ // while (addTest >= 10 ** -10) {
1172
+ // if (PowiainaNum.arrFrac(base, target + addTest).lte(dis)) {
1173
+ // target += addTest;
1174
+ // }
1175
+ // addTest /= 2;
1176
+ // }
1177
+ // return new PowiainaNum(target);
1178
+ // }
1179
+ var clonedOperators = [];
1180
+ for (var i = 0; i < target.array.length; i++) {
1181
+ clonedOperators[i] = {
1182
+ arrow: target.array[i].arrow,
1183
+ expans: target.array[i].expans,
1184
+ megota: target.array[i].megota,
1185
+ repeat: target.array[i].repeat,
1186
+ valuereplaced: target.array[i].valuereplaced
1187
+ };
1180
1188
  }
1189
+ var result = PowiainaNum.omegacollect(clonedOperators);
1190
+ return result[1].arrow - 1 + Math.log(result[0].repeat / 2) / Math.log(5);
1191
+ // if (dis.arr01[dis.array.length - 1][0] >= 98) {
1192
+ // // @ts-expect-error
1193
+ // let zero = new PowiainaNum(dis.array[dis.arr01.length - 1][0]);
1194
+ // return zero;
1195
+ // } else if (target.lt(PowiainaNum.pentate(bbase, 2))) {
1196
+ // return new PowiainaNum(target).anyarrow_log(3)(bbase);
1197
+ // } else {
1198
+ // let addTest = 8;
1199
+ // let target = 0;
1200
+ // while (addTest >= 10 ** -10) {
1201
+ // if (PowiainaNum.arrFrac(base, target + addTest).lte(dis)) {
1202
+ // target += addTest;
1203
+ // }
1204
+ // addTest /= 2;
1205
+ // }
1206
+ // return new PowiainaNum(target);
1207
+ // }
1181
1208
  }
1182
1209
  /**
1183
1210
  * Arrow operation, return a function
@@ -1966,58 +1993,45 @@
1966
1993
  }, {
1967
1994
  key: "getOperatorIndex",
1968
1995
  value:
1969
- //#endregion
1970
- //#region operators
1971
1996
  /**
1972
1997
  * @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.
1973
1998
  */
1974
1999
  function getOperatorIndex(arrow) {
1975
2000
  var expans = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
1976
2001
  var megota = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
1977
- for (var i = 0; i < this.array.length; i++) {
1978
- var cmp = compareTuples([this.array[i].megota, this.array[i].expans, this.array[i].arrow], [megota, expans, arrow]);
1979
- if (cmp == 0) return i; // I find it was [xx,xxx,*xxx*,xxx]!
1980
- if (cmp == 1) return i - 0.5; // It's between [xx, xx,xx*,?,*xx]!
1981
- }
1982
- return this.array.length - 0.5;
2002
+ return PowiainaNum.opGetOperatorIndex(this.array, arrow, expans, megota);
1983
2003
  }
1984
2004
  /**
1985
2005
  * @returns number repeats of operators with given arguments.
1986
2006
  */
1987
2007
  }, {
1988
2008
  key: "getOperator",
1989
- value: function getOperator(arrow) {
2009
+ value:
2010
+ /**
2011
+ * @returns number repeats of operators with given arguments.
2012
+ */
2013
+ function getOperator(arrow) {
1990
2014
  var expans = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
1991
2015
  var megota = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
1992
- var index = this.getOperatorIndex(arrow, expans, megota);
1993
- if (!this.array[index]) return 0;
1994
- return this.array[index].repeat;
2016
+ return PowiainaNum.opGetOperator(this.array, arrow, expans, megota);
1995
2017
  }
1996
2018
  /**
1997
- * Modify the repeat of operator
2019
+ * Modify the repeat of operator(argument will modified)
1998
2020
  * @param number val the repeat of operator will modify to array.
1999
2021
  * @returns bool Is the operators array changed?
2000
2022
  */
2001
2023
  }, {
2002
2024
  key: "setOperator",
2003
- value: function setOperator(val, arrow) {
2025
+ value:
2026
+ /**
2027
+ * Modify the repeat of operator
2028
+ * @param number val the repeat of operator will modify to array.
2029
+ * @returns bool Is the operators array changed?
2030
+ */
2031
+ function setOperator(val, arrow) {
2004
2032
  var expans = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
2005
2033
  var megota = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
2006
- // if (arrow!=0&&val==0) return false;
2007
- var index = this.getOperatorIndex(arrow, expans, megota);
2008
- if (!this.array[index]) {
2009
- this.array.splice(Math.ceil(index), 0, {
2010
- arrow: arrow,
2011
- expans: expans,
2012
- megota: megota,
2013
- valuereplaced: expans === Infinity ? 1 : arrow == Infinity ? 0 : -1,
2014
- repeat: val
2015
- });
2016
- return true;
2017
- }
2018
- this.array[index].repeat = val;
2019
- // this.normalize()
2020
- return false;
2034
+ return PowiainaNum.opSetOperator(this.array, val, arrow, expans, megota);
2021
2035
  }
2022
2036
  //#endregion
2023
2037
  //#region converters
@@ -2031,7 +2045,7 @@
2031
2045
  value: function toNumber() {
2032
2046
  if (this.sign == -1) return -this.neg().toNumber();
2033
2047
  if (this.small) return 1 / this.rec().toNumber();
2034
- if (this.array.length > 2) return Infinity;
2048
+ if (this.gte("e308.25471555991675")) return Infinity;
2035
2049
  if (this.array.length == 1) return this.array[0].repeat;else if (this.array.length == 2 && this.array[1].arrow == 1 && this.array[1].expans == 1 && this.array[1].megota == 1 && this.array[1].repeat == 1) return Math.pow(10, this.getOperator(0));
2036
2050
  return NaN;
2037
2051
  }
@@ -2252,6 +2266,15 @@
2252
2266
  this.array[0].repeat = this.array[1].arrow;
2253
2267
  this.array[1] = newOperator(1, Infinity, this.array[1].expans, this.array[1].megota);
2254
2268
  }
2269
+ // for any (10{y=finite>=2})^z x x<9e15, convert to (10{y})^(z-1) (10{y-1}^(x-1) 10)
2270
+ if (this.array.length >= 2 && this.array[1].arrow >= 2 && this.array[0].repeat < MSI && isFinite(this.array[1].arrow)) {
2271
+ var _x2 = this.array[0].repeat;
2272
+ var y = this.array[1].arrow;
2273
+ var z = this.array[1].repeat;
2274
+ this.array[0].repeat = 10;
2275
+ this.array.splice(2, 0, newOperator(z - 1, y, this.array[1].expans, this.array[1].megota));
2276
+ this.array[1] = newOperator(_x2 - 1, y - 1, this.array[1].expans, this.array[1].megota);
2277
+ }
2255
2278
  while (x.array.length >= 2 && x.array[0].repeat == 1 && x.array[1].repeat) {
2256
2279
  // for any 10{X}10{X} 1, turn into 10{X}10
2257
2280
  // [1, [R=sth, A=sth, E=sth, M=sth]]
@@ -2541,6 +2564,58 @@
2541
2564
  var base2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;
2542
2565
  return new PowiainaNum(t).iteratedlog(other2, base2);
2543
2566
  }
2567
+ //#endregion
2568
+ /**
2569
+ * Get the base of operators
2570
+ */
2571
+ }, {
2572
+ key: "oBase",
2573
+ value: function oBase(operators) {
2574
+ return operators[0].repeat;
2575
+ }
2576
+ /**
2577
+ * Only works for operators level < ω.
2578
+ */
2579
+ }, {
2580
+ key: "omegacollect",
2581
+ value: function omegacollect(operators) {
2582
+ debugger;
2583
+ // const result = {
2584
+ // bottom: NaN,
2585
+ // top: NaN,
2586
+ // };
2587
+ var maxWhile = 1000;
2588
+ while (maxWhile--) {
2589
+ var base = PowiainaNum.oBase(operators);
2590
+ if (base >= 10) {
2591
+ // Bottom upgrade mode: add 10^'s.
2592
+ operators[0].repeat = Math.log10(base);
2593
+ PowiainaNum.opSetOperator(operators, PowiainaNum.opGetOperator(operators, 1, 1, 1) + 1, 1, 1, 1);
2594
+ } else {
2595
+ if (operators.length <= 2 && operators[1].repeat == 1) {
2596
+ return operators;
2597
+ }
2598
+ // Operator upgrade mode:
2599
+ // Check the -2th operator, is repeat >= 2?
2600
+ if (operators[1].repeat >= 2) {
2601
+ operators[1].arrow++;
2602
+ operators[0].repeat = operators[1].repeat + Math.log10(base);
2603
+ operators[1].repeat = 1;
2604
+ } else if (base !== 1) {
2605
+ operators[1].arrow++;
2606
+ operators[0].repeat = operators[1].repeat + Math.log10(base);
2607
+ operators[1].repeat = 1;
2608
+ } else {
2609
+ // -2th repeat = 1, and base = 1;
2610
+ operators[1].arrow = operators[2].arrow;
2611
+ }
2612
+ mergeSameArrays({
2613
+ array: operators
2614
+ });
2615
+ }
2616
+ }
2617
+ return operators;
2618
+ }
2544
2619
  }, {
2545
2620
  key: "arrow",
2546
2621
  value: function arrow(x, z, y) {
@@ -2960,6 +3035,57 @@
2960
3035
  value: function isNaN(x) {
2961
3036
  return new PowiainaNum(x).isNaN();
2962
3037
  }
3038
+ //#endregion
3039
+ //#region operators
3040
+ /**
3041
+ * @returns number will return the index of the operator. return as x.5 if it's between the xth and x+1th operators.
3042
+ */
3043
+ }, {
3044
+ key: "opGetOperatorIndex",
3045
+ value: function opGetOperatorIndex(operators, arrow) {
3046
+ var expans = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
3047
+ var megota = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
3048
+ for (var i = 0; i < operators.length; i++) {
3049
+ var cmp = compareTuples([operators[i].megota, operators[i].expans, operators[i].arrow], [megota, expans, arrow]);
3050
+ if (cmp == 0) return i; // I find it was [xx,xxx,*xxx*,xxx]!
3051
+ if (cmp == 1) return i - 0.5; // It's between [xx, xx,xx*,?,*xx]!
3052
+ }
3053
+ return operators.length - 0.5;
3054
+ }
3055
+ }, {
3056
+ key: "opGetOperator",
3057
+ value: function opGetOperator(operators, arrow) {
3058
+ var expans = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
3059
+ var megota = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
3060
+ var index = PowiainaNum.opGetOperatorIndex(operators, arrow, expans, megota);
3061
+ if (!operators[index]) return 0;
3062
+ return operators[index].repeat;
3063
+ }
3064
+ }, {
3065
+ key: "opSetOperator",
3066
+ value: function opSetOperator(operators, val, arrow) {
3067
+ var expans = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
3068
+ var megota = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
3069
+ // if (arrow!=0&&val==0) return false;
3070
+ var index = PowiainaNum.opGetOperatorIndex(operators, arrow, expans, megota);
3071
+ if (!operators[index]) {
3072
+ operators.splice(Math.ceil(index), 0, {
3073
+ arrow: arrow,
3074
+ expans: expans,
3075
+ megota: megota,
3076
+ valuereplaced: expans === Infinity ? 1 : arrow == Infinity ? 0 : -1,
3077
+ repeat: val
3078
+ });
3079
+ return true;
3080
+ }
3081
+ operators[index].repeat = val;
3082
+ if (operators[index].repeat == 0) {
3083
+ operators.splice(index, 1);
3084
+ return true;
3085
+ }
3086
+ // this.normalize()
3087
+ return false;
3088
+ }
2963
3089
  }, {
2964
3090
  key: "fromBigInt",
2965
3091
  value: function fromBigInt(input) {
@@ -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,n=Array(e);t<e;t++)n[t]=r[t];return n}function t(r,e){for(var t=0;t<e.length;t++){var n=e[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(r,i(n.key),n)}}function n(r,e){return function(r){if(Array.isArray(r))return r}(r)||function(r,e){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var n,a,i,o,u=[],l=!0,s=!1;try{if(i=(t=t.call(r)).next,0===e){if(Object(t)!==t)return;l=!1}else for(;!(l=(n=i.call(t)).done)&&(u.push(n.value),u.length!==e);l=!0);}catch(r){s=!0,a=r}finally{try{if(!l&&null!=t.return&&(o=t.return(),Object(o)!==o))return}finally{if(s)throw a}}return u}}(r,e)||u(r,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}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)||u(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 i(r){var e=function(r,e){if("object"!=typeof r||!r)return r;var t=r[Symbol.toPrimitive];if(void 0!==t){var n=t.call(r,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(r)}(r,"string");return"symbol"==typeof e?e:e+""}function o(r){return(o="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)}function u(r,t){if(r){if("string"==typeof r)return e(r,t);var n={}.toString.call(r).slice(8,-1);return"Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?e(r,t):void 0}}var l,s=9007199254740991,c=15.954589770191003,f=11102230246251568e-32,h=1.444667861009766,g=/^(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+))$/,y=/^((\d+(\.\d*)?|\d*\.\d+)?([EeFf]([-\+]?)))*(0|\d+(\.\d*)?|\d*\.\d+)$/;function N(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return{repeat:r,arrow:e,expans:t,megota:n,valuereplaced:e==1/0?0:t==1/0?1:-1}}function p(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];for(var n=0;n<Math.min(e[0].length,e[1].length);n++){var a=e[0][n],i=e[1][n];if(a<i)return-1;if(a>i)return 1}return 0}function m(r){return Math.log10(Number(r.substring(0,17)))+(r.length-17)}var v=.5671432904097838;function w(r){var e,t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e-10,a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=n,o=a;if(!Number.isFinite(r))return r;if(o){if(0===r)return r;if(1===r)return v;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 b(r){return 2==r.length}function d(r){return"number"==typeof r[0]&&"number"==typeof r[1]}function E(r){return"x"===r?1/0:r}function O(r){return 4==r.length}function I(r){return"number"==typeof r[0]&&"number"==typeof r[1]&&"number"==typeof r[2]&&"number"==typeof r[3]}function k(r){return"x"===r[0]&&"number"==typeof r[1]&&"number"==typeof r[2]&&"number"==typeof r[3]}function M(r){return"number"==typeof r[0]&&"number"==typeof r[1]&&"x"==r[2]&&"number"==typeof r[3]}function x(r){var e,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e10,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!(r=new F(r)).isFinite())return r;if(n){if(r.eq(F.ZERO))return r;if(r.eq(F.ONE))return new F(v);e=F.log(r)}else{if(r.eq(F.ZERO))return F.NEGATIVE_INFINITY.clone();e=F.log(r.neg())}for(var a=0;a<100;++a){var i=e.neg().exp(),o=e.sub(r.mul(i)),u=e.add(F.ONE).sub(e.add(2).mul(o).div(F.mul(2,e).add(2)));if(u.eq(F.ZERO))return e;var l=e.sub(o.div(u));if(F.abs(l.sub(e)).lt(F.abs(l).mul(t)))return l;e=l}throw Error("Iteration failed to converge: "+r)}function q(r,e){return p([r.megota,r.expans,r.arrow],[e.megota,e.expans,e.arrow])}function S(r,e,t){var n=new F(r),a=new F(e),i=new F(t),o=function(r,e,t){return new F(r).pow(new F(t).sub(e).add(1)).mul(new F(2).pow(new F(e).sub(t)))}(n,a,new F(i).omegalog(n.toNumber()));if(i.gt(n)){var u=S(n,a.add(1),i).sub(2),l=S(n,a,n),s=n.clone();return _(n,a,u.pow_base(s.div(l)).mul(l))}return o}function _(r,e,t){var n=new F(r),a=new F(e),i=new F(t);if(a.isInt())return F.arrow(n,a,i);if(i.gt(n)){var o=S(n,a,i),u=S(n,a,n),l=n.clone(),s=o.div(u).logBase(l.div(u));return _(n,a.add(1),F.add(2,s))}return F.arrFrac(n,function(r,e,t){var n=new F(2).logBase(r);return new F(e).sub(1).add(new F(t).logBase(r).sub(n).div(new F(1).sub(n)))}(n,a,i))}function R(r){for(var e=BigInt(64);r>=BigInt(1)<<e;)e*=BigInt(2);for(var t=e/BigInt(2);t>BigInt(0);)r>=BigInt(1)<<e?e+=t:e-=t,t/=BigInt(2);var n=e-BigInt(54),a=r>>n;return Math.log10(Number(a))+Math.LOG10E/Math.LOG2E*Number(n)}var T,F=function(){function r(e){!function(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r),this[l]="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"==o(e)){var n=r.fromObject(e);this.resetFromObject(n)}else if("string"==typeof e){var a=r.fromString(e);this.resetFromObject(a)}else if("bigint"==typeof e){var i=r.fromBigInt(e);this.resetFromObject(i)}else;}catch(e){if(console.error("Malformed input"),console.error(e),r.throwErrorOnResultNaN&&r.isNaN(this))throw new Error("NaN")}}return function(r,e,n){return e&&t(r.prototype,e),n&&t(r,n),Object.defineProperty(r,"prototype",{writable:!1}),r}(r,[{key:"add",value:function(e){var t,n,a,i,o,u,l=this.clone().normalize(),h=new r(e);if(l.eq(r.POSITIVE_INFINITY)&&h.eq(r.NEGATIVE_INFINITY)||l.eq(r.NEGATIVE_INFINITY)&&h.eq(r.POSITIVE_INFINITY)){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(!l.isFinite())return l.clone();if(!h.isFinite())return h.clone();if(l.isZero())return h.clone();if(h.isZero())return l.clone();if(l.sign==-h.sign&&function(){var r=l.abs(),e=h.abs();return r.eq(e)}())return r.ZERO.clone();if(l.abs().lt(s)&&h.abs().lt(s)&&l.abs().gte(f)&&h.abs().gte(f))return r.fromNumber(l.toNumber()+h.toNumber());if(l.abs().lt(r.E_MSI_REC)||l.abs().gt(r.E_MSI)||h.abs().lt(r.E_MSI_REC)||h.abs().gt(r.E_MSI)){var g=l.maxabs(h);return l.abs().eq(g)?l:(h.abs().eq(g),h)}if(-1==l.sign)return l.neg().add(h.neg()).neg();l.cmpabs(h)>0?(o=l,u=h):(u=l,o=h);var y=o.toNumber()+u.toNumber();if(isFinite(y)&&0!==y)return r.fromNumber(y);var p=1;if(!(o.small||u.small||(null===(t=o.array[1])||void 0===t?void 0:t.repeat)||(null===(n=u.array[1])||void 0===n?void 0:n.repeat)||o.sign!=u.sign))return new r((o.array[0].repeat+u.array[0].repeat)*o.sign);var m=(o.small?-1:1)*((null===(a=o.array[1])||void 0===a?void 0:a.repeat)?o.array[0].repeat:Math.log10(o.array[0].repeat)),v=(u.small?-1:1)*((null===(i=u.array[1])||void 0===i?void 0:i.repeat)?u.array[0].repeat:Math.log10(u.array[0].repeat));if(m-v>c)return o;var w=-Math.floor(m),b=0,d=o.sign*Math.pow(10,m+w)+u.sign*Math.pow(10,v+w);if(d>0&&(b=Math.log10(d)-w),d<0&&(b=Math.log10(-d)-w,p*=-1),0==d)return r.ZERO.clone();var E=r.NaN.clone();return E.sign=1,E.array=b>c||b<-c?[N(b,0),N(1,1)]:[N(Math.pow(10,Math.abs(b)),0)],E.small=b<0,E.sign*=p,E}},{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(),n=new r(e);if(t.eq(r.POSITIVE_INFINITY)&&n.eq(r.NEGATIVE_INFINITY)||n.eq(r.POSITIVE_INFINITY)&&t.eq(r.NEGATIVE_INFINITY))return r.NEGATIVE_INFINITY.clone();if(t.isInfiNaN()&&n.isZero()||n.isInfiNaN()&&t.isZero()){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(t.eq(r.NEGATIVE_INFINITY)&&n.eq(r.NEGATIVE_INFINITY))return r.POSITIVE_INFINITY.clone();if(!t.isFinite())return t.clone();if(!n.isFinite())return n.clone();if(t.isZero()||n.isZero())return r.ZERO.clone();var a,i=t.toNumber()*n.toNumber();return isFinite(i)&&0!==i?r.fromNumber(i):((a=t.abs().log10().add(n.abs().log10()).pow10()).sign=t.sign*n.sign,a)}},{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),n=this.div(t);return n.sub(n.floor()).mul(t)}},{key:"modulus",value:function(r){return this.mod(r)}},{key:"pow10",value:function(){var e,t,n=this.clone();return this.isFinite()?n.isneg()?(n.sign*=-1,n.pow10().rec()):n.lt(308.25471555991675)?r.fromNumber(Math.pow(10,n.toNumber())):n.small?n.lt(r.MSI_REC)?r.ONE:new r(Math.pow(10,Math.pow(n.array[0].repeat,-1))):(n.gt(r.TETRATED_MSI)||(n.setOperator((null!==(t=null===(e=n.array[1])||void 0===e?void 0:e.repeat)&&void 0!==t?t:0)+1,1),n.normalize()),n):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()){if(t.small&&t.rec().div(2).eq(1))return this.neg().pow(t).neg();if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}var n=this.abs().pow(t);return n.sign=function(){var r=t.mod(2).round();return r.eq(0)||r.eq(2)?1:-1}(),n}var a=this.toNumber(),i=t.toNumber(),o=Math.pow(a,i);if(isFinite(o)&&0!==o)return r.fromNumber(o);if(this.isZero()&&t.isZero())return r.ONE.clone();if(this.isZero())return r.ZERO.clone();if(t.isZero())return r.ONE.clone();if(this.gt(0))return this.log10().mul(t).pow10();if(t.rec().mod(2).eq(1))return this.neg().log10().mul(t).pow10().neg();if(r.throwErrorOnResultNaN)throw new Error("NaN");return 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()){if(r.throwErrorOnResultNaN)throw new Error("NaN");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(s)?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(s)){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 n=r*r,a=r;return t+=1/(12*a),t-=1/(360*(a*=n)),t+=1/(1260*(a*=n)),t-=1/(1680*(a*=n)),t+=1/(1188*(a*=n)),t-=691/(360360*(a*=n)),t+=7/(1092*(a*=n)),t-=3617/(122400*(a*=n)),Math.exp(t)/e}(this.sign*this.getOperator(0)));var e=this.getOperator(0)-1,t=.9189385332046727;t+=(e+.5)*Math.log(e);var n=e*e,a=e,i=12*a,o=1/i,u=(t-=e)+o;if(u===t)return r.exp(t);if((u=(t=u)-(o=1/(i=360*(a*=n))))===t)return r.exp(t);t=u;var l=1/(i=1260*(a*=n));return t+=l,t-=l=1/(i=1680*(a*=n)),r.exp(t)}return this.gt(s)?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;if(this.lt(-.3678794411710499)){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(t)return this.abs().lt("1e-300")?new r(this):this.small?r.fromNumber(w(this.toNumber())):this.lt(s)?r.fromNumber(w(this.sign*this.getOperator(0))):this.lt("eee15")?x(this):this.log();if(-1===this.sign){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}return this.lt(9e15)?r.fromNumber(w(this.sign*this.array[0].repeat,1e-10,!1)):this.lt(r.E_MSI)?x(this,1e-10,!1):this.neg().rec().lambertw().neg()}},{key:"tetrate",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,a=this.clone(),i=new r(e),o=new r(n);if(a.isNaN()||i.isNaN()||o.isNaN()){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(a.eq(1))return r.ONE.clone();if(o.neq(r.ONE)&&a.gte(h)&&(i=i.add(o.slog(a))),i.isInfi()&&i.sign>0)return a.gte(h)?r.POSITIVE_INFINITY.clone():(t=this.log().neg()).lambertw().div(t);if(i.lte(-2)){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(a.isZero()){if(i.isZero()){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}return i.gte(s/2)||i.toNumber()%2==0?r.ZERO.clone():r.ONE.clone()}if(a.eq(r.ONE)){if(i.eq(r.ONE.neg())){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}return 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 a;if(i.eq(2))return a.pow(a);if(a.eq(2)){if(i.eq(3))return r.fromNumber(16);if(i.eq(4))return r.fromNumber(65536)}var u=a.max(i);if(u.gt(r.PENTATED_MSI))return u;if(u.gt(r.TETRATED_MSI)||i.gt(s)){if(this.lt(h))return(t=a.ln().neg()).lambertw().div(t);var l=a.slog(10).add(i);return l.setOperator(l.getOperator(2)+1,2),l.normalize(),l}for(var c=i.toNumber(),f=Math.floor(c),g=a.pow(c-f),y=r.NaN,N=0,p=r.E_MSI.clone();0!==f&&g.lt(p)&&N<100;++N)if(f>0){if(g=a.pow(g),y.eq(g)){f=0;break}y=g,--f}else{if(g=g.log(a),y.eq(g)){f=0;break}y=g,++f}return(100==N||this.lt(h))&&(f=0),g.setOperator(g.getOperator(1)+f,1),g.normalize(),g}},{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(),n=new r(e);if(t.isInfiNaN())return t;if(n.isNaN())return n;if(n.isInfi())return r.ZERO.clone();if(t.isZero())return r.ONE.clone();if(t.eq(r.ONE))return r.ZERO.clone();if(t.eq(n))return r.ONE.clone();if(n.lt(h)){var a=n.tetrate(1/0);if(t.eq(a))return r.POSITIVE_INFINITY.clone();if(t.gt(a)){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}}if(t.max(n).gt(r.PENTATED_MSI))return t.gt(n)?t:r.ZERO.clone();if(t.max(n).gt(r.TETRATED_MSI)&&t.gt(n))return t.setOperator(t.getOperator(2)-1,2),t.normalize(),t.sub(t.getOperator(1));if(t.lt(r.ZERO.clone()))return n.pow(t).sub(2);var i=0,o=t.getOperator(1)-n.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)}if(t.gt(10))return new r(i);if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}},{key:"ssqrt",value:function(){var e=this.clone();if(e.lt(1/h)){if(r.throwErrorOnResultNaN)throw new Error("NaN");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,n=this.clone(),a=new r(t),i=new r(e);return i.isZero()?n:i.eq(r.ONE)?n.log(a):a.tetrate(n.slog(a).sub(i))}},{key:"omegalog",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,t=this,n=t.clone();if(n.isInfiNaN())return n;if(n.gte("10{1,2}e15.954589770191003"))return n;var a=new r(e).clone();if(n.getOperator(1/0)>=1)return n.setOperator(n.getOperator(1/0)-1,1/0,1,1),n;if(n.arr01[n.array.length-1][0]>=98){var i=new r(n.array[n.arr01.length-1][0]);return i}if(t.lt(r.pentate(e,2)))return new r(t).anyarrow_log(3)(e);for(var o=8,u=0;o>=Math.pow(10,-10);)r.arrFrac(a,u+o).lte(n)&&(u+=o),o/=2;return new r(u)}},{key:"arrow",value:function(e){var t=this.clone(),n=new r(e);return n.lt(r.ZERO)?(console.warn("The arrow is <0 or not a integer, the returned function will return NaN."),function(){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}):n.isInt()?n.eq(0)?function(r){return t.mul(r)}:n.eq(1)?function(r){return t.pow(r)}:n.eq(2)?function(r){return t.tetrate(r)}:function(e){var a=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),u=new r(a),l=r.arrowFuncMap.get("".concat(t.toString()," ").concat(n.toString()," ").concat(o.toString()," ").concat(i));if(l)return l.clone();var c=function(){var e;if(t.isNaN()||o.isNaN()||u.isNaN())return r.NaN.clone();if(o.lt(r.ZERO))return r.NaN.clone();if(t.eq(r.ZERO)){if(o.eq(r.ONE))return r.ZERO.clone();if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(u.neq(r.ONE)&&(o=o.add(u.anyarrow_log(n)(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(n.gt(r.MSI))return(e=n.clone()).setOperator(e.getOperator(1/0)+1,1/0),e;var a=n.toNumber();if(o.eq(2))return t.arrow(a-1)(t,u,i+1);if(t.max(o).gt(r.arrowMSI(a+1)))return t.max(o);if(t.gt(r.arrowMSI(a))||o.gt(s)){t.gt(r.arrowMSI(a))?((e=t.clone()).setOperator(e.getOperator(a)-1,a),e.normalize()):e=t.gt(r.arrowMSI(a-1))?new r(t.getOperator(a-1)):r.ZERO;var l=e.add(o);return l.setOperator(l.getOperator(a)+1,a),l.normalize(),l}if(i>=r.maxOps+10)return new r({small:!1,sign:1,layer:0,array:[N(10,0),N(1,a)]});var c=o.toNumber(),f=Math.floor(c),h=n.sub(r.ONE);e=t.arrow(h)(c-f,u,i+1);for(var g=0,y=r.arrowMSI(a-1);0!==f&&e.lt(y)&&g<100;g++)f>0&&(e=t.arrow(h)(e,u,i+1),--f);return 100==g&&(f=0),e.setOperator(e.getOperator(a-1)+f,a-1),e.normalize(),e}();return i<r.maxOps+10&&r.arrowFuncMap.set("".concat(t.toString()," ").concat(n.toString()," ").concat(o.toString()," ").concat(i),c.clone()),c}:function(r){return _(t,n,r)}}},{key:"anyarrow_log",value:function(e){var t=this.clone(),n=new r(e),a=n.toNumber();if(n.gt(s))throw new Error("[PowiainaNum 0.2 error]Not implemented");return!n.isInt()||n.lt(0)?function(){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}:n.eq(0)?function(r){return t.div(r)}:n.eq(1)?function(r){return t.log(r)}:n.eq(2)?function(r){return t.slog(r)}:t.isInfiNaN()?function(){return t}:function(e){var n=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(a+1)))return t.gt(i)?t:r.ZERO.clone();if(t.max(i).gt(r.arrowMSI(a))&&t.gt(i))return t.setOperator(t.getOperator(a)-1,a),t.normalize(),t.sub(t.getOperator(a-1));if(t.lt(r.ZERO.clone())){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}var o=0,u=t.getOperator(a)-i.getOperator(a);if(u>3){var l=u-3;o+=l,t.setOperator(t.getOperator(a)-l,a)}for(var s=0;s<100;++s)if(t.lt(r.ZERO))t=t.arrow(a-1)(e),--o;else{if(t.lte(1))return new r(o+t.toNumber()-1);++o,t=t.anyarrow_log(a-1)(e,n+1)}if(t.gt(10))return new r(o);if(r.throwErrorOnResultNaN)throw new Error("NaN");return 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,n=new r(e),a=this.clone();if(n.lt(r.ZERO)||!n.isInt())return r.NaN.clone();if(n.eq(r.ONE))return this.clone();if(this.eq(r.ONE))return r.ONE.clone();if(!this.isInt()){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(this.eq(2))return new r(4);if(n.eq(0))return r.ONE.clone();if(a.gt("10{1,2}".concat(s))||n.gt(s)){a.gt("10{1,2}".concat(s))?((t=a.clone()).setOperator(t.getOperator(1,2)-1,1,2),t.normalize()):t=a.gt("10{".concat(s,"}10"))?new r(a.getOperator(1/0)):r.ZERO;var i=t.add(n);return i.setOperator(i.getOperator(1,2)+1,1,2),i.normalize(),i}var o,u=n.toNumber()-1;for(t=a.clone(),o=0;0!==u&&t.lt(s)&&o<100;++o)u>0&&(t=a.arrow(t)(a),--u);return 100==o&&(u=0),t.setOperator(t.getOperator(1/0)+u,1/0),t.normalize(),t}},{key:"expansionArrow",value:function(e){var t=new r(e),n=this.clone();if(t.lt(0)||!t.isInt()||t.isNaN()||this.isNaN())return function(){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()};if(t.eq(0))return function(r){return n.arrow(r)(n)};if(t.eq(1))return function(r){return n.expansion(r)};var a=t;return function(e){var t,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=new r(e);if(n.isNaN()||o.isNaN())return r.NaN.clone();if(o.lt(r.ZERO)){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(n.eq(r.ZERO)){if(o.eq(r.ONE))return r.ZERO.clone();if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(n.eq(r.ONE))return r.ONE.clone();if(o.eq(r.ZERO))return r.ONE.clone();if(o.eq(r.ONE))return n.clone();if(a.gt(r.MSI))return(t=a.clone()).setOperator(t.getOperator(1/0,2)+1,1/0,2),t;var u=a.toNumber();if(o.eq(2))return n.expansionArrow(u-1)(n,i+1);if(n.max(o).gt("10{".concat(u+1,",2}").concat(s)))return n.max(o);if(n.gt("10{".concat(u,",2}").concat(s))||o.gt(s)){n.gt("10{".concat(u,",2}").concat(s))?((t=n.clone()).setOperator(t.getOperator(u,2)-1,u,2),t.normalize()):t=n.gt("10{".concat(u-1,",2}").concat(s))?new r(n.getOperator(u-1,2)):r.ZERO;var l=t.add(o);return l.setOperator(l.getOperator(u,2)+1,u,2),l.normalize(),l}if(i>=r.maxOps+10)return new r({small:!1,sign:1,layer:0,array:[N(10,0),N(1,u,2)]});var c=o.toNumber(),f=Math.floor(c),h=a.sub(r.ONE);t=n.expansionArrow(h)(c-f,i+1);for(var g=0,y=new r("10{".concat(u-1,",2}").concat(s));0!==f&&t.lt(y)&&g<100;g++)f>0&&(t=n.expansionArrow(h)(t,i+1),--f);return 100==g&&(f=0),t.setOperator(t.getOperator(u-1,2)+f,u-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),n=0;n<e;n++)t[n]=arguments[n];return r.max.apply(r,[this].concat(t))}},{key:"clampMax",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];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),n=0;n<e;n++)t[n]=arguments[n];return r.max.apply(r,[this].concat(t))}},{key:"min",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];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 n=-1==this.sign&&-1==t.sign;if(this.small&&!t.small)return-1*(n?-1:1);if(t.small&&!this.small)return 1*(n?-1:1);var a=1;this.small&&t.small&&(a*=-1),n&&(a*=-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&&l.repeat===1/0)return this.small===t.small?0:t.small?1:-1;if(u.repeat===1/0){i=1;break}if(l.repeat===1/0){i=-1;break}var s=p([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*a+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,n=new r(e);return this.sub(n).lte(this.max(n).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(s/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,n=0;n<this.array.length;n++){var a=p([this.array[n].megota,this.array[n].expans,this.array[n].arrow],[t,e,r]);if(0==a)return n;if(1==a)return n-.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,n=this.getOperatorIndex(r,e,t);return this.array[n]?this.array[n].repeat:0}},{key:"setOperator",value:function(r,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,a=this.getOperatorIndex(e,t,n);return this.array[a]?(this.array[a].repeat=r,!1):(this.array.splice(Math.ceil(a),0,{arrow:e,expans:t,megota:n,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],n="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):"","}");n=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(n,")^").concat(t.repeat," "):"".concat(n),r+="".concat(n)}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=[N(NaN,0,1,1)]),void 0===this.sign&&(this.sign=0),void 0===this.layer&&(this.layer=0);for(var n=0;n<this.array.length;n++)if(this.array[n].repeat==1/0)return this.array=[{arrow:0,expans:1,megota:1,repeat:1/0}],this.layer=0,this;for(var a=1;a<t.array.length;++a){var i=t.array[a];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=[N(NaN,0,1,1)],t;if(!isFinite(i.repeat)||!isFinite(i.megota))return t.array=[N(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=[N(1/0)]);do{e=!1,this.array.sort(q);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 u=1;u<t.array.length;++u)0===t.array[u].arrow||0!==t.array[u].repeat&&null!==t.array[u].repeat&&void 0!==t.array[u].repeat?0==t.array[u].arrow&&t.array[u].expans>=2&&(t.array[u].arrow=1/0,t.array[u].valuereplaced=0,t.array[u].expans=t.array[u].expans-1):(t.array.splice(u,1),--u);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<c&&(this.setOperator(this.array[1].repeat-1,1),this.setOperator(Math.pow(10,this.array[0].repeat),0),e=!0),this.getOperator(0)>s&&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>s?(this.layer++,this.array=[N(this.array[this.array.length-1].megota)],e=!0):this.layer&&1==this.array.length&&0===this.array[0].arrow&&(this.layer--,this.array=[N(10),N(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&&!isFinite(this.array[1].arrow)&&(this.array[1].repeat>1?(this.array.push(N(this.array[1].repeat-1,1/0,this.array[1].expans,this.array[1].megota)),this.array[1].repeat=1,this.array[1].arrow=this.array[0].repeat,this.array[0].repeat=10):(this.array[1].arrow=this.array[0].repeat,this.array[0].repeat=10)),this.array.length>=2&&this.array[1].arrow>=s&&isFinite(this.array[1].arrow)&&(this.array[0].repeat=this.array[1].arrow,this.array[1]=N(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<s&&t.array[1].arrow>=2&&t.array[1].repeat>1&&isFinite(t.array[1].arrow)&&(t.array[1].repeat--,t.array.splice(1,0,N(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>s&&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>s&&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,n,a){return this.affordGeometricSeries_core(new r(e),new r(t),new r(n),a)}},{key:"affordGeometricSeries_core",value:function(r,e,t,n){var a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=e.mul(t.pow(n));return r.div(i).mul(t.sub(1)).add(1).clampMin(a?1:-1/0).log10().div(t.log10()).floor()}},{key:"sumGeometricSeries",value:function(e,t,n,a){return this.sumGeometricSeries_core(e,new r(t),new r(n),a)}},{key:"sumGeometricSeries_core",value:function(e,t,n,a){return t.mul(n.pow(a)).mul(r.sub(1,n.pow(e))).div(r.sub(1,n))}},{key:"affordArithmeticSeries",value:function(e,t,n,a){return this.affordArithmeticSeries_core(new r(e),new r(t),new r(n),new r(a))}},{key:"affordArithmeticSeries_core",value:function(r,e,t,n){var a=e.add(n.mul(t)).sub(t.div(2)),i=a.pow(2);return a.neg().add(i.add(t.mul(r).mul(2)).sqrt()).div(t).floor()}},{key:"sumArithmeticSeries",value:function(e,t,n,a){return this.sumArithmeticSeries_core(new r(e),new r(t),new r(n),new r(a))}},{key:"sumArithmeticSeries_core",value:function(r,e,t,n){var a=e.add(n.mul(t));return r.div(2).mul(a.mul(2).add(r.sub(1).mul(t)))}},{key:"tetrate",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return new r(e).tetrate(t,n)}},{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,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10;return new r(e).iteratedlog(t,n)}},{key:"arrow",value:function(e,t,n){return new r(e).arrow(t)(n)}},{key:"arrFrac",value:function(e,t){if(new r(t).lt(2))return r.pentate(e,t);var n=new r(e).clone(),a=new r(t).clone();return new r(n).arrow(a.floor().add(1))(n.div(2).pow(a.sub(a.floor())).mul(2))}},{key:"arrowMSI",value:function(e){return new r("10{".concat(e,"}").concat(s))}},{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,n){return new r(e).arrow(t.sub(2))(n)}}},{key:"pentate",value:function(e,t,n){return new r(e).arrow(3)(t,n)}},{key:"hexate",value:function(e,t,n){return new r(e).arrow(4)(t,n)}},{key:"pent",value:function(e,t,n){return new r(e).arrow(3)(t,n)}},{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),n=0;n<e;n++)t[n]=arguments[n];function a(e){return void 0!==t[e]&&null!==t[e]?new r(t[e]):new r(1)}return a(0).eq(1)?new r(1):a(1).eq(1)?new r(a(0)):a(5).eq(2)&&(a(4).gte(2)||a(3).gte(2)||a(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(a(0),a(1),a(2),a(3),a(4),a(5))}},{key:"BEAF_core",value:function(e,t){var a=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,u=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1,l=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=[a,i,o,u][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)){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(new r(u).gte(3))return r.POSITIVE_INFINITY.clone();if(h(0).eq(0)&&h(1).eq(1)&&h(2).eq(1))return c.mul(f);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 g=h(0).toNumber(),y=h(1),p=h(2),m=h(3);if(m.eq(2)){if(1!=g)return r.POSITIVE_INFINITY.clone();if(y.neq(1))return r.POSITIVE_INFINITY.clone();if(p.neq(1))return r.POSITIVE_INFINITY.clone();if(f.gte(s))return r.POSITIVE_INFINITY.clone();var v=new r(10);return v.layer=f.toNumber(),v.normalize(),v}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(p.gt(s)){var b=new r(p);return b.layer++,b.normalize(),b}function d(r){return isFinite(r)?r.toString():"!"}function E(r,e,t){var a=n(w(r,e,t),3),i=a[0],o=a[1],u=a[2];return"10{".concat(d(i),",").concat(d(o),",").concat(u,"}").concat(s)}var O=c.clone(),I=new r(h(0)),k=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=r.beafFuncMap.get("".concat(O.toString()," ").concat(g.toString()," ").concat(y.toString()," ").concat(p.toString()," ").concat(m.toString()," ").concat(e.toString()," ").concat(t));if(n)return n.clone();var a,i=new r(e);if(O.isNaN()||i.isNaN())return r.NaN.clone();if(i.lt(r.ZERO))return r.NaN.clone();if(O.eq(r.ZERO)){if(i.eq(r.ONE))return r.ZERO.clone();if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(O.eq(r.ONE))return r.ONE.clone();if(i.eq(r.ZERO))return r.ONE.clone();if(i.eq(r.ONE))return O.clone();if(I.eq(0))return r.BEAF_core(O,O,f,y.sub(1),p,u,t+1);if(y.eq(0))return r.BEAF_core(O,O,O,f,p.sub(1),u,t+1);if(p.eq(0))return r.BEAF_core(O,O,O,O,y,new r(u).sub(1),t+1);if(p.gt(s))throw new Error("Not implemeneted");if(y.gt(s))return(a=new r(y)).setOperator(a.getOperator(1,1/0,p.toNumber())+1,1,1/0,p.toNumber()),a;if(I.gt(r.MSI))return(a=I.clone()).setOperator(a.getOperator(1/0,y.toNumber(),p.toNumber())+1,1/0,y.toNumber(),p.toNumber()),a;var o=I.toNumber();if(i.eq(2))return r.BEAF_core(O,O,o-1,y,p,u,t+1);if(O.max(i).gt(E(o+1,y.toNumber(),p.toNumber())))return O.max(i);if(O.gt(E(o+1,y.toNumber(),p.toNumber()))||i.gt(s)){O.gt(E(o,y.toNumber(),p.toNumber()))?((a=O.clone()).setOperator(a.getOperator(o,y.toNumber(),p.toNumber())-1,o,y.toNumber(),p.toNumber()),a.normalize()):a=O.gt(E(o-1,y.toNumber(),p.toNumber()))?new r(O.getOperator(o-1,y.toNumber(),p.toNumber())):r.ZERO;var l=a.add(i);return l.setOperator(l.getOperator(o,y.toNumber(),p.toNumber())+1,o,y.toNumber(),p.toNumber()),l.normalize(),l}if(t>=r.maxOps+10)return new r({small:!1,sign:1,layer:0,array:[N(10,0),N(1,o,y.toNumber(),p.toNumber())]});var c=i.toNumber(),h=Math.floor(c),v=I.sub(r.ONE);a=r.BEAF_core(O,c-h,v,y,p,m,t+1);for(var w=0,b=E(o-1,y.toNumber(),p.toNumber());0!==h&&a.lt(b)&&w<100;w++)h>0&&(a=r.BEAF_core(O,a,v,y,p,m,t+1),--h);return 100==w&&(h=0),a.setOperator(a.getOperator(o-1,y.toNumber(),p.toNumber())+h,o-1,y.toNumber(),p.toNumber()),a.normalize(),a}(f,l);return l<r.maxOps+10&&r.beafFuncMap.set("".concat(O.toString()," ").concat(g.toString()," ").concat(y.toString()," ").concat(p.toString()," ").concat(m.toString()," ").concat(f.toString()," ").concat(l),k.clone()),k}},{key:"abs",value:function(e){return new r(e).abs()}},{key:"max",value:function(){for(var e=r.NEGATIVE_INFINITY,t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];for(var i=0;i<n.length;i++)e.lt(n[i])&&(e=new r(n[i]).clone());return e}},{key:"min",value:function(){for(var e=r.POSITIVE_INFINITY,t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];for(var i=0;i<n.length;i++)e.gt(n[i])&&(e=new r(n[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:"fromBigInt",value:function(e){var t=new r(0),n=e<BigInt(0)?-e:e;return t.sign=e<BigInt(0)?-1:1,t.array=n<=s?[N(Number(n))]:[N(R(n)),N(1,1)],t.normalize(),t}},{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}),Number.isNaN(e))return t;if(e<0)t.sign=-1;else{if(0==e)return t.sign=0,t.small=!0,t.array=[N(1/0,0)],t;e>0&&(t.sign=1)}var n=Math.abs(e);return n==1/0?t.array=[N(1/0,0)]:n>=f&&n<1?(t.small=!0,t.array=[N(1/n,0)]):n<f?(t.small=!0,t.array=[N(-Math.log10(n),0),N(1,1)]):n<=s?t.array=[N(n,0)]:(t.setOperator(Math.log10(n),0),t.array=[N(Math.log10(n),0),N(1,1)]),t}},{key:"fromString",value:function(e){if(r.usingBreakEternityLikeFromString&&y.test(e)){var t=e.match(/(e+-)(\d+(.\d+)?)/);if(t){var n=t[1].length;e="/"+"e".repeat(n-1)+t[2]}}return this.fromString_core(e)}},{key:"fromString_core",value:function(e){var t,n,a,i,o,u,l,f=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 h=Number(e),y=!1;if(0==h?/^((0)|(0*\.0+e\d+)|(0*\.0*))$/.test(e)&&(y=!0):y=!0,!y){var p=e.search(/e/),v=e.substring((-1==p?e.length:p)+1),w=e.substring(0,-1==p?void 0:p),b=[0,0];if(b[1]=Number(v||"0"),Number(w)>=1){var d=w.length>=17?m(w):Math.log10(Number(w)),E=Math.floor(d),O=d-E;b[0]=Math.pow(10,O),b[1]+=E}else{var I=(l=w.match(/^0\.(0*)[1-9]/))?l[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(h)&&y)return f=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(f=r.fromObject(k.array)).layer=k.lValue,f.sign=k.sValue,f.small=!1,f.normalize(),f}if(e=function(r){for(var e="",t=!1,n=0;n<r.length;n++){var a=r[n];"{"===a?(t=!0,e+=a):"}"===a?(t=!1,e+=a):","===a?t&&(e+=a):e+=a}return e}(e=e.replace(/\(e\^(\d+)\)/g,"(10^)^$1 ").replace(/(\d+)[Pp][Tt]/g,"(10^)^$1 ")),!g.test(e))throw"[PowiainaNum 0.2 error]malformed input: "+e;var M=!1,x=!1;if("-"==e[0]||"+"==e[0]){var q=e.search(/[^-\+]/);M=(null!==(n=null===(t=e.substring(0,q).match(/-/g))||void 0===t?void 0:t.length)&&void 0!==n?n:0)%2==1,e=e.substring(q)}if("/"==e[0]){var S=e.search(/[^\/]/);x=(null!==(i=null===(a=e.substring(0,S).match(/\//g))||void 0===a?void 0:a.length)&&void 0!==i?i:0)%2==1,e=e.substring(S)}if("NaN"==e)f.array=[N(NaN)];else if("Infinity"==e)f.array=[N(1/0)];else{var _,R,T,F;for(f.sign=1,f.array=[N(0)],"P"==e[0]&&("^"==e[1]?(_=e.substring(2).search(/[^0-9]/)+2,f.layer=Number(e.substring(2,_)),e=e.substring(_+1)):(_=e.search(/[^P]/),f.layer=_,e=e.substring(_)));e&&/^(\(?10[\^\{])/.test(e);){var A=void 0,Z=void 0,P=void 0;if("("==e[0]&&(e=e.substring(1)),"^"==e[2])A=_=e.substring(2).search(/[^\^]/),R=_+2;else{_=e.indexOf("}");var B=e.substring(3,_).split(",");A=Number("!"==B[0]?1/0:B[0]),Z=Number(null!==(o="!"==B[1]?1/0:B[1])&&void 0!==o?o:1),P=Number(null!==(u=B[2])&&void 0!==u?u:1),R=_+1}")"==(e=e.substring(R))[0]?(_=e.indexOf(" "),T=Number(e.substring(2,_)),e=e.substring(_+1)):T=1,1==A&&1==Z&&1==P?f.array.length>=2&&1==f.array[1].arrow?f.array[1].repeat+=T:f.array.splice(1,0,N(T,1,Z,P)):2==A&&1==Z&&1==P?(_=f.array.length>=2&&1==f.array[1].arrow?f.array[1].repeat:0,(R=f.array[0].repeat)>=1e10&&++_,R>=10&&++_,f.array[0].repeat=_,f.array.length>=2&&1==f.array[1].arrow&&f.array.splice(1,1),F=f.getOperatorIndex(2),Number.isInteger(F)?f.array[F].repeat+=T:f.array.splice(Math.ceil(F),0,N(T,2,Z,P))):isFinite(A)?(_=f.getOperator(A-1),(R=f.getOperator(A-2))>=10&&++_,F=f.getOperatorIndex(A),f.array.splice(1,Math.ceil(F)-1),f.array[0].repeat=_,Number.isInteger(F)?f.array[1].repeat+=T:f.array.splice(1,0,N(T,A,Z,P))):f.array.splice(1,0,N(T,A,Z,P))}_=e.split(/[Ee]/),R=[f.array[0].repeat,0],T=1;for(var V=_.length-1;V>=0;--V){R[0]<c&&0===R[1]?R[0]=Math.pow(10,T*R[0]):-1==T?(0===R[1]?R[0]=Math.pow(10,T*R[0]):1==R[1]&&R[0]<=Math.log10(Number.MAX_VALUE)?R[0]=Math.pow(10,T*Math.pow(10,R[0])):R[0]=0,R[1]=0):R[1]++;var z=_[V].indexOf("."),Y=-1==z?_[V].length:z;0===R[1]?Y>=17?(R[0]=Math.log10(R[0])+m(_[V].substring(0,Y)),R[1]=1):_[V]&&(R[0]*=Number(_[V])):(F=Y>=17?m(_[V].substring(0,Y)):_[V]?Math.log10(Number(_[V])):0,1==R[1]?R[0]+=F:2==R[1]&&R[0]<c+Math.log10(F)&&(R[0]+=Math.log10(1+Math.pow(10,Math.log10(F)-R[0])))),R[0]<c&&R[1]?(R[0]=Math.pow(10,R[0]),R[1]--):R[0]>s&&(R[0]=Math.log10(R[0]),R[1]++)}f.array[0].repeat=R[0],R[1]&&(f.array.length>=2&&1==f.array[1].arrow&&1==f.array[1].expans&&1==f.array[1].megota?f.array[1].repeat+=R[1]:f.array.splice(1,0,N(R[1],1,1,1)))}return M&&(f.sign*=-1),x&&(f.small=!f.small),f.normalize(),f.normalize(),f}},{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(!b(t))return!1;if(!d(t))return!1}return!0}(e)){for(var n=0;n<e.length;n++)t.array[n]={arrow:e[n][0],expans:1,megota:1,repeat:e[n][1]};return t.small=!1,t.sign=1,t.layer=0,t}if(function(r){return null!==r&&"object"===o(r)&&("mag"in r&&"number"==typeof r.mag&&("layer"in r&&"number"==typeof r.layer&&("sign"in r&&"number"==typeof r.sign)))}(e)){var a=e,i=a.mag<0,u=new r(1);return a.layer>=s?u.array=[N(Math.log10(a.layer)),N(1,1),N(1,2)]:a.layer>=1?u.array=[N(Math.abs(a.mag)),N(a.layer,1)]:u.array=[N(a.mag)],u.small=i,u.normalize(),u}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(!O(t))return!1;if(!I(t)&&!k(t)&&!M(t))return!1}return!0}(e)){var l=e;t.array[0]=N(l[0]);for(var c=1;c<l.length;c++){var f=l[c];t.array[1]=N(f[1],E(f[0]),E(f[2]),f[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(s)?new r("(10{!})^".concat(t.toNumber()," 10^^^(10^)^7625597484984 3638334640023.7783")):r.BEAF(3,t,1,2)}}])}();l=Symbol.toStringTag,F.ZERO=new F({array:[{arrow:0,expans:1,megota:1,repeat:1/0}],small:!0,layer:0,sign:0}),F.ONE=new F({array:[{arrow:0,expans:1,megota:1,repeat:1}],small:!1,layer:0,sign:1}),F.MSI=new F(s),F.MSI_REC=((T=new F(s)).small=!0,T),F.E_MSI=new F({array:[{arrow:0,expans:1,megota:1,repeat:s},{arrow:1,expans:1,megota:1,repeat:1}],small:!1,layer:0,sign:1}),F.EE_MSI=new F({array:[{arrow:0,expans:1,megota:1,repeat:s},{arrow:1,expans:1,megota:1,repeat:2}],small:!1,layer:0,sign:1}),F.E_MSI_REC=new F({array:[{arrow:0,expans:1,megota:1,repeat:s},{arrow:1,expans:1,megota:1,repeat:1}],small:!0,layer:0,sign:1}),F.TETRATED_MSI=new F({array:[{arrow:0,expans:1,megota:1,repeat:1e10},{arrow:1,expans:1,megota:1,repeat:s-2}],small:!1,layer:0,sign:1}),F.PENTATED_MSI=new F({array:[{arrow:0,expans:1,megota:1,repeat:10},{arrow:2,expans:1,megota:1,repeat:s-1}],small:!1,layer:0,sign:1}),F.TRITRI=new F({small:!1,layer:0,sign:1,array:[N(3638334640023.7783,0,1,1),N(7625587484984,1,1,1)]}),F.GRAHAMS_NUMBER=new F("(10{!})^63 10^^^(10^)^7625597484984 3638334640023.7783"),F.POSITIVE_INFINITY=new F(1/0),F.NEGATIVE_INFINITY=new F(-1/0),F.NaN=new F({array:[{arrow:0,expans:1,megota:1,repeat:NaN}],small:!1,layer:0,sign:0}),F.E=new F(Math.E),F.LN2=new F(Math.LN2),F.LN10=new F(Math.LN10),F.LOG2E=new F(Math.LOG2E),F.LOG10E=new F(Math.LOG10E),F.PI=new F(Math.PI),F.SQRT1_2=new F(Math.SQRT1_2),F.SQRT2=new F(Math.SQRT2),F.maxOps=100,F.POW_2_44_MOD_PI=1.701173079953,F.arrowFuncMap=new Map,F.beafFuncMap=new Map,F.usingBreakEternityLikeFromString=!0,F.blankArgumentConstructorReturnZero=!1,F.throwErrorOnResultNaN=!1,r.arraySortFunction=q,r.default=F,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,o(a.key),a)}}function a(r,e){return function(r){if(Array.isArray(r))return r}(r)||function(r,e){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var a,n,o,i,u=[],l=!0,s=!1;try{if(o=(t=t.call(r)).next,0===e){if(Object(t)!==t)return;l=!1}else for(;!(l=(a=o.call(t)).done)&&(u.push(a.value),u.length!==e);l=!0);}catch(r){s=!0,n=r}finally{try{if(!l&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(s)throw n}}return u}}(r,e)||u(r,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(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)||u(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 o(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)}function u(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}}var l,s=9007199254740991,c=15.954589770191003,f=11102230246251568e-32,h=1.444667861009766,g=/^(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+))$/,y=/^((\d+(\.\d*)?|\d*\.\d+)?([EeFf]([-\+]?)))*(0|\d+(\.\d*)?|\d*\.\d+)$/;function p(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 N(){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],o=e[1][a];if(n<o)return-1;if(n>o)return 1}return 0}function v(r){return Math.log10(Number(r.substring(0,17)))+(r.length-17)}var m=.5671432904097838;function w(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],o=a,i=n;if(!Number.isFinite(r))return r;if(i){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)<o*Math.abs(t))return t;e=t}throw Error("Iteration failed to converge: ".concat(r.toString()))}function b(r){return 2==r.length}function d(r){return"number"==typeof r[0]&&"number"==typeof r[1]}function O(r){return"x"===r?1/0:r}function E(r){return 4==r.length}function I(r){return"number"==typeof r[0]&&"number"==typeof r[1]&&"number"==typeof r[2]&&"number"==typeof r[3]}function k(r){return"x"===r[0]&&"number"==typeof r[1]&&"number"==typeof r[2]&&"number"==typeof r[3]}function M(r){return"number"==typeof r[0]&&"number"==typeof r[1]&&"x"==r[2]&&"number"==typeof r[3]}function x(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 A(r)).isFinite())return r;if(a){if(r.eq(A.ZERO))return r;if(r.eq(A.ONE))return new A(m);e=A.log(r)}else{if(r.eq(A.ZERO))return A.NEGATIVE_INFINITY.clone();e=A.log(r.neg())}for(var n=0;n<100;++n){var o=e.neg().exp(),i=e.sub(r.mul(o)),u=e.add(A.ONE).sub(e.add(2).mul(i).div(A.mul(2,e).add(2)));if(u.eq(A.ZERO))return e;var l=e.sub(i.div(u));if(A.abs(l.sub(e)).lt(A.abs(l).mul(t)))return l;e=l}throw Error("Iteration failed to converge: "+r)}function S(r,e){return N([r.megota,r.expans,r.arrow],[e.megota,e.expans,e.arrow])}function q(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)}function _(r,e,t){var a=new A(r),n=new A(e),o=new A(t),i=function(r,e,t){return new A(r).pow(new A(t).sub(e).add(1)).mul(new A(2).pow(new A(e).sub(t)))}(a,n,new A(o).omegalog(a.toNumber()));if(o.gt(a)){var u=_(a,n.add(1),o).sub(2),l=_(a,n,a),s=a.clone();return R(a,n,u.pow_base(s.div(l)).mul(l))}return i}function R(r,e,t){var a=new A(r),n=new A(e),o=new A(t);if(n.isInt())return A.arrow(a,n,o);if(o.gt(a)){var i=_(a,n,o),u=_(a,n,a),l=a.clone(),s=i.div(u).logBase(l.div(u));return R(a,n.add(1),A.add(2,s))}return A.arrFrac(a,function(r,e,t){var a=new A(2).logBase(r);return new A(e).sub(1).add(new A(t).logBase(r).sub(a).div(new A(1).sub(a)))}(a,n,o))}function T(r){for(var e=BigInt(64);r>=BigInt(1)<<e;)e*=BigInt(2);for(var t=e/BigInt(2);t>BigInt(0);)r>=BigInt(1)<<e?e+=t:e-=t,t/=BigInt(2);var a=e-BigInt(54),n=r>>a;return Math.log10(Number(n))+Math.LOG10E/Math.LOG2E*Number(a)}var F,A=function(){function r(e){!function(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r),this[l]="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 if("bigint"==typeof e){var o=r.fromBigInt(e);this.resetFromObject(o)}else;}catch(e){if(console.error("Malformed input"),console.error(e),r.throwErrorOnResultNaN&&r.isNaN(this))throw new Error("NaN")}}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,o,i,u,l=this.clone().normalize(),h=new r(e);if(l.eq(r.POSITIVE_INFINITY)&&h.eq(r.NEGATIVE_INFINITY)||l.eq(r.NEGATIVE_INFINITY)&&h.eq(r.POSITIVE_INFINITY)){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(!l.isFinite())return l.clone();if(!h.isFinite())return h.clone();if(l.isZero())return h.clone();if(h.isZero())return l.clone();if(l.sign==-h.sign&&function(){var r=l.abs(),e=h.abs();return r.eq(e)}())return r.ZERO.clone();if(l.abs().lt(s)&&h.abs().lt(s)&&l.abs().gte(f)&&h.abs().gte(f))return r.fromNumber(l.toNumber()+h.toNumber());if(l.abs().lt(r.E_MSI_REC)||l.abs().gt(r.E_MSI)||h.abs().lt(r.E_MSI_REC)||h.abs().gt(r.E_MSI)){var g=l.maxabs(h);return l.abs().eq(g)?l:(h.abs().eq(g),h)}if(-1==l.sign)return l.neg().add(h.neg()).neg();l.cmpabs(h)>0?(i=l,u=h):(u=l,i=h);var y=i.toNumber()+u.toNumber();if(isFinite(y)&&0!==y)return r.fromNumber(y);var N=1;if(!(i.small||u.small||(null===(t=i.array[1])||void 0===t?void 0:t.repeat)||(null===(a=u.array[1])||void 0===a?void 0:a.repeat)||i.sign!=u.sign))return new r((i.array[0].repeat+u.array[0].repeat)*i.sign);var v=(i.small?-1:1)*((null===(n=i.array[1])||void 0===n?void 0:n.repeat)?i.array[0].repeat:Math.log10(i.array[0].repeat)),m=(u.small?-1:1)*((null===(o=u.array[1])||void 0===o?void 0:o.repeat)?u.array[0].repeat:Math.log10(u.array[0].repeat));if(v-m>c)return i;var w=-Math.floor(v),b=0,d=i.sign*Math.pow(10,v+w)+u.sign*Math.pow(10,m+w);if(d>0&&(b=Math.log10(d)-w),d<0&&(b=Math.log10(-d)-w,N*=-1),0==d)return r.ZERO.clone();var O=r.NaN.clone();return O.sign=1,O.array=b>c||b<-c?[p(b,0),p(1,1)]:[p(Math.pow(10,Math.abs(b)),0)],O.small=b<0,O.sign*=N,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()){if(r.throwErrorOnResultNaN)throw new Error("NaN");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,o=t.toNumber()*a.toNumber();return isFinite(o)&&0!==o?r.fromNumber(o):((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.lt(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()){if(t.small&&t.rec().div(2).eq(1))return this.neg().pow(t).neg();if(r.throwErrorOnResultNaN)throw new Error("NaN");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(),o=t.toNumber(),i=Math.pow(n,o);if(isFinite(i)&&0!==i)return r.fromNumber(i);if(this.isZero()&&t.isZero())return r.ONE.clone();if(this.isZero())return r.ZERO.clone();if(t.isZero())return r.ONE.clone();if(this.gt(0))return this.log10().mul(t).pow10();if(t.rec().mod(2).eq(1))return this.neg().log10().mul(t).pow10().neg();if(r.throwErrorOnResultNaN)throw new Error("NaN");return 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()){if(r.throwErrorOnResultNaN)throw new Error("NaN");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(s)?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(s)){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,o=12*n,i=1/o,u=(t-=e)+i;if(u===t)return r.exp(t);if((u=(t=u)-(i=1/(o=360*(n*=a))))===t)return r.exp(t);t=u;var l=1/(o=1260*(n*=a));return t+=l,t-=l=1/(o=1680*(n*=a)),r.exp(t)}return this.gt(s)?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;if(this.lt(-.3678794411710499)){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(t)return this.abs().lt("1e-300")?new r(this):this.small?r.fromNumber(w(this.toNumber())):this.lt(s)?r.fromNumber(w(this.sign*this.getOperator(0))):this.lt("eee15")?x(this):this.log();if(-1===this.sign){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}return this.lt(9e15)?r.fromNumber(w(this.sign*this.array[0].repeat,1e-10,!1)):this.lt(r.E_MSI)?x(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(),o=new r(e),i=new r(a);if(n.isNaN()||o.isNaN()||i.isNaN()){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(n.eq(1))return r.ONE.clone();if(i.neq(r.ONE)&&n.gte(h)&&(o=o.add(i.slog(n))),o.isInfi()&&o.sign>0)return n.gte(h)?r.POSITIVE_INFINITY.clone():(t=this.log().neg()).lambertw().div(t);if(o.lte(-2)){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(n.isZero()){if(o.isZero()){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}return o.gte(s/2)||o.toNumber()%2==0?r.ZERO.clone():r.ONE.clone()}if(n.eq(r.ONE)){if(o.eq(r.ONE.neg())){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}return r.ONE.clone()}if(o.eq(r.ONE.neg()))return r.ZERO.clone();if(o.eq(r.ZERO))return r.ONE.clone();if(o.eq(r.ONE))return n;if(o.eq(2))return n.pow(n);if(n.eq(2)){if(o.eq(3))return r.fromNumber(16);if(o.eq(4))return r.fromNumber(65536)}var u=n.max(o);if(u.gt(r.PENTATED_MSI))return u;if(u.gt(r.TETRATED_MSI)||o.gt(s)){if(this.lt(h))return(t=n.ln().neg()).lambertw().div(t);var l=n.slog(10).add(o);return l.setOperator(l.getOperator(2)+1,2),l.normalize(),l}for(var c=o.toNumber(),f=Math.floor(c),g=n.pow(c-f),y=r.NaN,p=0,N=r.E_MSI.clone();0!==f&&g.lt(N)&&p<100;++p)if(f>0){if(g=n.pow(g),y.eq(g)){f=0;break}y=g,--f}else{if(g=g.log(n),y.eq(g)){f=0;break}y=g,++f}return(100==p||this.lt(h))&&(f=0),g.setOperator(g.getOperator(1)+f,1),g.normalize(),g}},{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(h)){var n=a.tetrate(1/0);if(t.eq(n))return r.POSITIVE_INFINITY.clone();if(t.gt(n)){if(r.throwErrorOnResultNaN)throw new Error("NaN");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 o=0,i=t.getOperator(1)-a.getOperator(1);if(i>3){var u=i-3;o+=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),--o;else{if(t.lte(1))return new r(o+t.toNumber()-1);++o,t=r.log(t,e)}if(t.gt(10))return new r(o);if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}},{key:"ssqrt",value:function(){var e=this.clone();if(e.lt(1/h)){if(r.throwErrorOnResultNaN)throw new Error("NaN");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),o=new r(e);return o.isZero()?a:o.eq(r.ONE)?a.log(n):n.tetrate(a.slog(n).sub(o))}},{key:"omegalog",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,t=this,a=t.clone();if(a.isInfiNaN())return a;if(a.gte("10{1,2}e15.954589770191003"))return a;if(new r(e).clone(),a.getOperator(1/0)>=1)return a.setOperator(a.getOperator(1/0)-1,1/0,1,1),a;for(var n=[],o=0;o<t.array.length;o++)n[o]={arrow:t.array[o].arrow,expans:t.array[o].expans,megota:t.array[o].megota,repeat:t.array[o].repeat,valuereplaced:t.array[o].valuereplaced};var i=r.omegacollect(n);return i[1].arrow-1+Math.log(i[0].repeat/2)/Math.log(5)}},{key:"arrow",value:function(e){var t=this.clone(),a=new r(e);return a.lt(r.ZERO)?(console.warn("The arrow is <0 or not a integer, the returned function will return NaN."),function(){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}):a.isInt()?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,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=new r(e),u=new r(n),l=r.arrowFuncMap.get("".concat(t.toString()," ").concat(a.toString()," ").concat(i.toString()," ").concat(o));if(l)return l.clone();var c=function(){var e;if(t.isNaN()||i.isNaN()||u.isNaN())return r.NaN.clone();if(i.lt(r.ZERO))return r.NaN.clone();if(t.eq(r.ZERO)){if(i.eq(r.ONE))return r.ZERO.clone();if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(u.neq(r.ONE)&&(i=i.add(u.anyarrow_log(a)(t))),t.eq(r.ONE))return r.ONE.clone();if(i.eq(r.ZERO))return r.ONE.clone();if(i.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(i.eq(2))return t.arrow(n-1)(t,u,o+1);if(t.max(i).gt(r.arrowMSI(n+1)))return t.max(i);if(t.gt(r.arrowMSI(n))||i.gt(s)){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 l=e.add(i);return l.setOperator(l.getOperator(n)+1,n),l.normalize(),l}if(o>=r.maxOps+10)return new r({small:!1,sign:1,layer:0,array:[p(10,0),p(1,n)]});var c=i.toNumber(),f=Math.floor(c),h=a.sub(r.ONE);e=t.arrow(h)(c-f,u,o+1);for(var g=0,y=r.arrowMSI(n-1);0!==f&&e.lt(y)&&g<100;g++)f>0&&(e=t.arrow(h)(e,u,o+1),--f);return 100==g&&(f=0),e.setOperator(e.getOperator(n-1)+f,n-1),e.normalize(),e}();return o<r.maxOps+10&&r.arrowFuncMap.set("".concat(t.toString()," ").concat(a.toString()," ").concat(i.toString()," ").concat(o),c.clone()),c}:function(r){return R(t,a,r)}}},{key:"anyarrow_log",value:function(e){var t=this.clone(),a=new r(e),n=a.toNumber();if(a.gt(s))throw new Error("[PowiainaNum 0.2 error]Not implemented");return!a.isInt()||a.lt(0)?function(){if(r.throwErrorOnResultNaN)throw new Error("NaN");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,o=new r(e);if(o.isNaN())return o;if(o.isInfi())return r.ZERO.clone();if(t.isZero())return r.ONE.clone();if(t.eq(r.ONE))return r.ZERO.clone();if(t.eq(o))return r.ONE.clone();if(t.max(o).gt(r.arrowMSI(n+1)))return t.gt(o)?t:r.ZERO.clone();if(t.max(o).gt(r.arrowMSI(n))&&t.gt(o))return t.setOperator(t.getOperator(n)-1,n),t.normalize(),t.sub(t.getOperator(n-1));if(t.lt(r.ZERO.clone())){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}var i=0,u=t.getOperator(n)-o.getOperator(n);if(u>3){var l=u-3;i+=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),--i;else{if(t.lte(1))return new r(i+t.toNumber()-1);++i,t=t.anyarrow_log(n-1)(e,a+1)}if(t.gt(10))return new r(i);if(r.throwErrorOnResultNaN)throw new Error("NaN");return 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()){if(r.throwErrorOnResultNaN)throw new Error("NaN");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(s))||a.gt(s)){n.gt("10{1,2}".concat(s))?((t=n.clone()).setOperator(t.getOperator(1,2)-1,1,2),t.normalize()):t=n.gt("10{".concat(s,"}10"))?new r(n.getOperator(1/0)):r.ZERO;var o=t.add(a);return o.setOperator(o.getOperator(1,2)+1,1,2),o.normalize(),o}var i,u=a.toNumber()-1;for(t=n.clone(),i=0;0!==u&&t.lt(s)&&i<100;++i)u>0&&(t=n.arrow(t)(n),--u);return 100==i&&(u=0),t.setOperator(t.getOperator(1/0)+u,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(){if(r.throwErrorOnResultNaN)throw new Error("NaN");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,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=new r(e);if(a.isNaN()||i.isNaN())return r.NaN.clone();if(i.lt(r.ZERO)){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(a.eq(r.ZERO)){if(i.eq(r.ONE))return r.ZERO.clone();if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(a.eq(r.ONE))return r.ONE.clone();if(i.eq(r.ZERO))return r.ONE.clone();if(i.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 u=n.toNumber();if(i.eq(2))return a.expansionArrow(u-1)(a,o+1);if(a.max(i).gt("10{".concat(u+1,",2}").concat(s)))return a.max(i);if(a.gt("10{".concat(u,",2}").concat(s))||i.gt(s)){a.gt("10{".concat(u,",2}").concat(s))?((t=a.clone()).setOperator(t.getOperator(u,2)-1,u,2),t.normalize()):t=a.gt("10{".concat(u-1,",2}").concat(s))?new r(a.getOperator(u-1,2)):r.ZERO;var l=t.add(i);return l.setOperator(l.getOperator(u,2)+1,u,2),l.normalize(),l}if(o>=r.maxOps+10)return new r({small:!1,sign:1,layer:0,array:[p(10,0),p(1,u,2)]});var c=i.toNumber(),f=Math.floor(c),h=n.sub(r.ONE);t=a.expansionArrow(h)(c-f,o+1);for(var g=0,y=new r("10{".concat(u-1,",2}").concat(s));0!==f&&t.lt(y)&&g<100;g++)f>0&&(t=a.expansionArrow(h)(t,o+1),--f);return 100==g&&(f=0),t.setOperator(t.getOperator(u-1,2)+f,u-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),a=0;a<e;a++)t[a]=arguments[a];var o=t.map((function(e){return new r(e).abs()}));return r.max.apply(r,[this.abs()].concat(n(o)))}},{key:"minabs",value:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];var o=t.map((function(e){return new r(e).abs()}));return r.min.apply(r,[this.abs()].concat(n(o)))}},{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 o=0,i=0;this.array.length-1-i>=0&&t.array.length-1-i>=0;i++){var u=this.array[this.array.length-1-i],l=t.array[t.array.length-1-i];if(u.repeat===1/0&&l.repeat===1/0)return this.small===t.small?0:t.small?1:-1;if(u.repeat===1/0){o=1;break}if(l.repeat===1/0){o=-1;break}var s=N([u.megota,u.expans,u.arrow,u.repeat],[l.megota,l.expans,l.arrow,l.repeat]);if(1==s){o=1;break}if(-1==s){o=-1;break}}return o*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(s/2))}},{key:"ispos",value:function(){return this.sign>0}},{key:"isneg",value:function(){return this.sign<0}},{key:"getOperatorIndex",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]:1;return r.opGetOperatorIndex(this.array,e,t,a)}},{key:"getOperator",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]:1;return r.opGetOperator(this.array,e,t,a)}},{key:"setOperator",value:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return r.opSetOperator(this.array,e,t,a,n)}},{key:"toNumber",value:function(){return-1==this.sign?-this.neg().toNumber():this.small?1/this.rec().toNumber():this.gte("e308.25471555991675")?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=[p(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 o=t.array[n];if(null!==o.arrow&&void 0!==o.arrow||(o.arrow=0),null!==o.expans&&void 0!==o.expans||(o.expans=1),null!==o.megota&&void 0!==o.megota||(o.megota=1),isNaN(o.arrow)||isNaN(o.repeat)||isNaN(o.expans)||isNaN(o.megota))return t.array=[p(NaN,0,1,1)],t;if(!isFinite(o.repeat)||!isFinite(o.megota))return t.array=[p(1/0,0,1,1)],t;Number.isInteger(o.arrow)||(o.arrow=Math.floor(o.arrow)),Number.isInteger(o.repeat)||(o.repeat=Math.floor(o.repeat)),Number.isInteger(o.expans)||(o.expans=Math.floor(o.expans)),Number.isInteger(o.megota)||(o.megota=Math.floor(o.megota))}t.array.length||(t.small=!t.small,t.array=[p(1/0)]);do{e=!1,this.array.sort(S);for(var i=1;i<t.array.length-1;++i)t.array[i].arrow==t.array[i+1].arrow&&t.array[i].expans==t.array[i+1].expans&&t.array[i].megota==t.array[i+1].megota&&(t.array[i].repeat+=t.array[i+1].repeat,t.array.splice(i+1,1),--i,e=!0);for(var u=1;u<t.array.length;++u)0===t.array[u].arrow||0!==t.array[u].repeat&&null!==t.array[u].repeat&&void 0!==t.array[u].repeat?0==t.array[u].arrow&&t.array[u].expans>=2&&(t.array[u].arrow=1/0,t.array[u].valuereplaced=0,t.array[u].expans=t.array[u].expans-1):(t.array.splice(u,1),--u);if(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<c&&(this.setOperator(this.array[1].repeat-1,1),this.setOperator(Math.pow(10,this.array[0].repeat),0),e=!0),this.getOperator(0)>s&&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>s?(this.layer++,this.array=[p(this.array[this.array.length-1].megota)],e=!0):this.layer&&1==this.array.length&&0===this.array[0].arrow&&(this.layer--,this.array=[p(10),p(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&&!isFinite(this.array[1].arrow)&&(this.array[1].repeat>1?(this.array.push(p(this.array[1].repeat-1,1/0,this.array[1].expans,this.array[1].megota)),this.array[1].repeat=1,this.array[1].arrow=this.array[0].repeat,this.array[0].repeat=10):(this.array[1].arrow=this.array[0].repeat,this.array[0].repeat=10)),this.array.length>=2&&this.array[1].arrow>=s&&isFinite(this.array[1].arrow)&&(this.array[0].repeat=this.array[1].arrow,this.array[1]=p(1,1/0,this.array[1].expans,this.array[1].megota)),this.array.length>=2&&this.array[1].arrow>=2&&this.array[0].repeat<s&&isFinite(this.array[1].arrow)){var l=this.array[0].repeat,f=this.array[1].arrow,h=this.array[1].repeat;this.array[0].repeat=10,this.array.splice(2,0,p(h-1,f,this.array[1].expans,this.array[1].megota)),this.array[1]=p(l-1,f-1,this.array[1].expans,this.array[1].megota)}for(;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<s&&t.array[1].arrow>=2&&t.array[1].repeat>1&&isFinite(t.array[1].arrow)&&(t.array[1].repeat--,t.array.splice(1,0,p(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>s&&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>s&&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],o=e.mul(t.pow(a));return r.div(o).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)),o=n.pow(2);return n.neg().add(o.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:"oBase",value:function(r){return r[0].repeat}},{key:"omegacollect",value:function(e){for(var t=1e3;t--;){var a=r.oBase(e);if(a>=10)e[0].repeat=Math.log10(a),r.opSetOperator(e,r.opGetOperator(e,1,1,1)+1,1,1,1);else{if(e.length<=2&&1==e[1].repeat)return e;e[1].repeat>=2||1!==a?(e[1].arrow++,e[0].repeat=e[1].repeat+Math.log10(a),e[1].repeat=1):e[1].arrow=e[2].arrow,q({array:e})}}return e}},{key:"arrow",value:function(e,t,a){return new r(e).arrow(t)(a)}},{key:"arrFrac",value:function(e,t){if(new r(t).lt(2))return r.pentate(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(s))}},{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,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,u=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1,l=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,o,i,u][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)){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(new r(u).gte(3))return r.POSITIVE_INFINITY.clone();if(h(0).eq(0)&&h(1).eq(1)&&h(2).eq(1))return c.mul(f);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 g=h(0).toNumber(),y=h(1),N=h(2),v=h(3);if(v.eq(2)){if(1!=g)return r.POSITIVE_INFINITY.clone();if(y.neq(1))return r.POSITIVE_INFINITY.clone();if(N.neq(1))return r.POSITIVE_INFINITY.clone();if(f.gte(s))return r.POSITIVE_INFINITY.clone();var m=new r(10);return m.layer=f.toNumber(),m.normalize(),m}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(N.gt(s)){var b=new r(N);return b.layer++,b.normalize(),b}function d(r){return isFinite(r)?r.toString():"!"}function O(r,e,t){var n=a(w(r,e,t),3),o=n[0],i=n[1],u=n[2];return"10{".concat(d(o),",").concat(d(i),",").concat(u,"}").concat(s)}var E=c.clone(),I=new r(h(0)),k=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=r.beafFuncMap.get("".concat(E.toString()," ").concat(g.toString()," ").concat(y.toString()," ").concat(N.toString()," ").concat(v.toString()," ").concat(e.toString()," ").concat(t));if(a)return a.clone();var n,o=new r(e);if(E.isNaN()||o.isNaN())return r.NaN.clone();if(o.lt(r.ZERO))return r.NaN.clone();if(E.eq(r.ZERO)){if(o.eq(r.ONE))return r.ZERO.clone();if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(E.eq(r.ONE))return r.ONE.clone();if(o.eq(r.ZERO))return r.ONE.clone();if(o.eq(r.ONE))return E.clone();if(I.eq(0))return r.BEAF_core(E,E,f,y.sub(1),N,u,t+1);if(y.eq(0))return r.BEAF_core(E,E,E,f,N.sub(1),u,t+1);if(N.eq(0))return r.BEAF_core(E,E,E,E,y,new r(u).sub(1),t+1);if(N.gt(s))throw new Error("Not implemeneted");if(y.gt(s))return(n=new r(y)).setOperator(n.getOperator(1,1/0,N.toNumber())+1,1,1/0,N.toNumber()),n;if(I.gt(r.MSI))return(n=I.clone()).setOperator(n.getOperator(1/0,y.toNumber(),N.toNumber())+1,1/0,y.toNumber(),N.toNumber()),n;var i=I.toNumber();if(o.eq(2))return r.BEAF_core(E,E,i-1,y,N,u,t+1);if(E.max(o).gt(O(i+1,y.toNumber(),N.toNumber())))return E.max(o);if(E.gt(O(i+1,y.toNumber(),N.toNumber()))||o.gt(s)){E.gt(O(i,y.toNumber(),N.toNumber()))?((n=E.clone()).setOperator(n.getOperator(i,y.toNumber(),N.toNumber())-1,i,y.toNumber(),N.toNumber()),n.normalize()):n=E.gt(O(i-1,y.toNumber(),N.toNumber()))?new r(E.getOperator(i-1,y.toNumber(),N.toNumber())):r.ZERO;var l=n.add(o);return l.setOperator(l.getOperator(i,y.toNumber(),N.toNumber())+1,i,y.toNumber(),N.toNumber()),l.normalize(),l}if(t>=r.maxOps+10)return new r({small:!1,sign:1,layer:0,array:[p(10,0),p(1,i,y.toNumber(),N.toNumber())]});var c=o.toNumber(),h=Math.floor(c),m=I.sub(r.ONE);n=r.BEAF_core(E,c-h,m,y,N,v,t+1);for(var w=0,b=O(i-1,y.toNumber(),N.toNumber());0!==h&&n.lt(b)&&w<100;w++)h>0&&(n=r.BEAF_core(E,n,m,y,N,v,t+1),--h);return 100==w&&(h=0),n.setOperator(n.getOperator(i-1,y.toNumber(),N.toNumber())+h,i-1,y.toNumber(),N.toNumber()),n.normalize(),n}(f,l);return l<r.maxOps+10&&r.beafFuncMap.set("".concat(E.toString()," ").concat(g.toString()," ").concat(y.toString()," ").concat(N.toString()," ").concat(v.toString()," ").concat(f.toString()," ").concat(l),k.clone()),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 o=0;o<a.length;o++)e.lt(a[o])&&(e=new r(a[o]).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 o=0;o<a.length;o++)e.gt(a[o])&&(e=new r(a[o]).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:"opGetOperatorIndex",value:function(r,e){for(var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,n=0;n<r.length;n++){var o=N([r[n].megota,r[n].expans,r[n].arrow],[a,t,e]);if(0==o)return n;if(1==o)return n-.5}return r.length-.5}},{key:"opGetOperator",value:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=r.opGetOperatorIndex(e,t,a,n);return e[o]?e[o].repeat:0}},{key:"opSetOperator",value:function(e,t,a){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,i=r.opGetOperatorIndex(e,a,n,o);return e[i]?(e[i].repeat=t,0==e[i].repeat&&(e.splice(i,1),!0)):(e.splice(Math.ceil(i),0,{arrow:a,expans:n,megota:o,valuereplaced:n===1/0?1:a==1/0?0:-1,repeat:t}),!0)}},{key:"fromBigInt",value:function(e){var t=new r(0),a=e<BigInt(0)?-e:e;return t.sign=e<BigInt(0)?-1:1,t.array=a<=s?[p(Number(a))]:[p(T(a)),p(1,1)],t.normalize(),t}},{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}),Number.isNaN(e))return t;if(e<0)t.sign=-1;else{if(0==e)return t.sign=0,t.small=!0,t.array=[p(1/0,0)],t;e>0&&(t.sign=1)}var a=Math.abs(e);return a==1/0?t.array=[p(1/0,0)]:a>=f&&a<1?(t.small=!0,t.array=[p(1/a,0)]):a<f?(t.small=!0,t.array=[p(-Math.log10(a),0),p(1,1)]):a<=s?t.array=[p(a,0)]:(t.setOperator(Math.log10(a),0),t.array=[p(Math.log10(a),0),p(1,1)]),t}},{key:"fromString",value:function(e){if(r.usingBreakEternityLikeFromString&&y.test(e)){var t=e.match(/(e+-)(\d+(.\d+)?)/);if(t){var a=t[1].length;e="/"+"e".repeat(a-1)+t[2]}}return this.fromString_core(e)}},{key:"fromString_core",value:function(e){var t,a,n,o,i,u,l,f=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 h=Number(e),y=!1;if(0==h?/^((0)|(0*\.0+e\d+)|(0*\.0*))$/.test(e)&&(y=!0):y=!0,!y){var N=e.search(/e/),m=e.substring((-1==N?e.length:N)+1),w=e.substring(0,-1==N?void 0:N),b=[0,0];if(b[1]=Number(m||"0"),Number(w)>=1){var d=w.length>=17?v(w):Math.log10(Number(w)),O=Math.floor(d),E=d-O;b[0]=Math.pow(10,E),b[1]+=O}else{var I=(l=w.match(/^0\.(0*)[1-9]/))?l[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(h)&&y)return f=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(f=r.fromObject(k.array)).layer=k.lValue,f.sign=k.sValue,f.small=!1,f.normalize(),f}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 ")),!g.test(e))throw"[PowiainaNum 0.2 error]malformed input: "+e;var M=!1,x=!1;if("-"==e[0]||"+"==e[0]){var S=e.search(/[^-\+]/);M=(null!==(a=null===(t=e.substring(0,S).match(/-/g))||void 0===t?void 0:t.length)&&void 0!==a?a:0)%2==1,e=e.substring(S)}if("/"==e[0]){var q=e.search(/[^\/]/);x=(null!==(o=null===(n=e.substring(0,q).match(/\//g))||void 0===n?void 0:n.length)&&void 0!==o?o:0)%2==1,e=e.substring(q)}if("NaN"==e)f.array=[p(NaN)];else if("Infinity"==e)f.array=[p(1/0)];else{var _,R,T,F;for(f.sign=1,f.array=[p(0)],"P"==e[0]&&("^"==e[1]?(_=e.substring(2).search(/[^0-9]/)+2,f.layer=Number(e.substring(2,_)),e=e.substring(_+1)):(_=e.search(/[^P]/),f.layer=_,e=e.substring(_)));e&&/^(\(?10[\^\{])/.test(e);){var A=void 0,Z=void 0,P=void 0;if("("==e[0]&&(e=e.substring(1)),"^"==e[2])A=_=e.substring(2).search(/[^\^]/),R=_+2;else{_=e.indexOf("}");var B=e.substring(3,_).split(",");A=Number("!"==B[0]?1/0:B[0]),Z=Number(null!==(i="!"==B[1]?1/0:B[1])&&void 0!==i?i:1),P=Number(null!==(u=B[2])&&void 0!==u?u:1),R=_+1}")"==(e=e.substring(R))[0]?(_=e.indexOf(" "),T=Number(e.substring(2,_)),e=e.substring(_+1)):T=1,1==A&&1==Z&&1==P?f.array.length>=2&&1==f.array[1].arrow?f.array[1].repeat+=T:f.array.splice(1,0,p(T,1,Z,P)):2==A&&1==Z&&1==P?(_=f.array.length>=2&&1==f.array[1].arrow?f.array[1].repeat:0,(R=f.array[0].repeat)>=1e10&&++_,R>=10&&++_,f.array[0].repeat=_,f.array.length>=2&&1==f.array[1].arrow&&f.array.splice(1,1),F=f.getOperatorIndex(2),Number.isInteger(F)?f.array[F].repeat+=T:f.array.splice(Math.ceil(F),0,p(T,2,Z,P))):isFinite(A)?(_=f.getOperator(A-1),(R=f.getOperator(A-2))>=10&&++_,F=f.getOperatorIndex(A),f.array.splice(1,Math.ceil(F)-1),f.array[0].repeat=_,Number.isInteger(F)?f.array[1].repeat+=T:f.array.splice(1,0,p(T,A,Z,P))):f.array.splice(1,0,p(T,A,Z,P))}_=e.split(/[Ee]/),R=[f.array[0].repeat,0],T=1;for(var V=_.length-1;V>=0;--V){R[0]<c&&0===R[1]?R[0]=Math.pow(10,T*R[0]):-1==T?(0===R[1]?R[0]=Math.pow(10,T*R[0]):1==R[1]&&R[0]<=Math.log10(Number.MAX_VALUE)?R[0]=Math.pow(10,T*Math.pow(10,R[0])):R[0]=0,R[1]=0):R[1]++;var G=_[V].indexOf("."),z=-1==G?_[V].length:G;0===R[1]?z>=17?(R[0]=Math.log10(R[0])+v(_[V].substring(0,z)),R[1]=1):_[V]&&(R[0]*=Number(_[V])):(F=z>=17?v(_[V].substring(0,z)):_[V]?Math.log10(Number(_[V])):0,1==R[1]?R[0]+=F:2==R[1]&&R[0]<c+Math.log10(F)&&(R[0]+=Math.log10(1+Math.pow(10,Math.log10(F)-R[0])))),R[0]<c&&R[1]?(R[0]=Math.pow(10,R[0]),R[1]--):R[0]>s&&(R[0]=Math.log10(R[0]),R[1]++)}f.array[0].repeat=R[0],R[1]&&(f.array.length>=2&&1==f.array[1].arrow&&1==f.array[1].expans&&1==f.array[1].megota?f.array[1].repeat+=R[1]:f.array.splice(1,0,p(R[1],1,1,1)))}return M&&(f.sign*=-1),x&&(f.small=!f.small),f.normalize(),f.normalize(),f}},{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(!b(t))return!1;if(!d(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){return null!==r&&"object"===i(r)&&("mag"in r&&"number"==typeof r.mag&&("layer"in r&&"number"==typeof r.layer&&("sign"in r&&"number"==typeof r.sign)))}(e)){var n=e,o=n.mag<0,u=new r(1);return n.layer>=s?u.array=[p(Math.log10(n.layer)),p(1,1),p(1,2)]:n.layer>=1?u.array=[p(Math.abs(n.mag)),p(n.layer,1)]:u.array=[p(n.mag)],u.small=o,u.normalize(),u}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(!E(t))return!1;if(!I(t)&&!k(t)&&!M(t))return!1}return!0}(e)){var l=e;t.array[0]=p(l[0]);for(var c=1;c<l.length;c++){var f=l[c];t.array[1]=p(f[1],O(f[0]),O(f[2]),f[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(s)?new r("(10{!})^".concat(t.toNumber()," 10^^^(10^)^7625597484984 3638334640023.7783")):r.BEAF(3,t,1,2)}}])}();l=Symbol.toStringTag,A.ZERO=new A({array:[{arrow:0,expans:1,megota:1,repeat:1/0}],small:!0,layer:0,sign:0}),A.ONE=new A({array:[{arrow:0,expans:1,megota:1,repeat:1}],small:!1,layer:0,sign:1}),A.MSI=new A(s),A.MSI_REC=((F=new A(s)).small=!0,F),A.E_MSI=new A({array:[{arrow:0,expans:1,megota:1,repeat:s},{arrow:1,expans:1,megota:1,repeat:1}],small:!1,layer:0,sign:1}),A.EE_MSI=new A({array:[{arrow:0,expans:1,megota:1,repeat:s},{arrow:1,expans:1,megota:1,repeat:2}],small:!1,layer:0,sign:1}),A.E_MSI_REC=new A({array:[{arrow:0,expans:1,megota:1,repeat:s},{arrow:1,expans:1,megota:1,repeat:1}],small:!0,layer:0,sign:1}),A.TETRATED_MSI=new A({array:[{arrow:0,expans:1,megota:1,repeat:1e10},{arrow:1,expans:1,megota:1,repeat:s-2}],small:!1,layer:0,sign:1}),A.PENTATED_MSI=new A({array:[{arrow:0,expans:1,megota:1,repeat:10},{arrow:2,expans:1,megota:1,repeat:s-1}],small:!1,layer:0,sign:1}),A.TRITRI=new A({small:!1,layer:0,sign:1,array:[p(3638334640023.7783,0,1,1),p(7625587484984,1,1,1)]}),A.GRAHAMS_NUMBER=new A("(10{!})^63 10^^^(10^)^7625597484984 3638334640023.7783"),A.POSITIVE_INFINITY=new A(1/0),A.NEGATIVE_INFINITY=new A(-1/0),A.NaN=new A({array:[{arrow:0,expans:1,megota:1,repeat:NaN}],small:!1,layer:0,sign:0}),A.E=new A(Math.E),A.LN2=new A(Math.LN2),A.LN10=new A(Math.LN10),A.LOG2E=new A(Math.LOG2E),A.LOG10E=new A(Math.LOG10E),A.PI=new A(Math.PI),A.SQRT1_2=new A(Math.SQRT1_2),A.SQRT2=new A(Math.SQRT2),A.maxOps=100,A.POW_2_44_MOD_PI=1.701173079953,A.arrowFuncMap=new Map,A.beafFuncMap=new Map,A.usingBreakEternityLikeFromString=!0,A.blankArgumentConstructorReturnZero=!1,A.throwErrorOnResultNaN=!1,r.arraySortFunction=S,r.default=A,r.mergeSameArrays=q,Object.defineProperty(r,"__esModule",{value:!0})}));
package/dist/index.d.ts CHANGED
@@ -165,7 +165,15 @@ export default class PowiainaNum implements IPowiainaNum {
165
165
  */
166
166
  iteratedlog(other2?: PowiainaNumSource, base2?: PowiainaNumSource): PowiainaNum;
167
167
  static iteratedlog(t: PowiainaNumSource, other2?: PowiainaNumSource, base2?: PowiainaNumSource): PowiainaNum;
168
- omegalog(bbase?: number): PowiainaNum;
168
+ /**
169
+ * Get the base of operators
170
+ */
171
+ private static oBase;
172
+ /**
173
+ * Only works for operators level < ω.
174
+ */
175
+ static omegacollect(operators: Operator[]): Operator[];
176
+ omegalog(bbase?: number): number | PowiainaNum;
169
177
  /**
170
178
  * Arrow operation, return a function
171
179
  * The function has a parameter `other`
@@ -347,14 +355,28 @@ export default class PowiainaNum implements IPowiainaNum {
347
355
  ispos(): boolean;
348
356
  isneg(): boolean;
349
357
  static isNaN(x: PowiainaNumSource): boolean;
358
+ /**
359
+ * @returns number will return the index of the operator. return as x.5 if it's between the xth and x+1th operators.
360
+ */
361
+ static opGetOperatorIndex(operators: Operator[], arrow: number, expans?: number, megota?: number): number;
350
362
  /**
351
363
  * @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.
352
364
  */
353
365
  getOperatorIndex(arrow: number, expans?: number, megota?: number): number;
366
+ /**
367
+ * @returns number repeats of operators with given arguments.
368
+ */
369
+ static opGetOperator(operators: Operator[], arrow: number, expans?: number, megota?: number): number;
354
370
  /**
355
371
  * @returns number repeats of operators with given arguments.
356
372
  */
357
373
  getOperator(arrow: number, expans?: number, megota?: number): number;
374
+ /**
375
+ * Modify the repeat of operator(argument will modified)
376
+ * @param number val the repeat of operator will modify to array.
377
+ * @returns bool Is the operators array changed?
378
+ */
379
+ static opSetOperator(operators: Operator[], val: number, arrow: number, expans?: number, megota?: number): boolean;
358
380
  /**
359
381
  * Modify the repeat of operator
360
382
  * @param number val the repeat of operator will modify to array.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "powiaina_num.js",
3
- "version": "0.2.19",
3
+ "version": "0.2.21",
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",