powiaina_num.js 0.2.14 → 0.2.15

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.
@@ -7,6 +7,9 @@ function _arrayLikeToArray(r, a) {
7
7
  for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
8
8
  return n;
9
9
  }
10
+ function _arrayWithHoles(r) {
11
+ if (Array.isArray(r)) return r;
12
+ }
10
13
  function _arrayWithoutHoles(r) {
11
14
  if (Array.isArray(r)) return _arrayLikeToArray(r);
12
15
  }
@@ -27,9 +30,42 @@ function _createClass(e, r, t) {
27
30
  function _iterableToArray(r) {
28
31
  if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
29
32
  }
33
+ function _iterableToArrayLimit(r, l) {
34
+ var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
35
+ if (null != t) {
36
+ var e,
37
+ n,
38
+ i,
39
+ u,
40
+ a = [],
41
+ f = !0,
42
+ o = !1;
43
+ try {
44
+ if (i = (t = t.call(r)).next, 0 === l) {
45
+ if (Object(t) !== t) return;
46
+ f = !1;
47
+ } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
48
+ } catch (r) {
49
+ o = !0, n = r;
50
+ } finally {
51
+ try {
52
+ if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
53
+ } finally {
54
+ if (o) throw n;
55
+ }
56
+ }
57
+ return a;
58
+ }
59
+ }
60
+ function _nonIterableRest() {
61
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
62
+ }
30
63
  function _nonIterableSpread() {
31
64
  throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
32
65
  }
66
+ function _slicedToArray(r, e) {
67
+ return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
68
+ }
33
69
  function _toConsumableArray(r) {
34
70
  return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();
35
71
  }
@@ -2097,8 +2133,20 @@ var PowiainaNum = /*#__PURE__*/function () {
2097
2133
  this.small = false;
2098
2134
  renormalize = true;
2099
2135
  }
2100
- // for any 10{X>9e15}10, replace into 10{!}X;
2101
- if (this.array.length >= 2 && this.array[1].arrow >= MSI) {
2136
+ // for any 10{!}^t x, replace to 10{!}^t-1 10{x}10
2137
+ if (this.array.length >= 2 && !isFinite(this.array[1].arrow)) {
2138
+ if (this.array[1].repeat > 1) {
2139
+ this.array.push(newOperator(this.array[1].repeat - 1, 1 / 0, this.array[1].expans, this.array[1].megota));
2140
+ this.array[1].repeat = 1;
2141
+ this.array[1].arrow = this.array[0].repeat;
2142
+ this.array[0].repeat = 10;
2143
+ } else {
2144
+ this.array[1].arrow = this.array[0].repeat;
2145
+ this.array[0].repeat = 10;
2146
+ }
2147
+ }
2148
+ // for any 10{X>9e15}10 finite, replace into 10{!}X;
2149
+ if (this.array.length >= 2 && this.array[1].arrow >= MSI && isFinite(this.array[1].arrow)) {
2102
2150
  this.array[0].repeat = this.array[1].arrow;
2103
2151
  this.array[1] = newOperator(1, Infinity, this.array[1].expans, this.array[1].megota);
2104
2152
  }
@@ -2124,16 +2172,6 @@ var PowiainaNum = /*#__PURE__*/function () {
2124
2172
  x.array[0].repeat = 10;
2125
2173
  renormalize = true;
2126
2174
  }
2127
- if (x.array.length >= 2 && x.array[0].repeat < MSI && x.array[1].arrow >= 2 && x.array[1].repeat == 1 &&
2128
- //10^^^ 10
2129
- isFinite(x.array[1].arrow)) {
2130
- // for any 10{A sample=2}1e9, turn into (10{A-1})^1e9-1 10
2131
- // But dont convert when a is infinite
2132
- // [1e9, [R=1, A=2, sth, sth]]
2133
- x.array.splice(1, 1, newOperator(x.array[0].repeat - 1, x.array[1].arrow - 1, x.array[1].expans, x.array[1].megota));
2134
- x.array[0].repeat = 10;
2135
- renormalize = true;
2136
- }
2137
2175
  // for any (10{A=2})^1e16 10, turn into (10{A+1}) 1e16
2138
2176
  if (x.array.length >= 2 && x.array[1].repeat > MSI && x.array[1].arrow !== Infinity) {
2139
2177
  x.array[1].arrow++;
@@ -2517,6 +2555,9 @@ var PowiainaNum = /*#__PURE__*/function () {
2517
2555
  // return PowiainaNum.POSITIVE_INFINITY;
2518
2556
  // }
2519
2557
  if (new PowiainaNum(powiaina2).gte(3)) return PowiainaNum.POSITIVE_INFINITY.clone();
2558
+ if (readArg(0).eq(0) && readArg(1).eq(1) && readArg(2).eq(1)) {
2559
+ return base.mul(power);
2560
+ }
2520
2561
  if (readArg(0).eq(1) && readArg(1).eq(1) && readArg(2).eq(1)) {
2521
2562
  return base.pow(power);
2522
2563
  }
@@ -2566,12 +2607,16 @@ var PowiainaNum = /*#__PURE__*/function () {
2566
2607
  return x.toString();
2567
2608
  }
2568
2609
  function getMSIForm(arrow, expans, megota) {
2569
- return "10{".concat(infToBang(arrow), ",").concat(infToBang(expans), ",").concat(megota, "}").concat(MSI);
2610
+ var _convertOperator = convertOperator(arrow, expans, megota),
2611
+ _convertOperator2 = _slicedToArray(_convertOperator, 3),
2612
+ a = _convertOperator2[0],
2613
+ e = _convertOperator2[1],
2614
+ m = _convertOperator2[2];
2615
+ return "10{".concat(infToBang(a), ",").concat(infToBang(e), ",").concat(m, "}").concat(MSI);
2570
2616
  }
2571
2617
  var t = base.clone();
2572
2618
  var arrows = new PowiainaNum(readArg(0));
2573
2619
  var result = function (other2) {
2574
- var _r, _r2;
2575
2620
  var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
2576
2621
  console.log("".concat("-".repeat(depth), " {").concat(base2, ",").concat(power2, ",").concat(arrow2, ",").concat(expans2, ",").concat(megota2, "}"));
2577
2622
  var other = new PowiainaNum(other2);
@@ -2587,15 +2632,19 @@ var PowiainaNum = /*#__PURE__*/function () {
2587
2632
  if (other.eq(PowiainaNum.ZERO)) return PowiainaNum.ONE.clone();
2588
2633
  if (other.eq(PowiainaNum.ONE)) return t.clone();
2589
2634
  if (arrows.eq(0)) {
2590
- return PowiainaNum.BEAF(t, t, power, expans.sub(1), megota, powiaina2, depth + 1);
2635
+ return PowiainaNum.BEAF_core(t, t, power, expans.sub(1), megota, powiaina2, depth + 1);
2591
2636
  // {this, this, power, expans-1, megota}
2592
2637
  }
2593
2638
  if (expans.eq(0)) {
2594
- return PowiainaNum.BEAF(t, t, t, power, megota.sub(1), powiaina2, depth + 1);
2639
+ return PowiainaNum.BEAF_core(t, t, t, power, megota.sub(1), powiaina2, depth + 1);
2595
2640
  // {this, this, this, power, megota-1}
2596
2641
  }
2597
2642
  if (megota.eq(0)) {
2598
- return PowiainaNum.BEAF(t, t, t, t, expans, new PowiainaNum(powiaina2).sub(1), depth + 1);
2643
+ return PowiainaNum.BEAF_core(t, t, t, t, expans, new PowiainaNum(powiaina2).sub(1), depth + 1);
2644
+ }
2645
+ // megota < 9e15, not implemented
2646
+ if (megota.gt(MSI)) {
2647
+ throw new Error("Not implemeneted");
2599
2648
  }
2600
2649
  // expans > 9e15, that using 10{?, x}, x=expans;
2601
2650
  if (expans.gt(MSI)) {
@@ -2612,15 +2661,17 @@ var PowiainaNum = /*#__PURE__*/function () {
2612
2661
  var arrowsNum = arrows.toNumber();
2613
2662
  // arrow < 9e15
2614
2663
  // 10{x}2 = 10{x-1}10
2615
- if (other.eq(2)) return PowiainaNum.BEAF(t, t, arrowsNum - 1, expans, megota, powiaina2, depth + 1);
2664
+ if (other.eq(2)) return PowiainaNum.BEAF_core(t, t, arrowsNum - 1, expans, megota, powiaina2, depth + 1);
2616
2665
  if (t.max(other).gt(getMSIForm(arrowsNum + 1, expans.toNumber(), megota.toNumber()))) return t.max(other);
2617
- if (t.gt(getMSIForm(arrowsNum, expans.toNumber(), megota.toNumber())) || other.gt(MSI)) {
2666
+ // arrow < 9e15
2667
+ // 10{x}2 = 10{x-1}10
2668
+ if (t.gt(getMSIForm(arrowsNum + 1, expans.toNumber(), megota.toNumber())) || other.gt(MSI)) {
2618
2669
  if (t.gt(getMSIForm(arrowsNum, expans.toNumber(), megota.toNumber()))) {
2619
2670
  r = t.clone();
2620
2671
  r.setOperator(r.getOperator(arrowsNum, expans.toNumber(), megota.toNumber()) - 1, arrowsNum, expans.toNumber(), megota.toNumber());
2621
2672
  r.normalize();
2622
- } else if (t.gt(getMSIForm.apply(void 0, _toConsumableArray(convertOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber()))))) {
2623
- r = new PowiainaNum(t.getOperator.apply(t, _toConsumableArray(convertOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber()))));
2673
+ } else if (t.gt(getMSIForm(arrowsNum - 1, expans.toNumber(), megota.toNumber()))) {
2674
+ r = new PowiainaNum(t.getOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber()));
2624
2675
  } else {
2625
2676
  r = PowiainaNum.ZERO;
2626
2677
  }
@@ -2640,17 +2691,114 @@ var PowiainaNum = /*#__PURE__*/function () {
2640
2691
  var y = other.toNumber();
2641
2692
  var f = Math.floor(y);
2642
2693
  var arrows_m1 = arrows.sub(PowiainaNum.ONE);
2643
- r = PowiainaNum.BEAF(t, y - f, arrows_m1.toNumber(), expans, megota, powiaina2, depth + 1);
2694
+ r = PowiainaNum.BEAF_core(t, y - f, arrows_m1, expans, megota, powiaina, depth + 1);
2695
+ // r = t.arrow(arrows_m1)(y - f, payload, depth + 1);
2644
2696
  var i = 0;
2645
- for (var m = new PowiainaNum(getMSIForm.apply(void 0, _toConsumableArray(convertOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber())))); f !== 0 && r.lt(m) && i < 100; i++) {
2697
+ for (var m = getMSIForm(arrowsNum - 1, expans.toNumber(), megota.toNumber()); f !== 0 && r.lt(m) && i < 100; i++) {
2646
2698
  if (f > 0) {
2647
- r = PowiainaNum.BEAF(base, r, arrows_m1.toNumber(), expans, megota, powiaina2, depth + 1);
2699
+ r = PowiainaNum.BEAF_core(t, r, arrows_m1, expans, megota, powiaina, depth + 1);
2648
2700
  --f;
2649
2701
  }
2650
2702
  }
2651
2703
  if (i == 100) f = 0;
2652
- (_r = r).setOperator.apply(_r, [(_r2 = r).getOperator.apply(_r2, _toConsumableArray(convertOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber()))) + f].concat(_toConsumableArray(convertOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber()))));
2704
+ r.setOperator(r.getOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber()) + f, arrowsNum - 1, expans.toNumber(), megota.toNumber());
2653
2705
  r.normalize();
2706
+ // if (
2707
+ // t.gt(getMSIForm(arrowsNum, expans.toNumber(), megota.toNumber())) ||
2708
+ // other.gt(MSI)
2709
+ // ) {
2710
+ // if (t.gt(getMSIForm(arrowsNum, expans.toNumber(), megota.toNumber()))) {
2711
+ // r = t.clone();
2712
+ // r.setOperator(
2713
+ // r.getOperator(arrowsNum, expans.toNumber(), megota.toNumber()) - 1,
2714
+ // arrowsNum,
2715
+ // expans.toNumber(),
2716
+ // megota.toNumber()
2717
+ // );
2718
+ // r.normalize();
2719
+ // } else if (
2720
+ // t.gt(
2721
+ // getMSIForm(
2722
+ // ...convertOperator(
2723
+ // arrowsNum - 1,
2724
+ // expans.toNumber(),
2725
+ // megota.toNumber()
2726
+ // )
2727
+ // )
2728
+ // )
2729
+ // ) {
2730
+ // r = new PowiainaNum(
2731
+ // t.getOperator(
2732
+ // ...convertOperator(
2733
+ // arrowsNum - 1,
2734
+ // expans.toNumber(),
2735
+ // megota.toNumber()
2736
+ // )
2737
+ // )
2738
+ // );
2739
+ // } else {
2740
+ // r = PowiainaNum.ZERO;
2741
+ // }
2742
+ // const j = r.add(other);
2743
+ // j.setOperator(
2744
+ // j.getOperator(arrowsNum, expans.toNumber(), megota.toNumber()) + 1,
2745
+ // arrowsNum,
2746
+ // expans.toNumber(),
2747
+ // megota.toNumber()
2748
+ // );
2749
+ // j.normalize();
2750
+ // return j;
2751
+ // }
2752
+ // const y = other.toNumber();
2753
+ // let f = Math.floor(y);
2754
+ // const arrows_m1 = arrows.sub(PowiainaNum.ONE);
2755
+ // r = PowiainaNum.BEAF(
2756
+ // t,
2757
+ // y - f,
2758
+ // arrows_m1.toNumber(),
2759
+ // expans,
2760
+ // megota,
2761
+ // powiaina2,
2762
+ // depth + 1
2763
+ // );
2764
+ // let i = 0;
2765
+ // for (
2766
+ // const m = new PowiainaNum(
2767
+ // getMSIForm(
2768
+ // ...convertOperator(
2769
+ // arrowsNum - 1,
2770
+ // expans.toNumber(),
2771
+ // megota.toNumber()
2772
+ // )
2773
+ // )
2774
+ // );
2775
+ // f !== 0 && r.lt(m) && i < 100;
2776
+ // i++
2777
+ // ) {
2778
+ // if (f > 0) {
2779
+ // r = PowiainaNum.BEAF(
2780
+ // base,
2781
+ // r,
2782
+ // arrows_m1.toNumber(),
2783
+ // expans,
2784
+ // megota,
2785
+ // powiaina2,
2786
+ // depth + 1
2787
+ // );
2788
+ // --f;
2789
+ // }
2790
+ // }
2791
+ // if (i == 100) f = 0;
2792
+ // r.setOperator(
2793
+ // r.getOperator(
2794
+ // ...convertOperator(
2795
+ // arrowsNum - 1,
2796
+ // expans.toNumber(),
2797
+ // megota.toNumber()
2798
+ // )
2799
+ // ) + f,
2800
+ // ...convertOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber())
2801
+ // );
2654
2802
  return r;
2655
2803
  }(power, depth);
2656
2804
  console.log("".concat("-".repeat(depth), " = ").concat(result));
@@ -3,6 +3,9 @@ function _arrayLikeToArray(r, a) {
3
3
  for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
4
4
  return n;
5
5
  }
6
+ function _arrayWithHoles(r) {
7
+ if (Array.isArray(r)) return r;
8
+ }
6
9
  function _arrayWithoutHoles(r) {
7
10
  if (Array.isArray(r)) return _arrayLikeToArray(r);
8
11
  }
@@ -23,9 +26,42 @@ function _createClass(e, r, t) {
23
26
  function _iterableToArray(r) {
24
27
  if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
25
28
  }
29
+ function _iterableToArrayLimit(r, l) {
30
+ var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
31
+ if (null != t) {
32
+ var e,
33
+ n,
34
+ i,
35
+ u,
36
+ a = [],
37
+ f = !0,
38
+ o = !1;
39
+ try {
40
+ if (i = (t = t.call(r)).next, 0 === l) {
41
+ if (Object(t) !== t) return;
42
+ f = !1;
43
+ } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
44
+ } catch (r) {
45
+ o = !0, n = r;
46
+ } finally {
47
+ try {
48
+ if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
49
+ } finally {
50
+ if (o) throw n;
51
+ }
52
+ }
53
+ return a;
54
+ }
55
+ }
56
+ function _nonIterableRest() {
57
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
58
+ }
26
59
  function _nonIterableSpread() {
27
60
  throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
28
61
  }
62
+ function _slicedToArray(r, e) {
63
+ return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
64
+ }
29
65
  function _toConsumableArray(r) {
30
66
  return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();
31
67
  }
@@ -2093,8 +2129,20 @@ var PowiainaNum = /*#__PURE__*/function () {
2093
2129
  this.small = false;
2094
2130
  renormalize = true;
2095
2131
  }
2096
- // for any 10{X>9e15}10, replace into 10{!}X;
2097
- if (this.array.length >= 2 && this.array[1].arrow >= MSI) {
2132
+ // for any 10{!}^t x, replace to 10{!}^t-1 10{x}10
2133
+ if (this.array.length >= 2 && !isFinite(this.array[1].arrow)) {
2134
+ if (this.array[1].repeat > 1) {
2135
+ this.array.push(newOperator(this.array[1].repeat - 1, 1 / 0, this.array[1].expans, this.array[1].megota));
2136
+ this.array[1].repeat = 1;
2137
+ this.array[1].arrow = this.array[0].repeat;
2138
+ this.array[0].repeat = 10;
2139
+ } else {
2140
+ this.array[1].arrow = this.array[0].repeat;
2141
+ this.array[0].repeat = 10;
2142
+ }
2143
+ }
2144
+ // for any 10{X>9e15}10 finite, replace into 10{!}X;
2145
+ if (this.array.length >= 2 && this.array[1].arrow >= MSI && isFinite(this.array[1].arrow)) {
2098
2146
  this.array[0].repeat = this.array[1].arrow;
2099
2147
  this.array[1] = newOperator(1, Infinity, this.array[1].expans, this.array[1].megota);
2100
2148
  }
@@ -2120,16 +2168,6 @@ var PowiainaNum = /*#__PURE__*/function () {
2120
2168
  x.array[0].repeat = 10;
2121
2169
  renormalize = true;
2122
2170
  }
2123
- if (x.array.length >= 2 && x.array[0].repeat < MSI && x.array[1].arrow >= 2 && x.array[1].repeat == 1 &&
2124
- //10^^^ 10
2125
- isFinite(x.array[1].arrow)) {
2126
- // for any 10{A sample=2}1e9, turn into (10{A-1})^1e9-1 10
2127
- // But dont convert when a is infinite
2128
- // [1e9, [R=1, A=2, sth, sth]]
2129
- x.array.splice(1, 1, newOperator(x.array[0].repeat - 1, x.array[1].arrow - 1, x.array[1].expans, x.array[1].megota));
2130
- x.array[0].repeat = 10;
2131
- renormalize = true;
2132
- }
2133
2171
  // for any (10{A=2})^1e16 10, turn into (10{A+1}) 1e16
2134
2172
  if (x.array.length >= 2 && x.array[1].repeat > MSI && x.array[1].arrow !== Infinity) {
2135
2173
  x.array[1].arrow++;
@@ -2513,6 +2551,9 @@ var PowiainaNum = /*#__PURE__*/function () {
2513
2551
  // return PowiainaNum.POSITIVE_INFINITY;
2514
2552
  // }
2515
2553
  if (new PowiainaNum(powiaina2).gte(3)) return PowiainaNum.POSITIVE_INFINITY.clone();
2554
+ if (readArg(0).eq(0) && readArg(1).eq(1) && readArg(2).eq(1)) {
2555
+ return base.mul(power);
2556
+ }
2516
2557
  if (readArg(0).eq(1) && readArg(1).eq(1) && readArg(2).eq(1)) {
2517
2558
  return base.pow(power);
2518
2559
  }
@@ -2562,12 +2603,16 @@ var PowiainaNum = /*#__PURE__*/function () {
2562
2603
  return x.toString();
2563
2604
  }
2564
2605
  function getMSIForm(arrow, expans, megota) {
2565
- return "10{".concat(infToBang(arrow), ",").concat(infToBang(expans), ",").concat(megota, "}").concat(MSI);
2606
+ var _convertOperator = convertOperator(arrow, expans, megota),
2607
+ _convertOperator2 = _slicedToArray(_convertOperator, 3),
2608
+ a = _convertOperator2[0],
2609
+ e = _convertOperator2[1],
2610
+ m = _convertOperator2[2];
2611
+ return "10{".concat(infToBang(a), ",").concat(infToBang(e), ",").concat(m, "}").concat(MSI);
2566
2612
  }
2567
2613
  var t = base.clone();
2568
2614
  var arrows = new PowiainaNum(readArg(0));
2569
2615
  var result = function (other2) {
2570
- var _r, _r2;
2571
2616
  var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
2572
2617
  console.log("".concat("-".repeat(depth), " {").concat(base2, ",").concat(power2, ",").concat(arrow2, ",").concat(expans2, ",").concat(megota2, "}"));
2573
2618
  var other = new PowiainaNum(other2);
@@ -2583,15 +2628,19 @@ var PowiainaNum = /*#__PURE__*/function () {
2583
2628
  if (other.eq(PowiainaNum.ZERO)) return PowiainaNum.ONE.clone();
2584
2629
  if (other.eq(PowiainaNum.ONE)) return t.clone();
2585
2630
  if (arrows.eq(0)) {
2586
- return PowiainaNum.BEAF(t, t, power, expans.sub(1), megota, powiaina2, depth + 1);
2631
+ return PowiainaNum.BEAF_core(t, t, power, expans.sub(1), megota, powiaina2, depth + 1);
2587
2632
  // {this, this, power, expans-1, megota}
2588
2633
  }
2589
2634
  if (expans.eq(0)) {
2590
- return PowiainaNum.BEAF(t, t, t, power, megota.sub(1), powiaina2, depth + 1);
2635
+ return PowiainaNum.BEAF_core(t, t, t, power, megota.sub(1), powiaina2, depth + 1);
2591
2636
  // {this, this, this, power, megota-1}
2592
2637
  }
2593
2638
  if (megota.eq(0)) {
2594
- return PowiainaNum.BEAF(t, t, t, t, expans, new PowiainaNum(powiaina2).sub(1), depth + 1);
2639
+ return PowiainaNum.BEAF_core(t, t, t, t, expans, new PowiainaNum(powiaina2).sub(1), depth + 1);
2640
+ }
2641
+ // megota < 9e15, not implemented
2642
+ if (megota.gt(MSI)) {
2643
+ throw new Error("Not implemeneted");
2595
2644
  }
2596
2645
  // expans > 9e15, that using 10{?, x}, x=expans;
2597
2646
  if (expans.gt(MSI)) {
@@ -2608,15 +2657,17 @@ var PowiainaNum = /*#__PURE__*/function () {
2608
2657
  var arrowsNum = arrows.toNumber();
2609
2658
  // arrow < 9e15
2610
2659
  // 10{x}2 = 10{x-1}10
2611
- if (other.eq(2)) return PowiainaNum.BEAF(t, t, arrowsNum - 1, expans, megota, powiaina2, depth + 1);
2660
+ if (other.eq(2)) return PowiainaNum.BEAF_core(t, t, arrowsNum - 1, expans, megota, powiaina2, depth + 1);
2612
2661
  if (t.max(other).gt(getMSIForm(arrowsNum + 1, expans.toNumber(), megota.toNumber()))) return t.max(other);
2613
- if (t.gt(getMSIForm(arrowsNum, expans.toNumber(), megota.toNumber())) || other.gt(MSI)) {
2662
+ // arrow < 9e15
2663
+ // 10{x}2 = 10{x-1}10
2664
+ if (t.gt(getMSIForm(arrowsNum + 1, expans.toNumber(), megota.toNumber())) || other.gt(MSI)) {
2614
2665
  if (t.gt(getMSIForm(arrowsNum, expans.toNumber(), megota.toNumber()))) {
2615
2666
  r = t.clone();
2616
2667
  r.setOperator(r.getOperator(arrowsNum, expans.toNumber(), megota.toNumber()) - 1, arrowsNum, expans.toNumber(), megota.toNumber());
2617
2668
  r.normalize();
2618
- } else if (t.gt(getMSIForm.apply(void 0, _toConsumableArray(convertOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber()))))) {
2619
- r = new PowiainaNum(t.getOperator.apply(t, _toConsumableArray(convertOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber()))));
2669
+ } else if (t.gt(getMSIForm(arrowsNum - 1, expans.toNumber(), megota.toNumber()))) {
2670
+ r = new PowiainaNum(t.getOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber()));
2620
2671
  } else {
2621
2672
  r = PowiainaNum.ZERO;
2622
2673
  }
@@ -2636,17 +2687,114 @@ var PowiainaNum = /*#__PURE__*/function () {
2636
2687
  var y = other.toNumber();
2637
2688
  var f = Math.floor(y);
2638
2689
  var arrows_m1 = arrows.sub(PowiainaNum.ONE);
2639
- r = PowiainaNum.BEAF(t, y - f, arrows_m1.toNumber(), expans, megota, powiaina2, depth + 1);
2690
+ r = PowiainaNum.BEAF_core(t, y - f, arrows_m1, expans, megota, powiaina, depth + 1);
2691
+ // r = t.arrow(arrows_m1)(y - f, payload, depth + 1);
2640
2692
  var i = 0;
2641
- for (var m = new PowiainaNum(getMSIForm.apply(void 0, _toConsumableArray(convertOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber())))); f !== 0 && r.lt(m) && i < 100; i++) {
2693
+ for (var m = getMSIForm(arrowsNum - 1, expans.toNumber(), megota.toNumber()); f !== 0 && r.lt(m) && i < 100; i++) {
2642
2694
  if (f > 0) {
2643
- r = PowiainaNum.BEAF(base, r, arrows_m1.toNumber(), expans, megota, powiaina2, depth + 1);
2695
+ r = PowiainaNum.BEAF_core(t, r, arrows_m1, expans, megota, powiaina, depth + 1);
2644
2696
  --f;
2645
2697
  }
2646
2698
  }
2647
2699
  if (i == 100) f = 0;
2648
- (_r = r).setOperator.apply(_r, [(_r2 = r).getOperator.apply(_r2, _toConsumableArray(convertOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber()))) + f].concat(_toConsumableArray(convertOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber()))));
2700
+ r.setOperator(r.getOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber()) + f, arrowsNum - 1, expans.toNumber(), megota.toNumber());
2649
2701
  r.normalize();
2702
+ // if (
2703
+ // t.gt(getMSIForm(arrowsNum, expans.toNumber(), megota.toNumber())) ||
2704
+ // other.gt(MSI)
2705
+ // ) {
2706
+ // if (t.gt(getMSIForm(arrowsNum, expans.toNumber(), megota.toNumber()))) {
2707
+ // r = t.clone();
2708
+ // r.setOperator(
2709
+ // r.getOperator(arrowsNum, expans.toNumber(), megota.toNumber()) - 1,
2710
+ // arrowsNum,
2711
+ // expans.toNumber(),
2712
+ // megota.toNumber()
2713
+ // );
2714
+ // r.normalize();
2715
+ // } else if (
2716
+ // t.gt(
2717
+ // getMSIForm(
2718
+ // ...convertOperator(
2719
+ // arrowsNum - 1,
2720
+ // expans.toNumber(),
2721
+ // megota.toNumber()
2722
+ // )
2723
+ // )
2724
+ // )
2725
+ // ) {
2726
+ // r = new PowiainaNum(
2727
+ // t.getOperator(
2728
+ // ...convertOperator(
2729
+ // arrowsNum - 1,
2730
+ // expans.toNumber(),
2731
+ // megota.toNumber()
2732
+ // )
2733
+ // )
2734
+ // );
2735
+ // } else {
2736
+ // r = PowiainaNum.ZERO;
2737
+ // }
2738
+ // const j = r.add(other);
2739
+ // j.setOperator(
2740
+ // j.getOperator(arrowsNum, expans.toNumber(), megota.toNumber()) + 1,
2741
+ // arrowsNum,
2742
+ // expans.toNumber(),
2743
+ // megota.toNumber()
2744
+ // );
2745
+ // j.normalize();
2746
+ // return j;
2747
+ // }
2748
+ // const y = other.toNumber();
2749
+ // let f = Math.floor(y);
2750
+ // const arrows_m1 = arrows.sub(PowiainaNum.ONE);
2751
+ // r = PowiainaNum.BEAF(
2752
+ // t,
2753
+ // y - f,
2754
+ // arrows_m1.toNumber(),
2755
+ // expans,
2756
+ // megota,
2757
+ // powiaina2,
2758
+ // depth + 1
2759
+ // );
2760
+ // let i = 0;
2761
+ // for (
2762
+ // const m = new PowiainaNum(
2763
+ // getMSIForm(
2764
+ // ...convertOperator(
2765
+ // arrowsNum - 1,
2766
+ // expans.toNumber(),
2767
+ // megota.toNumber()
2768
+ // )
2769
+ // )
2770
+ // );
2771
+ // f !== 0 && r.lt(m) && i < 100;
2772
+ // i++
2773
+ // ) {
2774
+ // if (f > 0) {
2775
+ // r = PowiainaNum.BEAF(
2776
+ // base,
2777
+ // r,
2778
+ // arrows_m1.toNumber(),
2779
+ // expans,
2780
+ // megota,
2781
+ // powiaina2,
2782
+ // depth + 1
2783
+ // );
2784
+ // --f;
2785
+ // }
2786
+ // }
2787
+ // if (i == 100) f = 0;
2788
+ // r.setOperator(
2789
+ // r.getOperator(
2790
+ // ...convertOperator(
2791
+ // arrowsNum - 1,
2792
+ // expans.toNumber(),
2793
+ // megota.toNumber()
2794
+ // )
2795
+ // ) + f,
2796
+ // ...convertOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber())
2797
+ // );
2650
2798
  return r;
2651
2799
  }(power, depth);
2652
2800
  console.log("".concat("-".repeat(depth), " = ").concat(result));
@@ -9,6 +9,9 @@
9
9
  for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
10
10
  return n;
11
11
  }
12
+ function _arrayWithHoles(r) {
13
+ if (Array.isArray(r)) return r;
14
+ }
12
15
  function _arrayWithoutHoles(r) {
13
16
  if (Array.isArray(r)) return _arrayLikeToArray(r);
14
17
  }
@@ -29,9 +32,42 @@
29
32
  function _iterableToArray(r) {
30
33
  if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
31
34
  }
35
+ function _iterableToArrayLimit(r, l) {
36
+ var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
37
+ if (null != t) {
38
+ var e,
39
+ n,
40
+ i,
41
+ u,
42
+ a = [],
43
+ f = !0,
44
+ o = !1;
45
+ try {
46
+ if (i = (t = t.call(r)).next, 0 === l) {
47
+ if (Object(t) !== t) return;
48
+ f = !1;
49
+ } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
50
+ } catch (r) {
51
+ o = !0, n = r;
52
+ } finally {
53
+ try {
54
+ if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
55
+ } finally {
56
+ if (o) throw n;
57
+ }
58
+ }
59
+ return a;
60
+ }
61
+ }
62
+ function _nonIterableRest() {
63
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
64
+ }
32
65
  function _nonIterableSpread() {
33
66
  throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
34
67
  }
68
+ function _slicedToArray(r, e) {
69
+ return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
70
+ }
35
71
  function _toConsumableArray(r) {
36
72
  return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();
37
73
  }
@@ -2099,8 +2135,20 @@
2099
2135
  this.small = false;
2100
2136
  renormalize = true;
2101
2137
  }
2102
- // for any 10{X>9e15}10, replace into 10{!}X;
2103
- if (this.array.length >= 2 && this.array[1].arrow >= MSI) {
2138
+ // for any 10{!}^t x, replace to 10{!}^t-1 10{x}10
2139
+ if (this.array.length >= 2 && !isFinite(this.array[1].arrow)) {
2140
+ if (this.array[1].repeat > 1) {
2141
+ this.array.push(newOperator(this.array[1].repeat - 1, 1 / 0, this.array[1].expans, this.array[1].megota));
2142
+ this.array[1].repeat = 1;
2143
+ this.array[1].arrow = this.array[0].repeat;
2144
+ this.array[0].repeat = 10;
2145
+ } else {
2146
+ this.array[1].arrow = this.array[0].repeat;
2147
+ this.array[0].repeat = 10;
2148
+ }
2149
+ }
2150
+ // for any 10{X>9e15}10 finite, replace into 10{!}X;
2151
+ if (this.array.length >= 2 && this.array[1].arrow >= MSI && isFinite(this.array[1].arrow)) {
2104
2152
  this.array[0].repeat = this.array[1].arrow;
2105
2153
  this.array[1] = newOperator(1, Infinity, this.array[1].expans, this.array[1].megota);
2106
2154
  }
@@ -2126,16 +2174,6 @@
2126
2174
  x.array[0].repeat = 10;
2127
2175
  renormalize = true;
2128
2176
  }
2129
- if (x.array.length >= 2 && x.array[0].repeat < MSI && x.array[1].arrow >= 2 && x.array[1].repeat == 1 &&
2130
- //10^^^ 10
2131
- isFinite(x.array[1].arrow)) {
2132
- // for any 10{A sample=2}1e9, turn into (10{A-1})^1e9-1 10
2133
- // But dont convert when a is infinite
2134
- // [1e9, [R=1, A=2, sth, sth]]
2135
- x.array.splice(1, 1, newOperator(x.array[0].repeat - 1, x.array[1].arrow - 1, x.array[1].expans, x.array[1].megota));
2136
- x.array[0].repeat = 10;
2137
- renormalize = true;
2138
- }
2139
2177
  // for any (10{A=2})^1e16 10, turn into (10{A+1}) 1e16
2140
2178
  if (x.array.length >= 2 && x.array[1].repeat > MSI && x.array[1].arrow !== Infinity) {
2141
2179
  x.array[1].arrow++;
@@ -2519,6 +2557,9 @@
2519
2557
  // return PowiainaNum.POSITIVE_INFINITY;
2520
2558
  // }
2521
2559
  if (new PowiainaNum(powiaina2).gte(3)) return PowiainaNum.POSITIVE_INFINITY.clone();
2560
+ if (readArg(0).eq(0) && readArg(1).eq(1) && readArg(2).eq(1)) {
2561
+ return base.mul(power);
2562
+ }
2522
2563
  if (readArg(0).eq(1) && readArg(1).eq(1) && readArg(2).eq(1)) {
2523
2564
  return base.pow(power);
2524
2565
  }
@@ -2568,12 +2609,16 @@
2568
2609
  return x.toString();
2569
2610
  }
2570
2611
  function getMSIForm(arrow, expans, megota) {
2571
- return "10{".concat(infToBang(arrow), ",").concat(infToBang(expans), ",").concat(megota, "}").concat(MSI);
2612
+ var _convertOperator = convertOperator(arrow, expans, megota),
2613
+ _convertOperator2 = _slicedToArray(_convertOperator, 3),
2614
+ a = _convertOperator2[0],
2615
+ e = _convertOperator2[1],
2616
+ m = _convertOperator2[2];
2617
+ return "10{".concat(infToBang(a), ",").concat(infToBang(e), ",").concat(m, "}").concat(MSI);
2572
2618
  }
2573
2619
  var t = base.clone();
2574
2620
  var arrows = new PowiainaNum(readArg(0));
2575
2621
  var result = function (other2) {
2576
- var _r, _r2;
2577
2622
  var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
2578
2623
  console.log("".concat("-".repeat(depth), " {").concat(base2, ",").concat(power2, ",").concat(arrow2, ",").concat(expans2, ",").concat(megota2, "}"));
2579
2624
  var other = new PowiainaNum(other2);
@@ -2589,15 +2634,19 @@
2589
2634
  if (other.eq(PowiainaNum.ZERO)) return PowiainaNum.ONE.clone();
2590
2635
  if (other.eq(PowiainaNum.ONE)) return t.clone();
2591
2636
  if (arrows.eq(0)) {
2592
- return PowiainaNum.BEAF(t, t, power, expans.sub(1), megota, powiaina2, depth + 1);
2637
+ return PowiainaNum.BEAF_core(t, t, power, expans.sub(1), megota, powiaina2, depth + 1);
2593
2638
  // {this, this, power, expans-1, megota}
2594
2639
  }
2595
2640
  if (expans.eq(0)) {
2596
- return PowiainaNum.BEAF(t, t, t, power, megota.sub(1), powiaina2, depth + 1);
2641
+ return PowiainaNum.BEAF_core(t, t, t, power, megota.sub(1), powiaina2, depth + 1);
2597
2642
  // {this, this, this, power, megota-1}
2598
2643
  }
2599
2644
  if (megota.eq(0)) {
2600
- return PowiainaNum.BEAF(t, t, t, t, expans, new PowiainaNum(powiaina2).sub(1), depth + 1);
2645
+ return PowiainaNum.BEAF_core(t, t, t, t, expans, new PowiainaNum(powiaina2).sub(1), depth + 1);
2646
+ }
2647
+ // megota < 9e15, not implemented
2648
+ if (megota.gt(MSI)) {
2649
+ throw new Error("Not implemeneted");
2601
2650
  }
2602
2651
  // expans > 9e15, that using 10{?, x}, x=expans;
2603
2652
  if (expans.gt(MSI)) {
@@ -2614,15 +2663,17 @@
2614
2663
  var arrowsNum = arrows.toNumber();
2615
2664
  // arrow < 9e15
2616
2665
  // 10{x}2 = 10{x-1}10
2617
- if (other.eq(2)) return PowiainaNum.BEAF(t, t, arrowsNum - 1, expans, megota, powiaina2, depth + 1);
2666
+ if (other.eq(2)) return PowiainaNum.BEAF_core(t, t, arrowsNum - 1, expans, megota, powiaina2, depth + 1);
2618
2667
  if (t.max(other).gt(getMSIForm(arrowsNum + 1, expans.toNumber(), megota.toNumber()))) return t.max(other);
2619
- if (t.gt(getMSIForm(arrowsNum, expans.toNumber(), megota.toNumber())) || other.gt(MSI)) {
2668
+ // arrow < 9e15
2669
+ // 10{x}2 = 10{x-1}10
2670
+ if (t.gt(getMSIForm(arrowsNum + 1, expans.toNumber(), megota.toNumber())) || other.gt(MSI)) {
2620
2671
  if (t.gt(getMSIForm(arrowsNum, expans.toNumber(), megota.toNumber()))) {
2621
2672
  r = t.clone();
2622
2673
  r.setOperator(r.getOperator(arrowsNum, expans.toNumber(), megota.toNumber()) - 1, arrowsNum, expans.toNumber(), megota.toNumber());
2623
2674
  r.normalize();
2624
- } else if (t.gt(getMSIForm.apply(void 0, _toConsumableArray(convertOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber()))))) {
2625
- r = new PowiainaNum(t.getOperator.apply(t, _toConsumableArray(convertOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber()))));
2675
+ } else if (t.gt(getMSIForm(arrowsNum - 1, expans.toNumber(), megota.toNumber()))) {
2676
+ r = new PowiainaNum(t.getOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber()));
2626
2677
  } else {
2627
2678
  r = PowiainaNum.ZERO;
2628
2679
  }
@@ -2642,17 +2693,114 @@
2642
2693
  var y = other.toNumber();
2643
2694
  var f = Math.floor(y);
2644
2695
  var arrows_m1 = arrows.sub(PowiainaNum.ONE);
2645
- r = PowiainaNum.BEAF(t, y - f, arrows_m1.toNumber(), expans, megota, powiaina2, depth + 1);
2696
+ r = PowiainaNum.BEAF_core(t, y - f, arrows_m1, expans, megota, powiaina, depth + 1);
2697
+ // r = t.arrow(arrows_m1)(y - f, payload, depth + 1);
2646
2698
  var i = 0;
2647
- for (var m = new PowiainaNum(getMSIForm.apply(void 0, _toConsumableArray(convertOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber())))); f !== 0 && r.lt(m) && i < 100; i++) {
2699
+ for (var m = getMSIForm(arrowsNum - 1, expans.toNumber(), megota.toNumber()); f !== 0 && r.lt(m) && i < 100; i++) {
2648
2700
  if (f > 0) {
2649
- r = PowiainaNum.BEAF(base, r, arrows_m1.toNumber(), expans, megota, powiaina2, depth + 1);
2701
+ r = PowiainaNum.BEAF_core(t, r, arrows_m1, expans, megota, powiaina, depth + 1);
2650
2702
  --f;
2651
2703
  }
2652
2704
  }
2653
2705
  if (i == 100) f = 0;
2654
- (_r = r).setOperator.apply(_r, [(_r2 = r).getOperator.apply(_r2, _toConsumableArray(convertOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber()))) + f].concat(_toConsumableArray(convertOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber()))));
2706
+ r.setOperator(r.getOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber()) + f, arrowsNum - 1, expans.toNumber(), megota.toNumber());
2655
2707
  r.normalize();
2708
+ // if (
2709
+ // t.gt(getMSIForm(arrowsNum, expans.toNumber(), megota.toNumber())) ||
2710
+ // other.gt(MSI)
2711
+ // ) {
2712
+ // if (t.gt(getMSIForm(arrowsNum, expans.toNumber(), megota.toNumber()))) {
2713
+ // r = t.clone();
2714
+ // r.setOperator(
2715
+ // r.getOperator(arrowsNum, expans.toNumber(), megota.toNumber()) - 1,
2716
+ // arrowsNum,
2717
+ // expans.toNumber(),
2718
+ // megota.toNumber()
2719
+ // );
2720
+ // r.normalize();
2721
+ // } else if (
2722
+ // t.gt(
2723
+ // getMSIForm(
2724
+ // ...convertOperator(
2725
+ // arrowsNum - 1,
2726
+ // expans.toNumber(),
2727
+ // megota.toNumber()
2728
+ // )
2729
+ // )
2730
+ // )
2731
+ // ) {
2732
+ // r = new PowiainaNum(
2733
+ // t.getOperator(
2734
+ // ...convertOperator(
2735
+ // arrowsNum - 1,
2736
+ // expans.toNumber(),
2737
+ // megota.toNumber()
2738
+ // )
2739
+ // )
2740
+ // );
2741
+ // } else {
2742
+ // r = PowiainaNum.ZERO;
2743
+ // }
2744
+ // const j = r.add(other);
2745
+ // j.setOperator(
2746
+ // j.getOperator(arrowsNum, expans.toNumber(), megota.toNumber()) + 1,
2747
+ // arrowsNum,
2748
+ // expans.toNumber(),
2749
+ // megota.toNumber()
2750
+ // );
2751
+ // j.normalize();
2752
+ // return j;
2753
+ // }
2754
+ // const y = other.toNumber();
2755
+ // let f = Math.floor(y);
2756
+ // const arrows_m1 = arrows.sub(PowiainaNum.ONE);
2757
+ // r = PowiainaNum.BEAF(
2758
+ // t,
2759
+ // y - f,
2760
+ // arrows_m1.toNumber(),
2761
+ // expans,
2762
+ // megota,
2763
+ // powiaina2,
2764
+ // depth + 1
2765
+ // );
2766
+ // let i = 0;
2767
+ // for (
2768
+ // const m = new PowiainaNum(
2769
+ // getMSIForm(
2770
+ // ...convertOperator(
2771
+ // arrowsNum - 1,
2772
+ // expans.toNumber(),
2773
+ // megota.toNumber()
2774
+ // )
2775
+ // )
2776
+ // );
2777
+ // f !== 0 && r.lt(m) && i < 100;
2778
+ // i++
2779
+ // ) {
2780
+ // if (f > 0) {
2781
+ // r = PowiainaNum.BEAF(
2782
+ // base,
2783
+ // r,
2784
+ // arrows_m1.toNumber(),
2785
+ // expans,
2786
+ // megota,
2787
+ // powiaina2,
2788
+ // depth + 1
2789
+ // );
2790
+ // --f;
2791
+ // }
2792
+ // }
2793
+ // if (i == 100) f = 0;
2794
+ // r.setOperator(
2795
+ // r.getOperator(
2796
+ // ...convertOperator(
2797
+ // arrowsNum - 1,
2798
+ // expans.toNumber(),
2799
+ // megota.toNumber()
2800
+ // )
2801
+ // ) + f,
2802
+ // ...convertOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber())
2803
+ // );
2656
2804
  return r;
2657
2805
  }(power, depth);
2658
2806
  console.log("".concat("-".repeat(depth), " = ").concat(result));
@@ -1 +1 @@
1
- !function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((r="undefined"!=typeof globalThis?globalThis:r||self).PowiainaNum={})}(this,(function(r){"use strict";function e(r,e){(null==e||e>r.length)&&(e=r.length);for(var t=0,a=Array(e);t<e;t++)a[t]=r[t];return a}function t(r,e){for(var t=0;t<e.length;t++){var a=e[t];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(r,n(a.key),a)}}function a(r){return function(r){if(Array.isArray(r))return e(r)}(r)||function(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}(r)||function(r,t){if(r){if("string"==typeof r)return e(r,t);var a={}.toString.call(r).slice(8,-1);return"Object"===a&&r.constructor&&(a=r.constructor.name),"Map"===a||"Set"===a?Array.from(r):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?e(r,t):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(r){var e=function(r,e){if("object"!=typeof r||!r)return r;var t=r[Symbol.toPrimitive];if(void 0!==t){var a=t.call(r,e||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(r)}(r,"string");return"symbol"==typeof e?e:e+""}function 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)}var i,u=9007199254740991,l=15.954589770191003,s=11102230246251568e-32,c=1.444667861009766,f=/^(PN)?[\/\-\+]*(Infinity|NaN|(P+|P\^\d+ )?(10(\^+|\{([1-9]\d*|!)(,([1-9]\d*|!))?(,[1-9]\d*)?\})|\(10(\^+|\{([1-9]\d*|!)(,([1-9]\d*|!))?(,[1-9]\d*)?\})\)\^[1-9]\d*\x20*)*((\d+(\.\d*)?|\d*\.\d+)?([Ee][-\+]*))*(0|\d+(\.\d*)?|\d*\.\d+))$/,h=/^((\d+(\.\d*)?|\d*\.\d+)?([EeFf]([-\+]?)))*(0|\d+(\.\d*)?|\d*\.\d+)$/;function g(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return{repeat:r,arrow:e,expans:t,megota:a,valuereplaced:e==1/0?0:t==1/0?1:-1}}function y(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];for(var a=0;a<Math.min(e[0].length,e[1].length);a++){var n=e[0][a],o=e[1][a];if(n<o)return-1;if(n>o)return 1}return 0}function N(r){return Math.log10(Number(r.substring(0,17)))+(r.length-17)}var p=.5671432904097838;function m(r){var e,t,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e-10,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],o=a,i=n;if(!Number.isFinite(r))return r;if(i){if(0===r)return r;if(1===r)return p;e=r<10?0:Math.log(r)-Math.log(Math.log(r))}else{if(0===r)return-1/0;e=r<=-.1?-2:Math.log(-r)-Math.log(-Math.log(-r))}for(var 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 v(r){return 2==r.length}function w(r){return"number"==typeof r[0]&&"number"==typeof r[1]}function b(r){return"x"===r?1/0:r}function E(r){return 4==r.length}function d(r){return"number"==typeof r[0]&&"number"==typeof r[1]&&"number"==typeof r[2]&&"number"==typeof r[3]}function O(r){return"x"===r[0]&&"number"==typeof r[1]&&"number"==typeof r[2]&&"number"==typeof r[3]}function I(r){return"number"==typeof r[0]&&"number"==typeof r[1]&&"x"==r[2]&&"number"==typeof r[3]}function k(r){var e,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e10,a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!(r=new q(r)).isFinite())return r;if(a){if(r.eq(q.ZERO))return r;if(r.eq(q.ONE))return new q(p);e=q.log(r)}else{if(r.eq(q.ZERO))return q.NEGATIVE_INFINITY.clone();e=q.log(r.neg())}for(var n=0;n<100;++n){var o=e.neg().exp(),i=e.sub(r.mul(o)),u=e.add(q.ONE).sub(e.add(2).mul(i).div(q.mul(2,e).add(2)));if(u.eq(q.ZERO))return e;var l=e.sub(i.div(u));if(q.abs(l.sub(e)).lt(q.abs(l).mul(t)))return l;e=l}throw Error("Iteration failed to converge: "+r)}function x(r,e){return y([r.megota,r.expans,r.arrow],[e.megota,e.expans,e.arrow])}var M,q=function(){function r(e){!function(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r),this[i]="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 a=r.fromObject(e);this.resetFromObject(a)}else if("string"==typeof e){var n=r.fromString(e);this.resetFromObject(n)}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,c,f=this.clone().normalize(),h=new r(e);if(f.eq(r.POSITIVE_INFINITY)&&h.eq(r.NEGATIVE_INFINITY)||f.eq(r.NEGATIVE_INFINITY)&&h.eq(r.POSITIVE_INFINITY)){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(!f.isFinite())return f.clone();if(!h.isFinite())return h.clone();if(f.isZero())return h.clone();if(h.isZero())return f.clone();if(f.sign==-h.sign&&function(){var r=f.abs(),e=h.abs();return r.eq(e)}())return r.ZERO.clone();if(f.abs().lt(u)&&h.abs().lt(u)&&f.abs().gte(s)&&h.abs().gte(s))return r.fromNumber(f.toNumber()+h.toNumber());if(f.abs().lt(r.E_MSI_REC)||f.abs().gt(r.E_MSI)||h.abs().lt(r.E_MSI_REC)||h.abs().gt(r.E_MSI)){var y=f.maxabs(h);return f.abs().eq(y)?f:(h.abs().eq(y),h)}if(-1==f.sign)return f.neg().add(h.neg()).neg();f.cmpabs(h)>0?(i=f,c=h):(c=f,i=h);var N=i.toNumber()+c.toNumber();if(isFinite(N)&&0!==N)return r.fromNumber(N);var p=1;if(!(i.small||c.small||(null===(t=i.array[1])||void 0===t?void 0:t.repeat)||(null===(a=c.array[1])||void 0===a?void 0:a.repeat)||i.sign!=c.sign))return new r((i.array[0].repeat+c.array[0].repeat)*i.sign);var m=(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)),v=(c.small?-1:1)*((null===(o=c.array[1])||void 0===o?void 0:o.repeat)?c.array[0].repeat:Math.log10(c.array[0].repeat));if(m-v>l)return i;var w=-Math.floor(m),b=0,E=i.sign*Math.pow(10,m+w)+c.sign*Math.pow(10,v+w);if(E>0&&(b=Math.log10(E)-w),E<0&&(b=Math.log10(-E)-w,p*=-1),0==E)return r.ZERO.clone();var d=r.NaN.clone();return d.sign=1,d.array=b>l||b<-l?[g(b,0),g(1,1)]:[g(Math.pow(10,Math.abs(b)),0)],d.small=b<0,d.sign*=p,d}},{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.lte(308.25471555991675)?r.fromNumber(Math.pow(10,a.toNumber())):a.small?a.lt(r.MSI_REC)?r.ONE:new r(Math.pow(10,Math.pow(a.array[0].repeat,-1))):(a.gt(r.TETRATED_MSI)||(a.setOperator((null!==(t=null===(e=a.array[1])||void 0===e?void 0:e.repeat)&&void 0!==t?t:0)+1,1),a.normalize()),a):this.clone()}},{key:"pow",value:function(e){var t=new r(e);if(this.eq(1))return r.ONE.clone();if(!t.isFinite())return t.clone();if(!this.isFinite())return this.clone();if(this.eq(10))return t.pow10();if(t.isneg())return this.pow(t.neg()).rec();if(this.isneg()){if(!t.isInt()){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(u)?this.add(1).gamma():this.abs().lt(r.E_MSI)?r.exp(this.mul(this.log10().sub(1))):r.exp(this)}},{key:"gamma",value:function(){if(this.small)return this.rec();if(this.lte(u)){if(this.lt(24))return r.fromNumber(function(r){if(!isFinite(r))return r;if(r<-50)return r===Math.trunc(r)?Number.NEGATIVE_INFINITY:0;for(var e=1;r<10;)e*=r,++r;var t=.9189385332046727;t+=((r-=1)+.5)*Math.log(r),t-=r;var a=r*r,n=r;return t+=1/(12*n),t-=1/(360*(n*=a)),t+=1/(1260*(n*=a)),t-=1/(1680*(n*=a)),t+=1/(1188*(n*=a)),t-=691/(360360*(n*=a)),t+=7/(1092*(n*=a)),t-=3617/(122400*(n*=a)),Math.exp(t)/e}(this.sign*this.getOperator(0)));var e=this.getOperator(0)-1,t=.9189385332046727;t+=(e+.5)*Math.log(e);var a=e*e,n=e,o=12*n,i=1/o,l=(t-=e)+i;if(l===t)return r.exp(t);if((l=(t=l)-(i=1/(o=360*(n*=a))))===t)return r.exp(t);t=l;var s=1/(o=1260*(n*=a));return t+=s,t-=s=1/(o=1680*(n*=a)),r.exp(t)}return this.gt(u)?r.exp(this.mul(this.log().sub(1))):r.exp(this)}},{key:"lambertw",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=e;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(m(this.toNumber())):this.lt(u)?r.fromNumber(m(this.sign*this.getOperator(0))):this.lt("eee15")?k(this):this.log();if(-1===this.sign){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}return this.lt(9e15)?r.fromNumber(m(this.sign*this.array[0].repeat,1e-10,!1)):this.lt(r.E_MSI)?k(this,1e-10,!1):this.neg().rec().lambertw().neg()}},{key:"tetrate",value:function(e){var t,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=this.clone(),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(c)&&(o=o.add(i.slog(n))),o.isInfi()&&o.sign>0)return n.gte(c)?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(u/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 l=n.max(o);if(l.gt(r.PENTATED_MSI))return l;if(l.gt(r.TETRATED_MSI)||o.gt(u)){if(this.lt(c))return(t=n.ln().neg()).lambertw().div(t);var s=n.slog(10).add(o);return s.setOperator(s.getOperator(2)+1,2),s.normalize(),s}for(var f=o.toNumber(),h=Math.floor(f),g=n.pow(f-h),y=r.NaN,N=0,p=r.E_MSI.clone();0!==h&&g.lt(p)&&N<100;++N)if(h>0){if(g=n.pow(g),y.eq(g)){h=0;break}y=g,--h}else{if(g=g.log(n),y.eq(g)){h=0;break}y=g,++h}return(100==N||this.lt(c))&&(h=0),g.setOperator(g.getOperator(1)+h,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(c)){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/c)){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:"arrow",value:function(e){var t=this.clone(),a=new r(e);return!a.isInt()||a.lt(r.ZERO)?(console.warn("The arrow is <0 or not a integer, the returned function will return NaN."),function(){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}):a.eq(0)?function(r){return t.mul(r)}:a.eq(1)?function(r){return t.pow(r)}:a.eq(2)?function(r){return t.tetrate(r)}:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=new r(e),l=new r(n),s=r.arrowFuncMap.get("".concat(t.toString()," ").concat(a.toString()," ").concat(i.toString()," ").concat(o));if(s)return s.clone();var c=function(){var e;if(t.isNaN()||i.isNaN()||l.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(l.neq(r.ONE)&&(i=i.add(l.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,l,o+1);if(t.max(i).gt(r.arrowMSI(n+1)))return t.max(i);if(t.gt(r.arrowMSI(n))||i.gt(u)){t.gt(r.arrowMSI(n))?((e=t.clone()).setOperator(e.getOperator(n)-1,n),e.normalize()):e=t.gt(r.arrowMSI(n-1))?new r(t.getOperator(n-1)):r.ZERO;var s=e.add(i);return s.setOperator(s.getOperator(n)+1,n),s.normalize(),s}if(o>=r.maxOps+10)return new r({small:!1,sign:1,layer:0,array:[g(10,0),g(1,n)]});var c=i.toNumber(),f=Math.floor(c),h=a.sub(r.ONE);e=t.arrow(h)(c-f,l,o+1);for(var y=0,N=r.arrowMSI(n-1);0!==f&&e.lt(N)&&y<100;y++)f>0&&(e=t.arrow(h)(e,l,o+1),--f);return 100==y&&(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}}},{key:"anyarrow_log",value:function(e){var t=this.clone(),a=new r(e),n=a.toNumber();if(a.gt(u))throw new Error("[PowiainaNum 0.2 error]Not implemented");return!a.isInt()||a.lt(0)?function(){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(u))||a.gt(u)){n.gt("10{1,2}".concat(u))?((t=n.clone()).setOperator(t.getOperator(1,2)-1,1,2),t.normalize()):t=n.gt("10{".concat(u,"}10"))?new r(n.getOperator(1/0)):r.ZERO;var o=t.add(a);return o.setOperator(o.getOperator(1,2)+1,1,2),o.normalize(),o}var i,l=a.toNumber()-1;for(t=n.clone(),i=0;0!==l&&t.lt(u)&&i<100;++i)l>0&&(t=n.arrow(t)(n),--l);return 100==i&&(l=0),t.setOperator(t.getOperator(1/0)+l,1/0),t.normalize(),t}},{key:"expansionArrow",value:function(e){var t=new r(e),a=this.clone();if(t.lt(0)||!t.isInt()||t.isNaN()||this.isNaN())return function(){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 l=n.toNumber();if(i.eq(2))return a.expansionArrow(l-1)(a,o+1);if(a.max(i).gt("10{".concat(l+1,",2}").concat(u)))return a.max(i);if(a.gt("10{".concat(l,",2}").concat(u))||i.gt(u)){a.gt("10{".concat(l,",2}").concat(u))?((t=a.clone()).setOperator(t.getOperator(l,2)-1,l,2),t.normalize()):t=a.gt("10{".concat(l-1,",2}").concat(u))?new r(a.getOperator(l-1,2)):r.ZERO;var s=t.add(i);return s.setOperator(s.getOperator(l,2)+1,l,2),s.normalize(),s}if(o>=r.maxOps+10)return new r({small:!1,sign:1,layer:0,array:[g(10,0),g(1,l,2)]});var c=i.toNumber(),f=Math.floor(c),h=n.sub(r.ONE);t=a.expansionArrow(h)(c-f,o+1);for(var y=0,N=new r("10{".concat(l-1,",2}").concat(u));0!==f&&t.lt(N)&&y<100;y++)f>0&&(t=a.expansionArrow(h)(t,o+1),--f);return 100==y&&(f=0),t.setOperator(t.getOperator(l-1,2)+f,l-1,2),t.normalize(),t}}},{key:"multiExpansion",value:function(r){return this.expansionArrow(2)(r)}},{key:"powerExpansion",value:function(r){return this.expansionArrow(3)(r)}},{key:"explosion",value:function(e){return r.BEAF(this,e,1,3)}},{key:"megotion",value:function(e){return r.BEAF(this,e,1,1,2)}},{key:"powiaination",value:function(e){return r.BEAF(this,e,1,1,1,2)}},{key:"abs",value:function(){var r=this.clone();return r.sign<0&&(r.sign*=-1),r}},{key:"clampMin",value:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return r.max.apply(r,[this].concat(t))}},{key:"clampMax",value:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return r.min.apply(r,[this].concat(t))}},{key:"clamp",value:function(r,e){return this.max(r).min(e)}},{key:"max",value:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return r.max.apply(r,[this].concat(t))}},{key:"min",value:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return r.min.apply(r,[this].concat(t))}},{key:"maxabs",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var o=t.map((function(e){return new r(e).abs()}));return r.max.apply(r,[this.abs()].concat(a(o)))}},{key:"minabs",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var o=t.map((function(e){return new r(e).abs()}));return r.min.apply(r,[this.abs()].concat(a(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=y([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(u/2))}},{key:"ispos",value:function(){return this.sign>0}},{key:"isneg",value:function(){return this.sign<0}},{key:"getOperatorIndex",value:function(r){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=0;a<this.array.length;a++){var n=y([this.array[a].megota,this.array[a].expans,this.array[a].arrow],[t,e,r]);if(0==n)return a;if(1==n)return a-.5}return this.array.length-.5}},{key:"getOperator",value:function(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=this.getOperatorIndex(r,e,t);return this.array[a]?this.array[a].repeat:0}},{key:"setOperator",value:function(r,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,n=this.getOperatorIndex(e,t,a);return this.array[n]?(this.array[n].repeat=r,!1):(this.array.splice(Math.ceil(n),0,{arrow:e,expans:t,megota:a,valuereplaced:t===1/0?1:e==1/0?0:-1,repeat:r}),!0)}},{key:"toNumber",value:function(){return-1==this.sign?-this.neg().toNumber():this.small?1/this.rec().toNumber():this.array.length>2?1/0:1==this.array.length?this.array[0].repeat:2==this.array.length&&1==this.array[1].arrow&&1==this.array[1].expans&&1==this.array[1].megota&&1==this.array[1].repeat?Math.pow(10,this.getOperator(0)):NaN}},{key:"toString_core",value:function(){if(this.isNaN())return"NaN";if(-1==this.sign)return"-".concat(this.neg().toString());if(this.small)return this.isZero()?"0":"/".concat(this.rec().toString());if(this.isInfi())return"Infinity";var r="";this.layer?this.layer<3?r+="P".repeat(this.layer):r+="P^"+this.layer+" ":r+="";for(var e=this.array.length-1;e>=0;e--){var t=this.array[e],a="10{".concat(t.arrow===1/0?"!":t.arrow).concat(t.expans>1||t.megota>1?",".concat(t.expans===1/0?"!":t.expans):"").concat(t.megota>1?",".concat(t.megota):"","}");a=1==t.arrow&&1==t.expans&&1==t.megota&&t.repeat<5?"e".repeat(t.repeat):0==t.arrow&&1==t.expans&&1==t.megota?t.repeat.toString():t.repeat>1?"(".concat(a,")^").concat(t.repeat," "):"".concat(a),r+="".concat(a)}return r}},{key:"toString",value:function(){try{return this.toString_core()}catch(r){return console.error("Checked error when converting to string"),"NaN"}}},{key:"toJSON",value:function(){return"PN"+this.toString()}},{key:"arr01",get:function(){for(var r=[0],e=0;e<this.array.length;e++)0==e?r[0]=this.array[e].repeat:(r[e]=[0,0,0,0],r[e][0]=this.array[e].arrow==1/0?"x":this.array[e].arrow,r[e][1]=this.array[e].repeat,r[e][2]=this.array[e].expans==1/0?"x":this.array[e].expans,r[e][3]=this.array[e].megota);return r}},{key:"normalize",value:function(){var e=!0,t=this;void 0===this.array&&(t.array=[g(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=[g(NaN,0,1,1)],t;if(!isFinite(o.repeat)||!isFinite(o.megota))return t.array=[g(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=[g(1/0)]);do{e=!1,this.array.sort(x);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 s=1;s<t.array.length;++s)0===t.array[s].arrow||0!==t.array[s].repeat&&null!==t.array[s].repeat&&void 0!==t.array[s].repeat?0==t.array[s].arrow&&t.array[s].expans>=2&&(t.array[s].arrow=1/0,t.array[s].valuereplaced=0,t.array[s].expans=t.array[s].expans-1):(t.array.splice(s,1),--s);for(t.array.length>r.maxOps&&t.array.splice(1,t.array.length-r.maxOps),this.array.length>=2&&1==this.array[1].arrow&&this.array[1].repeat>=1&&this.array[0].repeat<l&&(this.setOperator(this.array[1].repeat-1,1),this.setOperator(Math.pow(10,this.array[0].repeat),0),e=!0),this.getOperator(0)>u&&isFinite(this.getOperator(0))&&(this.setOperator(this.getOperator(1)+1,1),this.setOperator(Math.log10(this.getOperator(0)),0),e=!0),this.array[this.array.length-1].megota>u?(this.layer++,this.array=[g(this.array[this.array.length-1].megota)],e=!0):this.layer&&1==this.array.length&&0===this.array[0].arrow&&(this.layer--,this.array=[g(10),g(1,10,10,this.array[0].repeat)],e=!0),1==this.array.length&&this.array[0].repeat<1&&(this.array[0].repeat=1/this.array[0].repeat,this.small=!this.small,e=!0),1==this.array.length&&1==this.array[0].repeat&&this.small&&(this.small=!1,e=!0),this.array.length>=2&&this.array[1].arrow>=u&&(this.array[0].repeat=this.array[1].arrow,this.array[1]=g(1,1/0,this.array[1].expans,this.array[1].megota));t.array.length>=2&&1==t.array[0].repeat&&t.array[1].repeat;)t.array[1].repeat>1?t.array[1].repeat--:t.array.splice(1,1),t.array[0].repeat=10,e=!0;t.array.length>=2&&t.array.length<r.maxOps&&t.array[0].repeat<u&&t.array[1].arrow>=2&&t.array[1].repeat>1&&isFinite(t.array[1].arrow)&&(t.array[1].repeat--,t.array.splice(1,0,g(t.array[0].repeat-1,t.array[1].arrow-1,t.array[1].expans,t.array[1].megota)),t.array[0].repeat=10,e=!0),t.array.length>=2&&t.array[0].repeat<u&&t.array[1].arrow>=2&&1==t.array[1].repeat&&isFinite(t.array[1].arrow)&&(t.array.splice(1,1,g(t.array[0].repeat-1,t.array[1].arrow-1,t.array[1].expans,t.array[1].megota)),t.array[0].repeat=10,e=!0),t.array.length>=2&&t.array[1].repeat>u&&t.array[1].arrow!==1/0&&(t.array[1].arrow++,t.array[0].repeat=t.array[1].repeat,t.array[1].repeat=1,e=!0),t.array.length>=2&&t.array[1].repeat>u&&t.array[1].arrow===1/0&&(t.array[1].arrow=1,t.array[1].expans++,t.array[0].repeat=t.array[1].repeat,t.array[1].repeat=1,e=!0)}while(e);return this}},{key:"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:"arrow",value:function(e,t,a){return new r(e).arrow(t)(a)}},{key:"arrFrac",value:function(e,t){var a=new r(e).clone(),n=new r(t).clone();return new r(a).arrow(n.floor().add(1))(a.div(2).pow(n.sub(n.floor())).mul(2))}},{key:"arrowMSI",value:function(e){return new r("10{".concat(e,"}").concat(u))}},{key:"hyper",value:function(e){var t=new r(e);return t.eq(0)?function(e,t){return new r(t).eq(0)?new r(e):new r(e).add(1)}:t.eq(1)?r.add:t.eq(2)?r.mul:t.eq(3)?r.pow:function(e,a){return new r(e).arrow(t.sub(2))(a)}}},{key:"pentate",value:function(e,t,a){return new r(e).arrow(3)(t,a)}},{key:"hexate",value:function(e,t,a){return new r(e).arrow(4)(t,a)}},{key:"pent",value:function(e,t,a){return new r(e).arrow(3)(t,a)}},{key:"penta_log",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10;return new r(e).anyarrow_log(3)(t)}},{key:"expansion",value:function(e,t){return new r(e).expansion(t)}},{key:"multiExpansion",value:function(e,t){return new r(e).multiExpansion(t)}},{key:"powerExpansion",value:function(e,t){return new r(e).powerExpansion(t)}},{key:"BEAF",value:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];function n(e){return void 0!==t[e]&&null!==t[e]?new r(t[e]):new r(1)}return n(0).eq(1)?new r(1):n(1).eq(1)?new r(n(0)):n(5).eq(2)&&(n(4).gte(2)||n(3).gte(2)||n(2).gte(2))||0!==t.slice(6).map((function(e){return new r(e)})).filter((function(r){return r.gt(1)})).length?r.POSITIVE_INFINITY.clone():r.BEAF_core(n(0),n(1),n(2),n(3),n(4),n(5))}},{key:"BEAF_core",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,c=new r(e),f=new r(t);function h(e){var t;return new r(null!==(t=[n,o,i,l][e])&&void 0!==t?t:1)}if(c.eq(1))return new r(1);if(f.eq(1))return new r(c);if(f.isZero())return new r(1);if(c.lt(0)){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(new r(l).gte(3))return r.POSITIVE_INFINITY.clone();if(h(0).eq(1)&&h(1).eq(1)&&h(2).eq(1))return c.pow(f);if(h(0).eq(2)&&h(1).eq(1)&&h(2).eq(1)&&h(3).eq(1))return c.tetrate(f);if(h(1).eq(1)&&h(2).eq(1)&&h(3).eq(1))return c.arrow(h(0))(f);if(h(1).eq(2)&&h(2).eq(1)&&h(3).eq(1))return c.expansionArrow(h(0))(f);var y=h(0).toNumber(),N=h(1),p=h(2),m=h(3);if(m.eq(2)){if(1!=y)return r.POSITIVE_INFINITY.clone();if(N.neq(1))return r.POSITIVE_INFINITY.clone();if(p.neq(1))return r.POSITIVE_INFINITY.clone();if(f.gte(u))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(u)){var b=new r(p);return b.layer++,b.normalize(),b}function E(r){return isFinite(r)?r.toString():"!"}function d(r,e,t){return"10{".concat(E(r),",").concat(E(e),",").concat(t,"}").concat(u)}var O=c.clone(),I=new r(h(0)),k=function(s){var h,y,m=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;console.log("".concat("-".repeat(m)," {").concat(e,",").concat(t,",").concat(n,",").concat(o,",").concat(i,"}"));var v,b=new r(s);if(O.isNaN()||b.isNaN())return r.NaN.clone();if(b.lt(r.ZERO))return r.NaN.clone();if(O.eq(r.ZERO)){if(b.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(b.eq(r.ZERO))return r.ONE.clone();if(b.eq(r.ONE))return O.clone();if(I.eq(0))return r.BEAF(O,O,f,N.sub(1),p,l,m+1);if(N.eq(0))return r.BEAF(O,O,O,f,p.sub(1),l,m+1);if(p.eq(0))return r.BEAF(O,O,O,O,N,new r(l).sub(1),m+1);if(N.gt(u))return(v=new r(N)).setOperator(v.getOperator(1,1/0,p.toNumber())+1,1,1/0,p.toNumber()),v;if(I.gt(r.MSI))return(v=I.clone()).setOperator(v.getOperator(1/0,N.toNumber(),p.toNumber())+1,1/0,N.toNumber(),p.toNumber()),v;var E=I.toNumber();if(b.eq(2))return r.BEAF(O,O,E-1,N,p,l,m+1);if(O.max(b).gt(d(E+1,N.toNumber(),p.toNumber())))return O.max(b);if(O.gt(d(E,N.toNumber(),p.toNumber()))||b.gt(u)){O.gt(d(E,N.toNumber(),p.toNumber()))?((v=O.clone()).setOperator(v.getOperator(E,N.toNumber(),p.toNumber())-1,E,N.toNumber(),p.toNumber()),v.normalize()):v=O.gt(d.apply(void 0,a(w(E-1,N.toNumber(),p.toNumber()))))?new r(O.getOperator.apply(O,a(w(E-1,N.toNumber(),p.toNumber())))):r.ZERO;var k=v.add(b);return k.setOperator(k.getOperator(E,N.toNumber(),p.toNumber())+1,E,N.toNumber(),p.toNumber()),k.normalize(),k}if(m>=r.maxOps+10)return new r({small:!1,sign:1,layer:0,array:[g(10,0),g(1,E,N.toNumber(),p.toNumber())]});var x=b.toNumber(),M=Math.floor(x),q=I.sub(r.ONE);v=r.BEAF(O,x-M,q.toNumber(),N,p,l,m+1);for(var S=0,R=new r(d.apply(void 0,a(w(E-1,N.toNumber(),p.toNumber()))));0!==M&&v.lt(R)&&S<100;S++)M>0&&(v=r.BEAF(c,v,q.toNumber(),N,p,l,m+1),--M);return 100==S&&(M=0),(h=v).setOperator.apply(h,[(y=v).getOperator.apply(y,a(w(E-1,N.toNumber(),p.toNumber())))+M].concat(a(w(E-1,N.toNumber(),p.toNumber())))),v.normalize(),v}(f,s);return console.log("".concat("-".repeat(s)," = ").concat(k)),k}},{key:"abs",value:function(e){return new r(e).abs()}},{key:"max",value:function(){for(var e=r.NEGATIVE_INFINITY,t=arguments.length,a=new Array(t),n=0;n<t;n++)a[n]=arguments[n];for(var 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:"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=[g(1/0,0)],t;e>0&&(t.sign=1)}var a=Math.abs(e);return a==1/0?t.array=[g(1/0,0)]:a>=s&&a<1?(t.small=!0,t.array=[g(1/a,0)]):a<s?(t.small=!0,t.array=[g(-Math.log10(a),0),g(1,1)]):a<=u?t.array=[g(a,0)]:(t.setOperator(Math.log10(a),0),t.array=[g(Math.log10(a),0),g(1,1)]),t}},{key:"fromString",value:function(e){if(r.usingBreakEternityLikeFromString&&h.test(e)){var t=e.match(/(e+-)(\d+(.\d+)?)/);if(t){var a=t[1].length;e="e-"+"e".repeat(a-1)+t[2]}}return this.fromString_core(e)}},{key:"fromString_core",value:function(e){var t,a,n,o,i,s,c,h=new r(NaN);if(e.startsWith("PN")&&(e=e.substring(2)),"NaN"==e)return r.NaN.clone();if(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(/J\^(\d+)/g,"(10{!})^$1")).replace(/J/g,"10{!}")).replace(/K\^(\d+)/g,"(10{1,2})^$1")).replace(/K/g,"10{1,2}")).replace(/L\^(\d+)/g,"(10{2,2})^$1")).replace(/L/g,"10{2,2}")).replace(/M\^(\d+)/g,"(10{!,2})^$1")).replace(/M/g,"10{!,2}")).replace(/N\^(\d+)/g,"(10{1,!})^$1")).replace(/N/g,"10{1,!}"),/^.*e-.*(e|\^).*/.test(e)&&(e="/10^"+e.substring(e.indexOf("e-"))),!isNaN(Number(e))){var y=Number(e),p=!1;if(0==y?/^((0)|(0*\.0+e\d+)|(0*\.0*))$/.test(e)&&(p=!0):p=!0,!p){var m=e.search(/e/),v=e.substring((-1==m?e.length:m)+1),w=e.substring(0,-1==m?void 0:m),b=[0,0];if(b[1]=Number(v||"0"),Number(w)>=1){var E=w.length>=17?N(w):Math.log10(Number(w)),d=Math.floor(E),O=E-d;b[0]=Math.pow(10,O),b[1]+=d}else{var I=(c=w.match(/^0\.(0*)[1-9]/))?c[1].length:0;w=(w=w.substring(w.search(/[1-9]/))).charAt(0)+"."+w.substring(1),I+=1,b[0]=Number(w),b[1]+=-I}return r.pow(10,-b[1]-1).mul(10*Math.pow(b[0],-1)).rec()}if(isFinite(y)&&p)return h=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(h=r.fromObject(k.array)).layer=k.lValue,h.sign=k.sValue,h.small=!1,h.normalize(),h}if(e=function(r){for(var e="",t=!1,a=0;a<r.length;a++){var n=r[a];"{"===n?(t=!0,e+=n):"}"===n?(t=!1,e+=n):","===n?t&&(e+=n):e+=n}return e}(e=e.replace(/\(e\^(\d+)\)/g,"(10^)^$1 ").replace(/(\d+)[Pp][Tt]/g,"(10^)^$1 ")),!f.test(e))throw"[PowiainaNum 0.2 error]malformed input: "+e;var x=!1,M=!1;if("-"==e[0]||"+"==e[0]){var q=e.search(/[^-\+]/);x=(null!==(a=null===(t=e.substring(0,q).match(/-/g))||void 0===t?void 0:t.length)&&void 0!==a?a:0)%2==1,e=e.substring(q)}if("/"==e[0]){var S=e.search(/[^\/]/);M=(null!==(o=null===(n=e.substring(0,S).match(/\//g))||void 0===n?void 0:n.length)&&void 0!==o?o:0)%2==1,e=e.substring(S)}if("NaN"==e)h.array=[g(NaN)];else if("Infinity"==e)h.array=[g(1/0)];else{var R,T,_,F;for(h.sign=1,h.array=[g(0)],"P"==e[0]&&("^"==e[1]?(R=e.substring(2).search(/[^0-9]/)+2,h.layer=Number(e.substring(2,R)),e=e.substring(R+1)):(R=e.search(/[^P]/),h.layer=R,e=e.substring(R)));e&&/^(\(?10[\^\{])/.test(e);){var A=void 0,Z=void 0,P=void 0;if("("==e[0]&&(e=e.substring(1)),"^"==e[2])A=R=e.substring(2).search(/[^\^]/),T=R+2;else{R=e.indexOf("}");var V=e.substring(3,R).split(",");A=Number("!"==V[0]?1/0:V[0]),Z=Number(null!==(i="!"==V[1]?1/0:V[1])&&void 0!==i?i:1),P=Number(null!==(s=V[2])&&void 0!==s?s:1),T=R+1}")"==(e=e.substring(T))[0]?(R=e.indexOf(" "),_=Number(e.substring(2,R)),e=e.substring(R+1)):_=1,1==A&&1==Z&&1==P?h.array.length>=2&&1==h.array[1].arrow?h.array[1].repeat+=_:h.array.splice(1,0,g(_,1,Z,P)):2==A&&1==Z&&1==P?(R=h.array.length>=2&&1==h.array[1].arrow?h.array[1].repeat:0,(T=h.array[0].repeat)>=1e10&&++R,T>=10&&++R,h.array[0].repeat=R,h.array.length>=2&&1==h.array[1].arrow&&h.array.splice(1,1),F=h.getOperatorIndex(2),Number.isInteger(F)?h.array[F].repeat+=_:h.array.splice(Math.ceil(F),0,g(_,2,Z,P))):isFinite(A)?(R=h.getOperator(A-1),(T=h.getOperator(A-2))>=10&&++R,F=h.getOperatorIndex(A),h.array.splice(1,Math.ceil(F)-1),h.array[0].repeat=R,Number.isInteger(F)?h.array[1].repeat+=_:h.array.splice(1,0,g(_,A,Z,P))):h.array.splice(1,0,g(_,A,Z,P))}R=e.split(/[Ee]/),T=[h.array[0].repeat,0],_=1;for(var Y=R.length-1;Y>=0;--Y){T[0]<l&&0===T[1]?T[0]=Math.pow(10,_*T[0]):-1==_?(0===T[1]?T[0]=Math.pow(10,_*T[0]):1==T[1]&&T[0]<=Math.log10(Number.MAX_VALUE)?T[0]=Math.pow(10,_*Math.pow(10,T[0])):T[0]=0,T[1]=0):T[1]++;var z=R[Y].indexOf("."),G=-1==z?R[Y].length:z;0===T[1]?G>=17?(T[0]=Math.log10(T[0])+N(R[Y].substring(0,G)),T[1]=1):R[Y]&&(T[0]*=Number(R[Y])):(F=G>=17?N(R[Y].substring(0,G)):R[Y]?Math.log10(Number(R[Y])):0,1==T[1]?T[0]+=F:2==T[1]&&T[0]<l+Math.log10(F)&&(T[0]+=Math.log10(1+Math.pow(10,Math.log10(F)-T[0])))),T[0]<l&&T[1]?(T[0]=Math.pow(10,T[0]),T[1]--):T[0]>u&&(T[0]=Math.log10(T[0]),T[1]++)}h.array[0].repeat=T[0],T[1]&&(h.array.length>=2&&1==h.array[1].arrow&&1==h.array[1].expans&&1==h.array[1].megota?h.array[1].repeat+=T[1]:h.array.splice(1,0,g(T[1],1,1,1)))}return x&&(h.sign*=-1),M&&(h.small=!h.small),h.normalize(),h.normalize(),h}},{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(!v(t))return!1;if(!w(t))return!1}return!0}(e)){for(var a=0;a<e.length;a++)t.array[a]={arrow:e[a][0],expans:1,megota:1,repeat:e[a][1]};return t.small=!1,t.sign=1,t.layer=0,t}if(function(r){if(!Array.isArray(r))return!1;if("number"!=typeof r[0])return!1;for(var e=1;e<r.length;e++){var t=r[e];if(!Array.isArray(t))return!1;if(!E(t))return!1;if(!d(t)&&!O(t)&&!I(t))return!1}return!0}(e)){var n=e;t.array[0]=g(n[0]);for(var o=1;o<n.length;o++){var i=n[o];t.array[1]=g(i[1],b(i[0]),b(i[2]),i[3])}return t.small=!1,t.sign=1,t.layer=0,t}return t.resetFromObject(e),t}},{key:"grahalFunction",value:function(e){var t=new r(e);return!t.isInt()||t.lt(0)||t.isNaN()?r.NaN.clone():t.eq(1)?new r("10^^^(10^)^7625597484984 3638334640023.7783"):t.lte(u)?new r("(10{!})^".concat(t.toNumber()," 10^^^(10^)^7625597484984 3638334640023.7783")):r.BEAF(3,t,1,2)}}])}();i=Symbol.toStringTag,q.ZERO=new q({array:[{arrow:0,expans:1,megota:1,repeat:1/0}],small:!0,layer:0,sign:0}),q.ONE=new q({array:[{arrow:0,expans:1,megota:1,repeat:1}],small:!1,layer:0,sign:1}),q.MSI=new q(u),q.MSI_REC=((M=new q(u)).small=!0,M),q.E_MSI=new q({array:[{arrow:0,expans:1,megota:1,repeat:u},{arrow:1,expans:1,megota:1,repeat:1}],small:!1,layer:0,sign:1}),q.EE_MSI=new q({array:[{arrow:0,expans:1,megota:1,repeat:u},{arrow:1,expans:1,megota:1,repeat:2}],small:!1,layer:0,sign:1}),q.E_MSI_REC=new q({array:[{arrow:0,expans:1,megota:1,repeat:u},{arrow:1,expans:1,megota:1,repeat:1}],small:!0,layer:0,sign:1}),q.TETRATED_MSI=new q({array:[{arrow:0,expans:1,megota:1,repeat:1e10},{arrow:1,expans:1,megota:1,repeat:u-2}],small:!1,layer:0,sign:1}),q.PENTATED_MSI=new q({array:[{arrow:0,expans:1,megota:1,repeat:10},{arrow:2,expans:1,megota:1,repeat:u-1}],small:!1,layer:0,sign:1}),q.TRITRI=new q({small:!1,layer:0,sign:1,array:[g(3638334640023.7783,0,1,1),g(7625587484984,1,1,1)]}),q.GRAHAMS_NUMBER=new q("(10{!})^63 10^^^(10^)^7625597484984 3638334640023.7783"),q.POSITIVE_INFINITY=new q(1/0),q.NEGATIVE_INFINITY=new q(-1/0),q.NaN=new q({array:[{arrow:0,expans:1,megota:1,repeat:NaN}],small:!1,layer:0,sign:0}),q.E=new q(Math.E),q.LN2=new q(Math.LN2),q.LN10=new q(Math.LN10),q.LOG2E=new q(Math.LOG2E),q.LOG10E=new q(Math.LOG10E),q.PI=new q(Math.PI),q.SQRT1_2=new q(Math.SQRT1_2),q.SQRT2=new q(Math.SQRT2),q.maxOps=100,q.POW_2_44_MOD_PI=1.701173079953,q.arrowFuncMap=new Map,q.usingBreakEternityLikeFromString=!0,q.blankArgumentConstructorReturnZero=!1,q.throwErrorOnResultNaN=!1,r.arraySortFunction=x,r.default=q,r.mergeSameArrays=function(r){for(var e=1;e<r.array.length-1;++e)r.array[e].arrow==r.array[e+1].arrow&&r.array[e].expans==r.array[e+1].expans&&r.array[e].megota==r.array[e+1].megota&&(r.array[e].repeat+=r.array[e+1].repeat,r.array.splice(e+1,1),--e)},Object.defineProperty(r,"__esModule",{value:!0})}));
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,o(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,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=(n=o.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&&(i=t.return(),Object(i)!==i))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 o(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 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 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],o=e[1][n];if(a<o)return-1;if(a>o)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],o=n,i=a;if(!Number.isFinite(r))return r;if(i){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)<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 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 x(r){return"number"==typeof r[0]&&"number"==typeof r[1]&&"x"==r[2]&&"number"==typeof r[3]}function M(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 _(r)).isFinite())return r;if(n){if(r.eq(_.ZERO))return r;if(r.eq(_.ONE))return new _(v);e=_.log(r)}else{if(r.eq(_.ZERO))return _.NEGATIVE_INFINITY.clone();e=_.log(r.neg())}for(var a=0;a<100;++a){var o=e.neg().exp(),i=e.sub(r.mul(o)),u=e.add(_.ONE).sub(e.add(2).mul(i).div(_.mul(2,e).add(2)));if(u.eq(_.ZERO))return e;var l=e.sub(i.div(u));if(_.abs(l.sub(e)).lt(_.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])}var S,_=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 n=r.fromObject(e);this.resetFromObject(n)}else if("string"==typeof e){var a=r.fromString(e);this.resetFromObject(a)}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,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 p=1;if(!(i.small||u.small||(null===(t=i.array[1])||void 0===t?void 0:t.repeat)||(null===(n=u.array[1])||void 0===n?void 0:n.repeat)||i.sign!=u.sign))return new r((i.array[0].repeat+u.array[0].repeat)*i.sign);var m=(i.small?-1:1)*((null===(a=i.array[1])||void 0===a?void 0:a.repeat)?i.array[0].repeat:Math.log10(i.array[0].repeat)),v=(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(m-v>c)return i;var w=-Math.floor(m),b=0,d=i.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,o=t.toNumber()*n.toNumber();return isFinite(o)&&0!==o?r.fromNumber(o):((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.lte(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(),o=t.toNumber(),i=Math.pow(a,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 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,o=12*a,i=1/o,u=(t-=e)+i;if(u===t)return r.exp(t);if((u=(t=u)-(i=1/(o=360*(a*=n))))===t)return r.exp(t);t=u;var l=1/(o=1260*(a*=n));return t+=l,t-=l=1/(o=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")?M(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)?M(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(),o=new r(e),i=new r(n);if(a.isNaN()||o.isNaN()||i.isNaN()){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(a.eq(1))return r.ONE.clone();if(i.neq(r.ONE)&&a.gte(h)&&(o=o.add(i.slog(a))),o.isInfi()&&o.sign>0)return a.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(a.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(a.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 a;if(o.eq(2))return a.pow(a);if(a.eq(2)){if(o.eq(3))return r.fromNumber(16);if(o.eq(4))return r.fromNumber(65536)}var u=a.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=a.ln().neg()).lambertw().div(t);var l=a.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=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 o=0,i=t.getOperator(1)-n.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,n=this.clone(),a=new r(t),o=new r(e);return o.isZero()?n:o.eq(r.ONE)?n.log(a):a.tetrate(n.slog(a).sub(o))}},{key:"arrow",value:function(e){var t=this.clone(),n=new r(e);return!n.isInt()||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.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,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=new r(e),u=new r(a),l=r.arrowFuncMap.get("".concat(t.toString()," ").concat(n.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(n)(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(n.gt(r.MSI))return(e=n.clone()).setOperator(e.getOperator(1/0)+1,1/0),e;var a=n.toNumber();if(i.eq(2))return t.arrow(a-1)(t,u,o+1);if(t.max(i).gt(r.arrowMSI(a+1)))return t.max(i);if(t.gt(r.arrowMSI(a))||i.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(i);return l.setOperator(l.getOperator(a)+1,a),l.normalize(),l}if(o>=r.maxOps+10)return new r({small:!1,sign:1,layer:0,array:[N(10,0),N(1,a)]});var c=i.toNumber(),f=Math.floor(c),h=n.sub(r.ONE);e=t.arrow(h)(c-f,u,o+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,o+1),--f);return 100==g&&(f=0),e.setOperator(e.getOperator(a-1)+f,a-1),e.normalize(),e}();return o<r.maxOps+10&&r.arrowFuncMap.set("".concat(t.toString()," ").concat(n.toString()," ").concat(i.toString()," ").concat(o),c.clone()),c}}},{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,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(a+1)))return t.gt(o)?t:r.ZERO.clone();if(t.max(o).gt(r.arrowMSI(a))&&t.gt(o))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 i=0,u=t.getOperator(a)-o.getOperator(a);if(u>3){var l=u-3;i+=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),--i;else{if(t.lte(1))return new r(i+t.toNumber()-1);++i,t=t.anyarrow_log(a-1)(e,n+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,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 o=t.add(n);return o.setOperator(o.getOperator(1,2)+1,1,2),o.normalize(),o}var i,u=n.toNumber()-1;for(t=a.clone(),i=0;0!==u&&t.lt(s)&&i<100;++i)u>0&&(t=a.arrow(t)(a),--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),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,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=new r(e);if(n.isNaN()||i.isNaN())return r.NaN.clone();if(i.lt(r.ZERO)){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(n.eq(r.ZERO)){if(i.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(i.eq(r.ZERO))return r.ONE.clone();if(i.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(i.eq(2))return n.expansionArrow(u-1)(n,o+1);if(n.max(i).gt("10{".concat(u+1,",2}").concat(s)))return n.max(i);if(n.gt("10{".concat(u,",2}").concat(s))||i.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(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:[N(10,0),N(1,u,2)]});var c=i.toNumber(),f=Math.floor(c),h=a.sub(r.ONE);t=n.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=n.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),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 o=t.map((function(e){return new r(e).abs()}));return r.max.apply(r,[this.abs()].concat(a(o)))}},{key:"minabs",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var o=t.map((function(e){return new r(e).abs()}));return r.min.apply(r,[this.abs()].concat(a(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 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 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=p([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*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 o=t.array[a];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=[N(NaN,0,1,1)],t;if(!isFinite(o.repeat)||!isFinite(o.megota))return t.array=[N(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=[N(1/0)]);do{e=!1,this.array.sort(q);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);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],o=e.mul(t.pow(n));return r.div(o).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)),o=a.pow(2);return a.neg().add(o.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){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,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=[a,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),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),o=a[0],i=a[1],u=a[2];return"10{".concat(d(o),",").concat(d(i),",").concat(u,"}").concat(s)}var O=c.clone(),I=new r(h(0)),k=function(n){var l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;console.log("".concat("-".repeat(l)," {").concat(e,",").concat(t,",").concat(a,",").concat(o,",").concat(i,"}"));var c,h=new r(n);if(O.isNaN()||h.isNaN())return r.NaN.clone();if(h.lt(r.ZERO))return r.NaN.clone();if(O.eq(r.ZERO)){if(h.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(h.eq(r.ZERO))return r.ONE.clone();if(h.eq(r.ONE))return O.clone();if(I.eq(0))return r.BEAF_core(O,O,f,y.sub(1),p,u,l+1);if(y.eq(0))return r.BEAF_core(O,O,O,f,p.sub(1),u,l+1);if(p.eq(0))return r.BEAF_core(O,O,O,O,y,new r(u).sub(1),l+1);if(p.gt(s))throw new Error("Not implemeneted");if(y.gt(s))return(c=new r(y)).setOperator(c.getOperator(1,1/0,p.toNumber())+1,1,1/0,p.toNumber()),c;if(I.gt(r.MSI))return(c=I.clone()).setOperator(c.getOperator(1/0,y.toNumber(),p.toNumber())+1,1/0,y.toNumber(),p.toNumber()),c;var g=I.toNumber();if(h.eq(2))return r.BEAF_core(O,O,g-1,y,p,u,l+1);if(O.max(h).gt(E(g+1,y.toNumber(),p.toNumber())))return O.max(h);if(O.gt(E(g+1,y.toNumber(),p.toNumber()))||h.gt(s)){O.gt(E(g,y.toNumber(),p.toNumber()))?((c=O.clone()).setOperator(c.getOperator(g,y.toNumber(),p.toNumber())-1,g,y.toNumber(),p.toNumber()),c.normalize()):c=O.gt(E(g-1,y.toNumber(),p.toNumber()))?new r(O.getOperator(g-1,y.toNumber(),p.toNumber())):r.ZERO;var v=c.add(h);return v.setOperator(v.getOperator(g,y.toNumber(),p.toNumber())+1,g,y.toNumber(),p.toNumber()),v.normalize(),v}if(l>=r.maxOps+10)return new r({small:!1,sign:1,layer:0,array:[N(10,0),N(1,g,y.toNumber(),p.toNumber())]});var w=h.toNumber(),b=Math.floor(w),d=I.sub(r.ONE);c=r.BEAF_core(O,w-b,d,y,p,m,l+1);for(var k=0,x=E(g-1,y.toNumber(),p.toNumber());0!==b&&c.lt(x)&&k<100;k++)b>0&&(c=r.BEAF_core(O,c,d,y,p,m,l+1),--b);return 100==k&&(b=0),c.setOperator(c.getOperator(g-1,y.toNumber(),p.toNumber())+b,g-1,y.toNumber(),p.toNumber()),c.normalize(),c}(f,l);return console.log("".concat("-".repeat(l)," = ").concat(k)),k}},{key:"abs",value:function(e){return new r(e).abs()}},{key:"max",value:function(){for(var e=r.NEGATIVE_INFINITY,t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];for(var o=0;o<n.length;o++)e.lt(n[o])&&(e=new r(n[o]).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 o=0;o<n.length;o++)e.gt(n[o])&&(e=new r(n[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:"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-"+"e".repeat(n-1)+t[2]}}return this.fromString_core(e)}},{key:"fromString_core",value:function(e){var t,n,a,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 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 x=!1,M=!1;if("-"==e[0]||"+"==e[0]){var q=e.search(/[^-\+]/);x=(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(/[^\/]/);M=(null!==(o=null===(a=e.substring(0,S).match(/\//g))||void 0===a?void 0:a.length)&&void 0!==o?o: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 V=e.substring(3,_).split(",");A=Number("!"==V[0]?1/0:V[0]),Z=Number(null!==(i="!"==V[1]?1/0:V[1])&&void 0!==i?i:1),P=Number(null!==(u=V[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 Y=_.length-1;Y>=0;--Y){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=_[Y].indexOf("."),j=-1==z?_[Y].length:z;0===R[1]?j>=17?(R[0]=Math.log10(R[0])+m(_[Y].substring(0,j)),R[1]=1):_[Y]&&(R[0]*=Number(_[Y])):(F=j>=17?m(_[Y].substring(0,j)):_[Y]?Math.log10(Number(_[Y])):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 x&&(f.sign*=-1),M&&(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){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)&&!x(t))return!1}return!0}(e)){var a=e;t.array[0]=N(a[0]);for(var o=1;o<a.length;o++){var i=a[o];t.array[1]=N(i[1],E(i[0]),E(i[2]),i[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,_.ZERO=new _({array:[{arrow:0,expans:1,megota:1,repeat:1/0}],small:!0,layer:0,sign:0}),_.ONE=new _({array:[{arrow:0,expans:1,megota:1,repeat:1}],small:!1,layer:0,sign:1}),_.MSI=new _(s),_.MSI_REC=((S=new _(s)).small=!0,S),_.E_MSI=new _({array:[{arrow:0,expans:1,megota:1,repeat:s},{arrow:1,expans:1,megota:1,repeat:1}],small:!1,layer:0,sign:1}),_.EE_MSI=new _({array:[{arrow:0,expans:1,megota:1,repeat:s},{arrow:1,expans:1,megota:1,repeat:2}],small:!1,layer:0,sign:1}),_.E_MSI_REC=new _({array:[{arrow:0,expans:1,megota:1,repeat:s},{arrow:1,expans:1,megota:1,repeat:1}],small:!0,layer:0,sign:1}),_.TETRATED_MSI=new _({array:[{arrow:0,expans:1,megota:1,repeat:1e10},{arrow:1,expans:1,megota:1,repeat:s-2}],small:!1,layer:0,sign:1}),_.PENTATED_MSI=new _({array:[{arrow:0,expans:1,megota:1,repeat:10},{arrow:2,expans:1,megota:1,repeat:s-1}],small:!1,layer:0,sign:1}),_.TRITRI=new _({small:!1,layer:0,sign:1,array:[N(3638334640023.7783,0,1,1),N(7625587484984,1,1,1)]}),_.GRAHAMS_NUMBER=new _("(10{!})^63 10^^^(10^)^7625597484984 3638334640023.7783"),_.POSITIVE_INFINITY=new _(1/0),_.NEGATIVE_INFINITY=new _(-1/0),_.NaN=new _({array:[{arrow:0,expans:1,megota:1,repeat:NaN}],small:!1,layer:0,sign:0}),_.E=new _(Math.E),_.LN2=new _(Math.LN2),_.LN10=new _(Math.LN10),_.LOG2E=new _(Math.LOG2E),_.LOG10E=new _(Math.LOG10E),_.PI=new _(Math.PI),_.SQRT1_2=new _(Math.SQRT1_2),_.SQRT2=new _(Math.SQRT2),_.maxOps=100,_.POW_2_44_MOD_PI=1.701173079953,_.arrowFuncMap=new Map,_.usingBreakEternityLikeFromString=!0,_.blankArgumentConstructorReturnZero=!1,_.throwErrorOnResultNaN=!1,r.arraySortFunction=q,r.default=_,r.mergeSameArrays=function(r){for(var e=1;e<r.array.length-1;++e)r.array[e].arrow==r.array[e+1].arrow&&r.array[e].expans==r.array[e+1].expans&&r.array[e].megota==r.array[e+1].megota&&(r.array[e].repeat+=r.array[e+1].repeat,r.array.splice(e+1,1),--e)},Object.defineProperty(r,"__esModule",{value:!0})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "powiaina_num.js",
3
- "version": "0.2.14",
3
+ "version": "0.2.15",
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",