powiaina_num.js 0.2.14 → 0.2.16

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
  }
@@ -64,7 +100,7 @@ function _unsupportedIterableToArray(r, a) {
64
100
  }
65
101
  }
66
102
 
67
- /* Author: VeryrrDefine 0.2.0-beta.1.1*/
103
+ /* Author: VeryrrDefine 0.2.16*/
68
104
  var _a;
69
105
  //#endregion
70
106
  //#region constants
@@ -113,6 +149,13 @@ function removeCommasOutsideBraces(input) {
113
149
  }
114
150
  return result;
115
151
  }
152
+ function isIBreakEternity(obj) {
153
+ if (obj === null || _typeof(obj) !== "object") return false;
154
+ if (!("mag" in obj && typeof obj.mag == "number")) return false;
155
+ if (!("layer" in obj && typeof obj.layer == "number")) return false;
156
+ if (!("sign" in obj && typeof obj.sign == "number")) return false;
157
+ return true;
158
+ }
116
159
  // parse 0.1.x PowiainaNum.js string
117
160
  function parseLegacyPowiainaNumString(str) {
118
161
  var pattern = /l(\d+)\s+s(\d+)\s+a(\[.*\])/;
@@ -347,6 +390,55 @@ function mergeSameArrays(x) {
347
390
  }
348
391
  }
349
392
  }
393
+ function arrFracParaInv(x, y, res2) {
394
+ var res = new PowiainaNum(x).pow(new PowiainaNum(res2).sub(y).add(1)).mul(new PowiainaNum(2).pow(new PowiainaNum(y).sub(res2)));
395
+ return res;
396
+ }
397
+ function arrFracPara(x, y, z) {
398
+ var lg2 = new PowiainaNum(2).logBase(x);
399
+ return new PowiainaNum(y).sub(1).add(new PowiainaNum(z).logBase(x).sub(lg2).div(new PowiainaNum(1).sub(lg2)));
400
+ }
401
+ function arrowpsdInv(base, height, res4) {
402
+ var x = new PowiainaNum(base);
403
+ var y = new PowiainaNum(height);
404
+ var z = new PowiainaNum(res4);
405
+ var res = arrFracParaInv(x, y, new PowiainaNum(z).omegalog(x.toNumber()));
406
+ if (z.gt(x)) {
407
+ var add2handled = arrowpsdInv(x, y.add(1), z);
408
+ var handled = add2handled.sub(2);
409
+ var bottom = arrowpsdInv(x, y, x);
410
+ var top = x.clone();
411
+ var anylog2 = handled.pow_base(top.div(bottom)).mul(bottom);
412
+ return arrowpsd(x, y, anylog2);
413
+ }
414
+ return res;
415
+ }
416
+ function arrowpsd(base, height, other) {
417
+ var x = new PowiainaNum(base);
418
+ var y = new PowiainaNum(height);
419
+ var z = new PowiainaNum(other);
420
+ if (y.isInt()) return PowiainaNum.arrow(x, y, z);
421
+ if (z.gt(x)) {
422
+ var anylog2 = arrowpsdInv(x, y, z);
423
+ var bottom = arrowpsdInv(x, y, x);
424
+ var top = x.clone();
425
+ var handled = anylog2.div(bottom).logBase(top.div(bottom));
426
+ return arrowpsd(x, y.add(1), PowiainaNum.add(2, handled));
427
+ }
428
+ return PowiainaNum.arrFrac(x, arrFracPara(x, y, z));
429
+ }
430
+ function log10PosBigInt(input) {
431
+ var exp = BigInt(64);
432
+ while (input >= BigInt(1) << exp) exp *= BigInt(2);
433
+ var expdel = exp / BigInt(2);
434
+ while (expdel > BigInt(0)) {
435
+ if (input >= BigInt(1) << exp) exp += expdel;else exp -= expdel;
436
+ expdel /= BigInt(2);
437
+ }
438
+ var cutbits = exp - BigInt(54);
439
+ var firstbits = input >> cutbits;
440
+ return Math.log10(Number(firstbits)) + Math.LOG10E / Math.LOG2E * Number(cutbits);
441
+ }
350
442
  //#endregion
