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.
- package/dist/PowiainaNum.cjs.js +297 -30
- package/dist/PowiainaNum.esm.js +297 -30
- package/dist/PowiainaNum.js +297 -30
- package/dist/PowiainaNum.min.js +1 -1
- package/dist/index.d.ts +9 -2
- package/package.json +1 -1
package/dist/PowiainaNum.cjs.js
CHANGED
|
@@ -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.
|
|
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: "
|
|
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
|
-
|
|
1187
|
+
}, {
|
|
1188
|
+
key: "arrow",
|
|
1189
|
+
value: function arrow(arrows2) {
|
|
1059
1190
|
var t = this.clone();
|
|
1060
1191
|
var arrows = new PowiainaNum(arrows2);
|
|
1061
|
-
if (
|
|
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{
|
|
2101
|
-
if (this.array.length >= 2 && this.array[1].arrow
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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
|
|
2623
|
-
r = new PowiainaNum(t.getOperator
|
|
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.
|
|
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 =
|
|
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.
|
|
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
|
-
|
|
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 = "
|
|
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]);
|