351
443
  var PowiainaNum = /*#__PURE__*/function () {
352
444
  /**
@@ -378,6 +470,9 @@ var PowiainaNum = /*#__PURE__*/function () {
378
470
  } else if (typeof arg1 == "string") {
379
471
  var _obj2 = PowiainaNum.fromString(arg1);
380
472
  this.resetFromObject(_obj2);
473
+ } else if (typeof arg1 == "bigint") {
474
+ var _obj3 = PowiainaNum.fromBigInt(arg1);
475
+ this.resetFromObject(_obj3);
381
476
  } else {
382
477
  var isn = arg1;
383
478
  }
@@ -1045,9 +1140,43 @@ var PowiainaNum = /*#__PURE__*/function () {
1045
1140
  return base.tetrate(t.slog(base).sub(other));
1046
1141
  }
1047
1142
  }, {
1048
- key: "arrow",
1143
+ key: "omegalog",
1049
1144
  value:
1050
1145
  //#endregion
1146
+ function omegalog() {
1147
+ var bbase = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;
1148
+ var target = this;
1149
+ var dis = target.clone();
1150
+ if (dis.isInfiNaN()) return dis;
1151
+ if (dis.gte("10{1,2}e15.954589770191003")) return dis;
1152
+ var base = new PowiainaNum(bbase).clone();
1153
+ if (dis.getOperator(1 / 0) >= 1) {
1154
+ dis.setOperator(dis.getOperator(1 / 0) - 1, 1 / 0, 1, 1);
1155
+ return dis;
1156
+ }
1157
+ // if (dis.layer >= 1) {
1158
+ // dis.layer -= 1
1159
+ // return dis
1160
+ // } else
1161
+ // @ts-expect-error
1162
+ if (dis.arr01[dis.array.length - 1][0] >= 98) {
1163
+ // @ts-expect-error
1164
+ var zero = new PowiainaNum(dis.array[dis.arr01.length - 1][0]);
1165
+ return zero;
1166
+ } else if (target.lt(PowiainaNum.pentate(bbase, 2))) {
1167
+ return new PowiainaNum(target).anyarrow_log(3)(bbase);
1168
+ } else {
1169
+ var addTest = 8;
1170
+ var _target = 0;
1171
+ while (addTest >= Math.pow(10, -10)) {
1172
+ if (PowiainaNum.arrFrac(base, _target + addTest).lte(dis)) {
1173
+ _target += addTest;
1174
+ }
1175
+ addTest /= 2;
1176
+ }
1177
+ return new PowiainaNum(_target);
1178
+ }
1179
+ }
1051
1180
  /**
1052
1181
  * Arrow operation, return a function
1053
1182
  * The function has a parameter `other`
@@ -1055,16 +1184,23 @@ var PowiainaNum = /*#__PURE__*/function () {
1055
1184
  * @param arrows2 arrow count
1056
1185
  * @returns A function
1057
1186
  */
1058
- function arrow(arrows2) {
1187
+ }, {
1188
+ key: "arrow",
1189
+ value: function arrow(arrows2) {
1059
1190
  var t = this.clone();
1060
1191
  var arrows = new PowiainaNum(arrows2);
1061
- if (!arrows.isInt() || arrows.lt(PowiainaNum.ZERO)) {
1192
+ if (arrows.lt(PowiainaNum.ZERO)) {
1062
1193
  console.warn("The arrow is <0 or not a integer, the returned function will return NaN.");
1063
1194
  return function () {
1064
1195
  if (PowiainaNum.throwErrorOnResultNaN) throw new Error("NaN");
1065
1196
  return PowiainaNum.NaN.clone();
1066
1197
  };
1067
1198
  }
1199
+ if (!arrows.isInt()) {
1200
+ return function (other) {
1201
+ return arrowpsd(t, arrows, other);
1202
+ };
1203
+ }
1068
1204
  if (arrows.eq(0)) return function (other) {
1069
1205
  return t.mul(other);
1070
1206
  };
@@ -2097,8 +2233,20 @@ var PowiainaNum = /*#__PURE__*/function () {
2097
2233
  this.small = false;
2098
2234
  renormalize = true;
2099
2235
  }
2100
- // for any 10{X>9e15}10, replace into 10{!}X;
2101
- if (this.array.length >= 2 && this.array[1].arrow >= MSI) {
2236
+ // for any 10{!}^t x, replace to 10{!}^t-1 10{x}10
2237
+ if (this.array.length >= 2 && !isFinite(this.array[1].arrow)) {
2238
+ if (this.array[1].repeat > 1) {
2239
+ this.array.push(newOperator(this.array[1].repeat - 1, 1 / 0, this.array[1].expans, this.array[1].megota));
2240
+ this.array[1].repeat = 1;
2241
+ this.array[1].arrow = this.array[0].repeat;
2242
+ this.array[0].repeat = 10;
2243
+ } else {
2244
+ this.array[1].arrow = this.array[0].repeat;
2245
+ this.array[0].repeat = 10;
2246
+ }
2247
+ }
2248
+ // for any 10{X>9e15}10 finite, replace into 10{!}X;
2249
+ if (this.array.length >= 2 && this.array[1].arrow >= MSI && isFinite(this.array[1].arrow)) {
2102
2250
  this.array[0].repeat = this.array[1].arrow;
2103
2251
  this.array[1] = newOperator(1, Infinity, this.array[1].expans, this.array[1].megota);
2104
2252
  }
@@ -2124,16 +2272,6 @@ var PowiainaNum = /*#__PURE__*/function () {
2124
2272
  x.array[0].repeat = 10;
2125
2273
  renormalize = true;
2126
2274
  }
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
2275
  // for any (10{A=2})^1e16 10, turn into (10{A+1}) 1e16
2138
2276
  if (x.array.length >= 2 && x.array[1].repeat > MSI && x.array[1].arrow !== Infinity) {
2139
2277
  x.array[1].arrow++;
@@ -2409,6 +2547,7 @@ var PowiainaNum = /*#__PURE__*/function () {
2409
2547
  }, {
2410
2548
  key: "arrFrac",
2411
2549
  value: function arrFrac(base, height) {
2550
+ if (new PowiainaNum(height).lt(2)) return PowiainaNum.pentate(base, height);
2412
2551
  var b = new PowiainaNum(base).clone();
2413
2552
  var h = new PowiainaNum(height).clone();
2414
2553
  return new PowiainaNum(b).arrow(h.floor().add(1))(b.div(2).pow(h.sub(h.floor())).mul(2));
@@ -2517,6 +2656,9 @@ var PowiainaNum = /*#__PURE__*/function () {
2517
2656
  // return PowiainaNum.POSITIVE_INFINITY;
2518
2657
  // }
2519
2658
  if (new PowiainaNum(powiaina2).gte(3)) return PowiainaNum.POSITIVE_INFINITY.clone();
2659
+ if (readArg(0).eq(0) && readArg(1).eq(1) && readArg(2).eq(1)) {
2660
+ return base.mul(power);
2661
+ }
2520
2662
  if (readArg(0).eq(1) && readArg(1).eq(1) && readArg(2).eq(1)) {
2521
2663
  return base.pow(power);
2522
2664
  }
@@ -2566,12 +2708,16 @@ var PowiainaNum = /*#__PURE__*/function () {
2566
2708
  return x.toString();
2567
2709
  }
2568
2710
  function getMSIForm(arrow, expans, megota) {
2569
- return "10{".concat(infToBang(arrow), ",").concat(infToBang(expans), ",").concat(megota, "}").concat(MSI);
2711
+ var _convertOperator = convertOperator(arrow, expans, megota),
2712
+ _convertOperator2 = _slicedToArray(_convertOperator, 3),
2713
+ a = _convertOperator2[0],
2714
+ e = _convertOperator2[1],
2715
+ m = _convertOperator2[2];
2716
+ return "10{".concat(infToBang(a), ",").concat(infToBang(e), ",").concat(m, "}").concat(MSI);
2570
2717
  }
2571
2718
  var t = base.clone();
2572
2719
  var arrows = new PowiainaNum(readArg(0));
2573
2720
  var result = function (other2) {
2574
- var _r, _r2;
2575
2721
  var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
2576
2722
  console.log("".concat("-".repeat(depth), " {").concat(base2, ",").concat(power2, ",").concat(arrow2, ",").concat(expans2, ",").concat(megota2, "}"));
2577
2723
  var other = new PowiainaNum(other2);
@@ -2587,15 +2733,19 @@ var PowiainaNum = /*#__PURE__*/function () {
2587
2733
  if (other.eq(PowiainaNum.ZERO)) return PowiainaNum.ONE.clone();
2588
2734
  if (other.eq(PowiainaNum.ONE)) return t.clone();
2589
2735
  if (arrows.eq(0)) {
2590
- return PowiainaNum.BEAF(t, t, power, expans.sub(1), megota, powiaina2, depth + 1);
2736
+ return PowiainaNum.BEAF_core(t, t, power, expans.sub(1), megota, powiaina2, depth + 1);
2591
2737
  // {this, this, power, expans-1, megota}
2592
2738
  }
2593
2739
  if (expans.eq(0)) {
2594
- return PowiainaNum.BEAF(t, t, t, power, megota.sub(1), powiaina2, depth + 1);
2740
+ return PowiainaNum.BEAF_core(t, t, t, power, megota.sub(1), powiaina2, depth + 1);
2595
2741
  // {this, this, this, power, megota-1}
2596
2742
  }
2597
2743
  if (megota.eq(0)) {
2598
- return PowiainaNum.BEAF(t, t, t, t, expans, new PowiainaNum(powiaina2).sub(1), depth + 1);
2744
+ return PowiainaNum.BEAF_core(t, t, t, t, expans, new PowiainaNum(powiaina2).sub(1), depth + 1);
2745
+ }
2746
+ // megota < 9e15, not implemented
2747
+ if (megota.gt(MSI)) {
2748
+ throw new Error("Not implemeneted");
2599
2749
  }
2600
2750
  // expans > 9e15, that using 10{?, x}, x=expans;
2601
2751
  if (expans.gt(MSI)) {
@@ -2612,15 +2762,17 @@ var PowiainaNum = /*#__PURE__*/function () {
2612
2762
  var arrowsNum = arrows.toNumber();
2613
2763
  // arrow < 9e15
2614
2764
  // 10{x}2 = 10{x-1}10
2615
- if (other.eq(2)) return PowiainaNum.BEAF(t, t, arrowsNum - 1, expans, megota, powiaina2, depth + 1);
2765
+ if (other.eq(2)) return PowiainaNum.BEAF_core(t, t, arrowsNum - 1, expans, megota, powiaina2, depth + 1);
2616
2766
  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)) {
2767
+ // arrow < 9e15
2768
+ // 10{x}2 = 10{x-1}10
2769
+ if (t.gt(getMSIForm(arrowsNum + 1, expans.toNumber(), megota.toNumber())) || other.gt(MSI)) {
2618
2770
  if (t.gt(getMSIForm(arrowsNum, expans.toNumber(), megota.toNumber()))) {
2619
2771
  r = t.clone();
2620
2772
  r.setOperator(r.getOperator(arrowsNum, expans.toNumber(), megota.toNumber()) - 1, arrowsNum, expans.toNumber(), megota.toNumber());
2621
2773
  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()))));
2774
+ } else if (t.gt(getMSIForm(arrowsNum - 1, expans.toNumber(), megota.toNumber()))) {
2775
+ r = new PowiainaNum(t.getOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber()));
2624
2776
  } else {
2625
2777
  r = PowiainaNum.ZERO;
2626
2778
  }
@@ -2640,17 +2792,114 @@ var PowiainaNum = /*#__PURE__*/function () {
2640
2792
  var y = other.toNumber();
2641
2793
  var f = Math.floor(y);
2642
2794
  var arrows_m1 = arrows.sub(PowiainaNum.ONE);
2643
- r = PowiainaNum.BEAF(t, y - f, arrows_m1.toNumber(), expans, megota, powiaina2, depth + 1);
2795
+ r = PowiainaNum.BEAF_core(t, y - f, arrows_m1, expans, megota, powiaina, depth + 1);
2796
+ // r = t.arrow(arrows_m1)(y - f, payload, depth + 1);
2644
2797
  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++) {
2798
+ for (var m = getMSIForm(arrowsNum - 1, expans.toNumber(), megota.toNumber()); f !== 0 && r.lt(m) && i < 100; i++) {
2646
2799
  if (f > 0) {
2647
- r = PowiainaNum.BEAF(base, r, arrows_m1.toNumber(), expans, megota, powiaina2, depth + 1);
2800
+ r = PowiainaNum.BEAF_core(t, r, arrows_m1, expans, megota, powiaina, depth + 1);
2648
2801
  --f;
2649
2802
  }
2650
2803
  }
2651
2804
  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()))));
2805
+ r.setOperator(r.getOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber()) + f, arrowsNum - 1, expans.toNumber(), megota.toNumber());
2653
2806
  r.normalize();
2807
+ // if (
2808
+ // t.gt(getMSIForm(arrowsNum, expans.toNumber(), megota.toNumber())) ||
2809
+ // other.gt(MSI)
2810
+ // ) {
2811
+ // if (t.gt(getMSIForm(arrowsNum, expans.toNumber(), megota.toNumber()))) {
2812
+ // r = t.clone();
2813
+ // r.setOperator(
2814
+ // r.getOperator(arrowsNum, expans.toNumber(), megota.toNumber()) - 1,
2815
+ // arrowsNum,
2816
+ // expans.toNumber(),
2817
+ // megota.toNumber()
2818
+ // );
2819
+ // r.normalize();
2820
+ // } else if (
2821
+ // t.gt(
2822
+ // getMSIForm(
2823
+ // ...convertOperator(
2824
+ // arrowsNum - 1,
2825
+ // expans.toNumber(),
2826
+ // megota.toNumber()
2827
+ // )
2828
+ // )
2829
+ // )
2830
+ // ) {
2831
+ // r = new PowiainaNum(
2832
+ // t.getOperator(
2833
+ // ...convertOperator(
2834
+ // arrowsNum - 1,
2835
+ // expans.toNumber(),
2836
+ // megota.toNumber()
2837
+ // )
2838
+ // )
2839
+ // );
2840
+ // } else {
2841
+ // r = PowiainaNum.ZERO;
2842
+ // }
2843
+ // const j = r.add(other);
2844
+ // j.setOperator(
2845
+ // j.getOperator(arrowsNum, expans.toNumber(), megota.toNumber()) + 1,
2846
+ // arrowsNum,
2847
+ // expans.toNumber(),
2848
+ // megota.toNumber()
2849
+ // );
2850
+ // j.normalize();
2851
+ // return j;
2852
+ // }
2853
+ // const y = other.toNumber();
2854
+ // let f = Math.floor(y);
2855
+ // const arrows_m1 = arrows.sub(PowiainaNum.ONE);
2856
+ // r = PowiainaNum.BEAF(
2857
+ // t,
2858
+ // y - f,
2859
+ // arrows_m1.toNumber(),
2860
+ // expans,
2861
+ // megota,
2862
+ // powiaina2,
2863
+ // depth + 1
2864
+ // );
2865
+ // let i = 0;
2866
+ // for (
2867
+ // const m = new PowiainaNum(
2868
+ // getMSIForm(
2869
+ // ...convertOperator(
2870
+ // arrowsNum - 1,
2871
+ // expans.toNumber(),
2872
+ // megota.toNumber()
2873
+ // )
2874
+ // )
2875
+ // );
2876
+ // f !== 0 && r.lt(m) && i < 100;
2877
+ // i++
2878
+ // ) {
2879
+ // if (f > 0) {
2880
+ // r = PowiainaNum.BEAF(
2881
+ // base,
2882
+ // r,
2883
+ // arrows_m1.toNumber(),
2884
+ // expans,
2885
+ // megota,
2886
+ // powiaina2,
2887
+ // depth + 1
2888
+ // );
2889
+ // --f;
2890
+ // }
2891
+ // }
2892
+ // if (i == 100) f = 0;
2893
+ // r.setOperator(
2894
+ // r.getOperator(
2895
+ // ...convertOperator(
2896
+ // arrowsNum - 1,
2897
+ // expans.toNumber(),
2898
+ // megota.toNumber()
2899
+ // )
2900
+ // ) + f,
2901
+ // ...convertOperator(arrowsNum - 1, expans.toNumber(), megota.toNumber())
2902
+ // );
2654
2903
  return r;
2655
2904
  }(power, depth);
2656
2905
  console.log("".concat("-".repeat(depth), " = ").concat(result));
@@ -2799,6 +3048,16 @@ var PowiainaNum = /*#__PURE__*/function () {
2799
3048
  value: function isNaN(x) {
2800
3049
  return new PowiainaNum(x).isNaN();
2801
3050
  }
3051
+ }, {
3052
+ key: "fromBigInt",
3053
+ value: function fromBigInt(input) {
3054
+ var x = new PowiainaNum(0);
3055
+ var abs = input < BigInt(0) ? -input : input;
3056
+ x.sign = input < BigInt(0) ? -1 : 1;
3057
+ if (abs <= MSI) x.array = [newOperator(Number(abs))];else x.array = [newOperator(log10PosBigInt(abs)), newOperator(1, 1)];
3058
+ x.normalize();
3059
+ return x;
3060
+ }
2802
3061
  }, {
2803
3062
  key: "fromNumber",
2804
3063
  value: function fromNumber(x) {
@@ -2849,7 +3108,7 @@ var PowiainaNum = /*#__PURE__*/function () {
2849
3108
  var a = input.match(/(e+-)(\d+(.\d+)?)/);
2850
3109
  if (a) {
2851
3110
  var e_s = a[1].length;
2852
- input = "e-" + "e".repeat(e_s - 1) + a[2];
3111
+ input = "/" + "e".repeat(e_s - 1) + a[2];
2853
3112
  }
2854
3113
  }
2855
3114
  return this.fromString_core(input);
@@ -3116,6 +3375,14 @@ var PowiainaNum = /*#__PURE__*/function () {
3116
3375
  obj.sign = 1;
3117
3376
  obj.layer = 0;
3118
3377
  return obj;
3378
+ } else if (isIBreakEternity(powlikeObject)) {
3379
+ var res = powlikeObject;
3380
+ var reciprocated = res.mag < 0;
3381
+ var res2 = new PowiainaNum(1);
3382
+ if (res.layer >= MSI) res2.array = [newOperator(Math.log10(res.layer)), newOperator(1, 1), newOperator(1, 2)];else if (res.layer >= 1) res2.array = [newOperator(Math.abs(res.mag)), newOperator(res.layer, 1)];else res2.array = [newOperator(res.mag)];
3383
+ res2.small = reciprocated;
3384
+ res2.normalize();
3385
+ return res2;
3119
3386
  } else if (isPowiainaNum01XArray(powlikeObject)) {
3120
3387
  var arrayobj = powlikeObject;
3121
3388
  obj.array[0] = newOperator(arrayobj[0]);