powiaina_num.js 0.2.15 → 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 +124 -5
- package/dist/PowiainaNum.esm.js +124 -5
- package/dist/PowiainaNum.js +124 -5
- 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
|
@@ -100,7 +100,7 @@ function _unsupportedIterableToArray(r, a) {
|
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
|
|
103
|
-
/* Author: VeryrrDefine 0.2.
|
|
103
|
+
/* Author: VeryrrDefine 0.2.16*/
|
|
104
104
|
var _a;
|
|
105
105
|
//#endregion
|
|
106
106
|
//#region constants
|
|
@@ -149,6 +149,13 @@ function removeCommasOutsideBraces(input) {
|
|
|
149
149
|
}
|
|
150
150
|
return result;
|
|
151
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
|
+
}
|
|
152
159
|
// parse 0.1.x PowiainaNum.js string
|
|
153
160
|
function parseLegacyPowiainaNumString(str) {
|
|
154
161
|
var pattern = /l(\d+)\s+s(\d+)\s+a(\[.*\])/;
|
|
@@ -383,6 +390,55 @@ function mergeSameArrays(x) {
|
|
|
383
390
|
}
|
|
384
391
|
}
|
|
385
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
|
+
}
|
|
386
442
|
//#endregion
|
|
387
443
|
var PowiainaNum = /*#__PURE__*/function () {
|
|
388
444
|
/**
|
|
@@ -414,6 +470,9 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
414
470
|
} else if (typeof arg1 == "string") {
|
|
415
471
|
var _obj2 = PowiainaNum.fromString(arg1);
|
|
416
472
|
this.resetFromObject(_obj2);
|
|
473
|
+
} else if (typeof arg1 == "bigint") {
|
|
474
|
+
var _obj3 = PowiainaNum.fromBigInt(arg1);
|
|
475
|
+
this.resetFromObject(_obj3);
|
|
417
476
|
} else {
|
|
418
477
|
var isn = arg1;
|
|
419
478
|
}
|
|
@@ -1081,9 +1140,43 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
1081
1140
|
return base.tetrate(t.slog(base).sub(other));
|
|
1082
1141
|
}
|
|
1083
1142
|
}, {
|
|
1084
|
-
key: "
|
|
1143
|
+
key: "omegalog",
|
|
1085
1144
|
value:
|
|
1086
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
|
+
}
|
|
1087
1180
|
/**
|
|
1088
1181
|
* Arrow operation, return a function
|
|
1089
1182
|
* The function has a parameter `other`
|
|
@@ -1091,16 +1184,23 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
1091
1184
|
* @param arrows2 arrow count
|
|
1092
1185
|
* @returns A function
|
|
1093
1186
|
*/
|
|
1094
|
-
|
|
1187
|
+
}, {
|
|
1188
|
+
key: "arrow",
|
|
1189
|
+
value: function arrow(arrows2) {
|
|
1095
1190
|
var t = this.clone();
|
|
1096
1191
|
var arrows = new PowiainaNum(arrows2);
|
|
1097
|
-
if (
|
|
1192
|
+
if (arrows.lt(PowiainaNum.ZERO)) {
|
|
1098
1193
|
console.warn("The arrow is <0 or not a integer, the returned function will return NaN.");
|
|
1099
1194
|
return function () {
|
|
1100
1195
|
if (PowiainaNum.throwErrorOnResultNaN) throw new Error("NaN");
|
|
1101
1196
|
return PowiainaNum.NaN.clone();
|
|
1102
1197
|
};
|
|
1103
1198
|
}
|
|
1199
|
+
if (!arrows.isInt()) {
|
|
1200
|
+
return function (other) {
|
|
1201
|
+
return arrowpsd(t, arrows, other);
|
|
1202
|
+
};
|
|
1203
|
+
}
|
|
1104
1204
|
if (arrows.eq(0)) return function (other) {
|
|
1105
1205
|
return t.mul(other);
|
|
1106
1206
|
};
|
|
@@ -2447,6 +2547,7 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
2447
2547
|
}, {
|
|
2448
2548
|
key: "arrFrac",
|
|
2449
2549
|
value: function arrFrac(base, height) {
|
|
2550
|
+
if (new PowiainaNum(height).lt(2)) return PowiainaNum.pentate(base, height);
|
|
2450
2551
|
var b = new PowiainaNum(base).clone();
|
|
2451
2552
|
var h = new PowiainaNum(height).clone();
|
|
2452
2553
|
return new PowiainaNum(b).arrow(h.floor().add(1))(b.div(2).pow(h.sub(h.floor())).mul(2));
|
|
@@ -2947,6 +3048,16 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
2947
3048
|
value: function isNaN(x) {
|
|
2948
3049
|
return new PowiainaNum(x).isNaN();
|
|
2949
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
|
+
}
|
|
2950
3061
|
}, {
|
|
2951
3062
|
key: "fromNumber",
|
|
2952
3063
|
value: function fromNumber(x) {
|
|
@@ -2997,7 +3108,7 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
2997
3108
|
var a = input.match(/(e+-)(\d+(.\d+)?)/);
|
|
2998
3109
|
if (a) {
|
|
2999
3110
|
var e_s = a[1].length;
|
|
3000
|
-
input = "
|
|
3111
|
+
input = "/" + "e".repeat(e_s - 1) + a[2];
|
|
3001
3112
|
}
|
|
3002
3113
|
}
|
|
3003
3114
|
return this.fromString_core(input);
|
|
@@ -3264,6 +3375,14 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
3264
3375
|
obj.sign = 1;
|
|
3265
3376
|
obj.layer = 0;
|
|
3266
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;
|
|
3267
3386
|
} else if (isPowiainaNum01XArray(powlikeObject)) {
|
|
3268
3387
|
var arrayobj = powlikeObject;
|
|
3269
3388
|
obj.array[0] = newOperator(arrayobj[0]);
|
package/dist/PowiainaNum.esm.js
CHANGED
|
@@ -96,7 +96,7 @@ function _unsupportedIterableToArray(r, a) {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
/* Author: VeryrrDefine 0.2.
|
|
99
|
+
/* Author: VeryrrDefine 0.2.16*/
|
|
100
100
|
var _a;
|
|
101
101
|
//#endregion
|
|
102
102
|
//#region constants
|
|
@@ -145,6 +145,13 @@ function removeCommasOutsideBraces(input) {
|
|
|
145
145
|
}
|
|
146
146
|
return result;
|
|
147
147
|
}
|
|
148
|
+
function isIBreakEternity(obj) {
|
|
149
|
+
if (obj === null || _typeof(obj) !== "object") return false;
|
|
150
|
+
if (!("mag" in obj && typeof obj.mag == "number")) return false;
|
|
151
|
+
if (!("layer" in obj && typeof obj.layer == "number")) return false;
|
|
152
|
+
if (!("sign" in obj && typeof obj.sign == "number")) return false;
|
|
153
|
+
return true;
|
|
154
|
+
}
|
|
148
155
|
// parse 0.1.x PowiainaNum.js string
|
|
149
156
|
function parseLegacyPowiainaNumString(str) {
|
|
150
157
|
var pattern = /l(\d+)\s+s(\d+)\s+a(\[.*\])/;
|
|
@@ -379,6 +386,55 @@ function mergeSameArrays(x) {
|
|
|
379
386
|
}
|
|
380
387
|
}
|
|
381
388
|
}
|
|
389
|
+
function arrFracParaInv(x, y, res2) {
|
|
390
|
+
var res = new PowiainaNum(x).pow(new PowiainaNum(res2).sub(y).add(1)).mul(new PowiainaNum(2).pow(new PowiainaNum(y).sub(res2)));
|
|
391
|
+
return res;
|
|
392
|
+
}
|
|
393
|
+
function arrFracPara(x, y, z) {
|
|
394
|
+
var lg2 = new PowiainaNum(2).logBase(x);
|
|
395
|
+
return new PowiainaNum(y).sub(1).add(new PowiainaNum(z).logBase(x).sub(lg2).div(new PowiainaNum(1).sub(lg2)));
|
|
396
|
+
}
|
|
397
|
+
function arrowpsdInv(base, height, res4) {
|
|
398
|
+
var x = new PowiainaNum(base);
|
|
399
|
+
var y = new PowiainaNum(height);
|
|
400
|
+
var z = new PowiainaNum(res4);
|
|
401
|
+
var res = arrFracParaInv(x, y, new PowiainaNum(z).omegalog(x.toNumber()));
|
|
402
|
+
if (z.gt(x)) {
|
|
403
|
+
var add2handled = arrowpsdInv(x, y.add(1), z);
|
|
404
|
+
var handled = add2handled.sub(2);
|
|
405
|
+
var bottom = arrowpsdInv(x, y, x);
|
|
406
|
+
var top = x.clone();
|
|
407
|
+
var anylog2 = handled.pow_base(top.div(bottom)).mul(bottom);
|
|
408
|
+
return arrowpsd(x, y, anylog2);
|
|
409
|
+
}
|
|
410
|
+
return res;
|
|
411
|
+
}
|
|
412
|
+
function arrowpsd(base, height, other) {
|
|
413
|
+
var x = new PowiainaNum(base);
|
|
414
|
+
var y = new PowiainaNum(height);
|
|
415
|
+
var z = new PowiainaNum(other);
|
|
416
|
+
if (y.isInt()) return PowiainaNum.arrow(x, y, z);
|
|
417
|
+
if (z.gt(x)) {
|
|
418
|
+
var anylog2 = arrowpsdInv(x, y, z);
|
|
419
|
+
var bottom = arrowpsdInv(x, y, x);
|
|
420
|
+
var top = x.clone();
|
|
421
|
+
var handled = anylog2.div(bottom).logBase(top.div(bottom));
|
|
422
|
+
return arrowpsd(x, y.add(1), PowiainaNum.add(2, handled));
|
|
423
|
+
}
|
|
424
|
+
return PowiainaNum.arrFrac(x, arrFracPara(x, y, z));
|
|
425
|
+
}
|
|
426
|
+
function log10PosBigInt(input) {
|
|
427
|
+
var exp = BigInt(64);
|
|
428
|
+
while (input >= BigInt(1) << exp) exp *= BigInt(2);
|
|
429
|
+
var expdel = exp / BigInt(2);
|
|
430
|
+
while (expdel > BigInt(0)) {
|
|
431
|
+
if (input >= BigInt(1) << exp) exp += expdel;else exp -= expdel;
|
|
432
|
+
expdel /= BigInt(2);
|
|
433
|
+
}
|
|
434
|
+
var cutbits = exp - BigInt(54);
|
|
435
|
+
var firstbits = input >> cutbits;
|
|
436
|
+
return Math.log10(Number(firstbits)) + Math.LOG10E / Math.LOG2E * Number(cutbits);
|
|
437
|
+
}
|
|
382
438
|
//#endregion
|
|
383
439
|
var PowiainaNum = /*#__PURE__*/function () {
|
|
384
440
|
/**
|
|
@@ -410,6 +466,9 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
410
466
|
} else if (typeof arg1 == "string") {
|
|
411
467
|
var _obj2 = PowiainaNum.fromString(arg1);
|
|
412
468
|
this.resetFromObject(_obj2);
|
|
469
|
+
} else if (typeof arg1 == "bigint") {
|
|
470
|
+
var _obj3 = PowiainaNum.fromBigInt(arg1);
|
|
471
|
+
this.resetFromObject(_obj3);
|
|
413
472
|
} else {
|
|
414
473
|
var isn = arg1;
|
|
415
474
|
}
|
|
@@ -1077,9 +1136,43 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
1077
1136
|
return base.tetrate(t.slog(base).sub(other));
|
|
1078
1137
|
}
|
|
1079
1138
|
}, {
|
|
1080
|
-
key: "
|
|
1139
|
+
key: "omegalog",
|
|
1081
1140
|
value:
|
|
1082
1141
|
//#endregion
|
|
1142
|
+
function omegalog() {
|
|
1143
|
+
var bbase = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;
|
|
1144
|
+
var target = this;
|
|
1145
|
+
var dis = target.clone();
|
|
1146
|
+
if (dis.isInfiNaN()) return dis;
|
|
1147
|
+
if (dis.gte("10{1,2}e15.954589770191003")) return dis;
|
|
1148
|
+
var base = new PowiainaNum(bbase).clone();
|
|
1149
|
+
if (dis.getOperator(1 / 0) >= 1) {
|
|
1150
|
+
dis.setOperator(dis.getOperator(1 / 0) - 1, 1 / 0, 1, 1);
|
|
1151
|
+
return dis;
|
|
1152
|
+
}
|
|
1153
|
+
// if (dis.layer >= 1) {
|
|
1154
|
+
// dis.layer -= 1
|
|
1155
|
+
// return dis
|
|
1156
|
+
// } else
|
|
1157
|
+
// @ts-expect-error
|
|
1158
|
+
if (dis.arr01[dis.array.length - 1][0] >= 98) {
|
|
1159
|
+
// @ts-expect-error
|
|
1160
|
+
var zero = new PowiainaNum(dis.array[dis.arr01.length - 1][0]);
|
|
1161
|
+
return zero;
|
|
1162
|
+
} else if (target.lt(PowiainaNum.pentate(bbase, 2))) {
|
|
1163
|
+
return new PowiainaNum(target).anyarrow_log(3)(bbase);
|
|
1164
|
+
} else {
|
|
1165
|
+
var addTest = 8;
|
|
1166
|
+
var _target = 0;
|
|
1167
|
+
while (addTest >= Math.pow(10, -10)) {
|
|
1168
|
+
if (PowiainaNum.arrFrac(base, _target + addTest).lte(dis)) {
|
|
1169
|
+
_target += addTest;
|
|
1170
|
+
}
|
|
1171
|
+
addTest /= 2;
|
|
1172
|
+
}
|
|
1173
|
+
return new PowiainaNum(_target);
|
|
1174
|
+
}
|
|
1175
|
+
}
|
|
1083
1176
|
/**
|
|
1084
1177
|
* Arrow operation, return a function
|
|
1085
1178
|
* The function has a parameter `other`
|
|
@@ -1087,16 +1180,23 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
1087
1180
|
* @param arrows2 arrow count
|
|
1088
1181
|
* @returns A function
|
|
1089
1182
|
*/
|
|
1090
|
-
|
|
1183
|
+
}, {
|
|
1184
|
+
key: "arrow",
|
|
1185
|
+
value: function arrow(arrows2) {
|
|
1091
1186
|
var t = this.clone();
|
|
1092
1187
|
var arrows = new PowiainaNum(arrows2);
|
|
1093
|
-
if (
|
|
1188
|
+
if (arrows.lt(PowiainaNum.ZERO)) {
|
|
1094
1189
|
console.warn("The arrow is <0 or not a integer, the returned function will return NaN.");
|
|
1095
1190
|
return function () {
|
|
1096
1191
|
if (PowiainaNum.throwErrorOnResultNaN) throw new Error("NaN");
|
|
1097
1192
|
return PowiainaNum.NaN.clone();
|
|
1098
1193
|
};
|
|
1099
1194
|
}
|
|
1195
|
+
if (!arrows.isInt()) {
|
|
1196
|
+
return function (other) {
|
|
1197
|
+
return arrowpsd(t, arrows, other);
|
|
1198
|
+
};
|
|
1199
|
+
}
|
|
1100
1200
|
if (arrows.eq(0)) return function (other) {
|
|
1101
1201
|
return t.mul(other);
|
|
1102
1202
|
};
|
|
@@ -2443,6 +2543,7 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
2443
2543
|
}, {
|
|
2444
2544
|
key: "arrFrac",
|
|
2445
2545
|
value: function arrFrac(base, height) {
|
|
2546
|
+
if (new PowiainaNum(height).lt(2)) return PowiainaNum.pentate(base, height);
|
|
2446
2547
|
var b = new PowiainaNum(base).clone();
|
|
2447
2548
|
var h = new PowiainaNum(height).clone();
|
|
2448
2549
|
return new PowiainaNum(b).arrow(h.floor().add(1))(b.div(2).pow(h.sub(h.floor())).mul(2));
|
|
@@ -2943,6 +3044,16 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
2943
3044
|
value: function isNaN(x) {
|
|
2944
3045
|
return new PowiainaNum(x).isNaN();
|
|
2945
3046
|
}
|
|
3047
|
+
}, {
|
|
3048
|
+
key: "fromBigInt",
|
|
3049
|
+
value: function fromBigInt(input) {
|
|
3050
|
+
var x = new PowiainaNum(0);
|
|
3051
|
+
var abs = input < BigInt(0) ? -input : input;
|
|
3052
|
+
x.sign = input < BigInt(0) ? -1 : 1;
|
|
3053
|
+
if (abs <= MSI) x.array = [newOperator(Number(abs))];else x.array = [newOperator(log10PosBigInt(abs)), newOperator(1, 1)];
|
|
3054
|
+
x.normalize();
|
|
3055
|
+
return x;
|
|
3056
|
+
}
|
|
2946
3057
|
}, {
|
|
2947
3058
|
key: "fromNumber",
|
|
2948
3059
|
value: function fromNumber(x) {
|
|
@@ -2993,7 +3104,7 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
2993
3104
|
var a = input.match(/(e+-)(\d+(.\d+)?)/);
|
|
2994
3105
|
if (a) {
|
|
2995
3106
|
var e_s = a[1].length;
|
|
2996
|
-
input = "
|
|
3107
|
+
input = "/" + "e".repeat(e_s - 1) + a[2];
|
|
2997
3108
|
}
|
|
2998
3109
|
}
|
|
2999
3110
|
return this.fromString_core(input);
|
|
@@ -3260,6 +3371,14 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
3260
3371
|
obj.sign = 1;
|
|
3261
3372
|
obj.layer = 0;
|
|
3262
3373
|
return obj;
|
|
3374
|
+
} else if (isIBreakEternity(powlikeObject)) {
|
|
3375
|
+
var res = powlikeObject;
|
|
3376
|
+
var reciprocated = res.mag < 0;
|
|
3377
|
+
var res2 = new PowiainaNum(1);
|
|
3378
|
+
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)];
|
|
3379
|
+
res2.small = reciprocated;
|
|
3380
|
+
res2.normalize();
|
|
3381
|
+
return res2;
|
|
3263
3382
|
} else if (isPowiainaNum01XArray(powlikeObject)) {
|
|
3264
3383
|
var arrayobj = powlikeObject;
|
|
3265
3384
|
obj.array[0] = newOperator(arrayobj[0]);
|
package/dist/PowiainaNum.js
CHANGED
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
-
/* Author: VeryrrDefine 0.2.
|
|
105
|
+
/* Author: VeryrrDefine 0.2.16*/
|
|
106
106
|
var _a;
|
|
107
107
|
//#endregion
|
|
108
108
|
//#region constants
|
|
@@ -151,6 +151,13 @@
|
|
|
151
151
|
}
|
|
152
152
|
return result;
|
|
153
153
|
}
|
|
154
|
+
function isIBreakEternity(obj) {
|
|
155
|
+
if (obj === null || _typeof(obj) !== "object") return false;
|
|
156
|
+
if (!("mag" in obj && typeof obj.mag == "number")) return false;
|
|
157
|
+
if (!("layer" in obj && typeof obj.layer == "number")) return false;
|
|
158
|
+
if (!("sign" in obj && typeof obj.sign == "number")) return false;
|
|
159
|
+
return true;
|
|
160
|
+
}
|
|
154
161
|
// parse 0.1.x PowiainaNum.js string
|
|
155
162
|
function parseLegacyPowiainaNumString(str) {
|
|
156
163
|
var pattern = /l(\d+)\s+s(\d+)\s+a(\[.*\])/;
|
|
@@ -385,6 +392,55 @@
|
|
|
385
392
|
}
|
|
386
393
|
}
|
|
387
394
|
}
|
|
395
|
+
function arrFracParaInv(x, y, res2) {
|
|
396
|
+
var res = new PowiainaNum(x).pow(new PowiainaNum(res2).sub(y).add(1)).mul(new PowiainaNum(2).pow(new PowiainaNum(y).sub(res2)));
|
|
397
|
+
return res;
|
|
398
|
+
}
|
|
399
|
+
function arrFracPara(x, y, z) {
|
|
400
|
+
var lg2 = new PowiainaNum(2).logBase(x);
|
|
401
|
+
return new PowiainaNum(y).sub(1).add(new PowiainaNum(z).logBase(x).sub(lg2).div(new PowiainaNum(1).sub(lg2)));
|
|
402
|
+
}
|
|
403
|
+
function arrowpsdInv(base, height, res4) {
|
|
404
|
+
var x = new PowiainaNum(base);
|
|
405
|
+
var y = new PowiainaNum(height);
|
|
406
|
+
var z = new PowiainaNum(res4);
|
|
407
|
+
var res = arrFracParaInv(x, y, new PowiainaNum(z).omegalog(x.toNumber()));
|
|
408
|
+
if (z.gt(x)) {
|
|
409
|
+
var add2handled = arrowpsdInv(x, y.add(1), z);
|
|
410
|
+
var handled = add2handled.sub(2);
|
|
411
|
+
var bottom = arrowpsdInv(x, y, x);
|
|
412
|
+
var top = x.clone();
|
|
413
|
+
var anylog2 = handled.pow_base(top.div(bottom)).mul(bottom);
|
|
414
|
+
return arrowpsd(x, y, anylog2);
|
|
415
|
+
}
|
|
416
|
+
return res;
|
|
417
|
+
}
|
|
418
|
+
function arrowpsd(base, height, other) {
|
|
419
|
+
var x = new PowiainaNum(base);
|
|
420
|
+
var y = new PowiainaNum(height);
|
|
421
|
+
var z = new PowiainaNum(other);
|
|
422
|
+
if (y.isInt()) return PowiainaNum.arrow(x, y, z);
|
|
423
|
+
if (z.gt(x)) {
|
|
424
|
+
var anylog2 = arrowpsdInv(x, y, z);
|
|
425
|
+
var bottom = arrowpsdInv(x, y, x);
|
|
426
|
+
var top = x.clone();
|
|
427
|
+
var handled = anylog2.div(bottom).logBase(top.div(bottom));
|
|
428
|
+
return arrowpsd(x, y.add(1), PowiainaNum.add(2, handled));
|
|
429
|
+
}
|
|
430
|
+
return PowiainaNum.arrFrac(x, arrFracPara(x, y, z));
|
|
431
|
+
}
|
|
432
|
+
function log10PosBigInt(input) {
|
|
433
|
+
var exp = BigInt(64);
|
|
434
|
+
while (input >= BigInt(1) << exp) exp *= BigInt(2);
|
|
435
|
+
var expdel = exp / BigInt(2);
|
|
436
|
+
while (expdel > BigInt(0)) {
|
|
437
|
+
if (input >= BigInt(1) << exp) exp += expdel;else exp -= expdel;
|
|
438
|
+
expdel /= BigInt(2);
|
|
439
|
+
}
|
|
440
|
+
var cutbits = exp - BigInt(54);
|
|
441
|
+
var firstbits = input >> cutbits;
|
|
442
|
+
return Math.log10(Number(firstbits)) + Math.LOG10E / Math.LOG2E * Number(cutbits);
|
|
443
|
+
}
|
|
388
444
|
//#endregion
|
|
389
445
|
var PowiainaNum = /*#__PURE__*/function () {
|
|
390
446
|
/**
|
|
@@ -416,6 +472,9 @@
|
|
|
416
472
|
} else if (typeof arg1 == "string") {
|
|
417
473
|
var _obj2 = PowiainaNum.fromString(arg1);
|
|
418
474
|
this.resetFromObject(_obj2);
|
|
475
|
+
} else if (typeof arg1 == "bigint") {
|
|
476
|
+
var _obj3 = PowiainaNum.fromBigInt(arg1);
|
|
477
|
+
this.resetFromObject(_obj3);
|
|
419
478
|
} else {
|
|
420
479
|
var isn = arg1;
|
|
421
480
|
}
|
|
@@ -1083,9 +1142,43 @@
|
|
|
1083
1142
|
return base.tetrate(t.slog(base).sub(other));
|
|
1084
1143
|
}
|
|
1085
1144
|
}, {
|
|
1086
|
-
key: "
|
|
1145
|
+
key: "omegalog",
|
|
1087
1146
|
value:
|
|
1088
1147
|
//#endregion
|
|
1148
|
+
function omegalog() {
|
|
1149
|
+
var bbase = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;
|
|
1150
|
+
var target = this;
|
|
1151
|
+
var dis = target.clone();
|
|
1152
|
+
if (dis.isInfiNaN()) return dis;
|
|
1153
|
+
if (dis.gte("10{1,2}e15.954589770191003")) return dis;
|
|
1154
|
+
var base = new PowiainaNum(bbase).clone();
|
|
1155
|
+
if (dis.getOperator(1 / 0) >= 1) {
|
|
1156
|
+
dis.setOperator(dis.getOperator(1 / 0) - 1, 1 / 0, 1, 1);
|
|
1157
|
+
return dis;
|
|
1158
|
+
}
|
|
1159
|
+
// if (dis.layer >= 1) {
|
|
1160
|
+
// dis.layer -= 1
|
|
1161
|
+
// return dis
|
|
1162
|
+
// } else
|
|
1163
|
+
// @ts-expect-error
|
|
1164
|
+
if (dis.arr01[dis.array.length - 1][0] >= 98) {
|
|
1165
|
+
// @ts-expect-error
|
|
1166
|
+
var zero = new PowiainaNum(dis.array[dis.arr01.length - 1][0]);
|
|
1167
|
+
return zero;
|
|
1168
|
+
} else if (target.lt(PowiainaNum.pentate(bbase, 2))) {
|
|
1169
|
+
return new PowiainaNum(target).anyarrow_log(3)(bbase);
|
|
1170
|
+
} else {
|
|
1171
|
+
var addTest = 8;
|
|
1172
|
+
var _target = 0;
|
|
1173
|
+
while (addTest >= Math.pow(10, -10)) {
|
|
1174
|
+
if (PowiainaNum.arrFrac(base, _target + addTest).lte(dis)) {
|
|
1175
|
+
_target += addTest;
|
|
1176
|
+
}
|
|
1177
|
+
addTest /= 2;
|
|
1178
|
+
}
|
|
1179
|
+
return new PowiainaNum(_target);
|
|
1180
|
+
}
|
|
1181
|
+
}
|
|
1089
1182
|
/**
|
|
1090
1183
|
* Arrow operation, return a function
|
|
1091
1184
|
* The function has a parameter `other`
|
|
@@ -1093,16 +1186,23 @@
|
|
|
1093
1186
|
* @param arrows2 arrow count
|
|
1094
1187
|
* @returns A function
|
|
1095
1188
|
*/
|
|
1096
|
-
|
|
1189
|
+
}, {
|
|
1190
|
+
key: "arrow",
|
|
1191
|
+
value: function arrow(arrows2) {
|
|
1097
1192
|
var t = this.clone();
|
|
1098
1193
|
var arrows = new PowiainaNum(arrows2);
|
|
1099
|
-
if (
|
|
1194
|
+
if (arrows.lt(PowiainaNum.ZERO)) {
|
|
1100
1195
|
console.warn("The arrow is <0 or not a integer, the returned function will return NaN.");
|
|
1101
1196
|
return function () {
|
|
1102
1197
|
if (PowiainaNum.throwErrorOnResultNaN) throw new Error("NaN");
|
|
1103
1198
|
return PowiainaNum.NaN.clone();
|
|
1104
1199
|
};
|
|
1105
1200
|
}
|
|
1201
|
+
if (!arrows.isInt()) {
|
|
1202
|
+
return function (other) {
|
|
1203
|
+
return arrowpsd(t, arrows, other);
|
|
1204
|
+
};
|
|
1205
|
+
}
|
|
1106
1206
|
if (arrows.eq(0)) return function (other) {
|
|
1107
1207
|
return t.mul(other);
|
|
1108
1208
|
};
|
|
@@ -2449,6 +2549,7 @@
|
|
|
2449
2549
|
}, {
|
|
2450
2550
|
key: "arrFrac",
|
|
2451
2551
|
value: function arrFrac(base, height) {
|
|
2552
|
+
if (new PowiainaNum(height).lt(2)) return PowiainaNum.pentate(base, height);
|
|
2452
2553
|
var b = new PowiainaNum(base).clone();
|
|
2453
2554
|
var h = new PowiainaNum(height).clone();
|
|
2454
2555
|
return new PowiainaNum(b).arrow(h.floor().add(1))(b.div(2).pow(h.sub(h.floor())).mul(2));
|
|
@@ -2949,6 +3050,16 @@
|
|
|
2949
3050
|
value: function isNaN(x) {
|
|
2950
3051
|
return new PowiainaNum(x).isNaN();
|
|
2951
3052
|
}
|
|
3053
|
+
}, {
|
|
3054
|
+
key: "fromBigInt",
|
|
3055
|
+
value: function fromBigInt(input) {
|
|
3056
|
+
var x = new PowiainaNum(0);
|
|
3057
|
+
var abs = input < BigInt(0) ? -input : input;
|
|
3058
|
+
x.sign = input < BigInt(0) ? -1 : 1;
|
|
3059
|
+
if (abs <= MSI) x.array = [newOperator(Number(abs))];else x.array = [newOperator(log10PosBigInt(abs)), newOperator(1, 1)];
|
|
3060
|
+
x.normalize();
|
|
3061
|
+
return x;
|
|
3062
|
+
}
|
|
2952
3063
|
}, {
|
|
2953
3064
|
key: "fromNumber",
|
|
2954
3065
|
value: function fromNumber(x) {
|
|
@@ -2999,7 +3110,7 @@
|
|
|
2999
3110
|
var a = input.match(/(e+-)(\d+(.\d+)?)/);
|
|
3000
3111
|
if (a) {
|
|
3001
3112
|
var e_s = a[1].length;
|
|
3002
|
-
input = "
|
|
3113
|
+
input = "/" + "e".repeat(e_s - 1) + a[2];
|
|
3003
3114
|
}
|
|
3004
3115
|
}
|
|
3005
3116
|
return this.fromString_core(input);
|
|
@@ -3266,6 +3377,14 @@
|
|
|
3266
3377
|
obj.sign = 1;
|
|
3267
3378
|
obj.layer = 0;
|
|
3268
3379
|
return obj;
|
|
3380
|
+
} else if (isIBreakEternity(powlikeObject)) {
|
|
3381
|
+
var res = powlikeObject;
|
|
3382
|
+
var reciprocated = res.mag < 0;
|
|
3383
|
+
var res2 = new PowiainaNum(1);
|
|
3384
|
+
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)];
|
|
3385
|
+
res2.small = reciprocated;
|
|
3386
|
+
res2.normalize();
|
|
3387
|
+
return res2;
|
|
3269
3388
|
} else if (isPowiainaNum01XArray(powlikeObject)) {
|
|
3270
3389
|
var arrayobj = powlikeObject;
|
|
3271
3390
|
obj.array[0] = newOperator(arrayobj[0]);
|
package/dist/PowiainaNum.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((r="undefined"!=typeof globalThis?globalThis:r||self).PowiainaNum={})}(this,(function(r){"use strict";function e(r,e){(null==e||e>r.length)&&(e=r.length);for(var t=0,n=Array(e);t<e;t++)n[t]=r[t];return n}function t(r,e){for(var t=0;t<e.length;t++){var n=e[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(r,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})}));
|
|
1
|
+
!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((r="undefined"!=typeof globalThis?globalThis:r||self).PowiainaNum={})}(this,(function(r){"use strict";function e(r,e){(null==e||e>r.length)&&(e=r.length);for(var t=0,n=Array(e);t<e;t++)n[t]=r[t];return n}function t(r,e){for(var t=0;t<e.length;t++){var n=e[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(r,i(n.key),n)}}function n(r,e){return function(r){if(Array.isArray(r))return r}(r)||function(r,e){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var n,a,i,o,u=[],l=!0,s=!1;try{if(i=(t=t.call(r)).next,0===e){if(Object(t)!==t)return;l=!1}else for(;!(l=(n=i.call(t)).done)&&(u.push(n.value),u.length!==e);l=!0);}catch(r){s=!0,a=r}finally{try{if(!l&&null!=t.return&&(o=t.return(),Object(o)!==o))return}finally{if(s)throw a}}return u}}(r,e)||u(r,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(r){return function(r){if(Array.isArray(r))return e(r)}(r)||function(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}(r)||u(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(r){var e=function(r,e){if("object"!=typeof r||!r)return r;var t=r[Symbol.toPrimitive];if(void 0!==t){var n=t.call(r,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(r)}(r,"string");return"symbol"==typeof e?e:e+""}function o(r){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r})(r)}function u(r,t){if(r){if("string"==typeof r)return e(r,t);var n={}.toString.call(r).slice(8,-1);return"Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?e(r,t):void 0}}var l,s=9007199254740991,f=15.954589770191003,c=11102230246251568e-32,h=1.444667861009766,g=/^(PN)?[\/\-\+]*(Infinity|NaN|(P+|P\^\d+ )?(10(\^+|\{([1-9]\d*|!)(,([1-9]\d*|!))?(,[1-9]\d*)?\})|\(10(\^+|\{([1-9]\d*|!)(,([1-9]\d*|!))?(,[1-9]\d*)?\})\)\^[1-9]\d*\x20*)*((\d+(\.\d*)?|\d*\.\d+)?([Ee][-\+]*))*(0|\d+(\.\d*)?|\d*\.\d+))$/,y=/^((\d+(\.\d*)?|\d*\.\d+)?([EeFf]([-\+]?)))*(0|\d+(\.\d*)?|\d*\.\d+)$/;function N(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return{repeat:r,arrow:e,expans:t,megota:n,valuereplaced:e==1/0?0:t==1/0?1:-1}}function p(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];for(var n=0;n<Math.min(e[0].length,e[1].length);n++){var a=e[0][n],i=e[1][n];if(a<i)return-1;if(a>i)return 1}return 0}function m(r){return Math.log10(Number(r.substring(0,17)))+(r.length-17)}var v=.5671432904097838;function w(r){var e,t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e-10,a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=n,o=a;if(!Number.isFinite(r))return r;if(o){if(0===r)return r;if(1===r)return v;e=r<10?0:Math.log(r)-Math.log(Math.log(r))}else{if(0===r)return-1/0;e=r<=-.1?-2:Math.log(-r)-Math.log(-Math.log(-r))}for(var u=0;u<100;++u){if(t=(r*Math.exp(-e)+e*e)/(e+1),Math.abs(t-e)<i*Math.abs(t))return t;e=t}throw Error("Iteration failed to converge: ".concat(r.toString()))}function b(r){return 2==r.length}function d(r){return"number"==typeof r[0]&&"number"==typeof r[1]}function E(r){return"x"===r?1/0:r}function O(r){return 4==r.length}function I(r){return"number"==typeof r[0]&&"number"==typeof r[1]&&"number"==typeof r[2]&&"number"==typeof r[3]}function k(r){return"x"===r[0]&&"number"==typeof r[1]&&"number"==typeof r[2]&&"number"==typeof r[3]}function M(r){return"number"==typeof r[0]&&"number"==typeof r[1]&&"x"==r[2]&&"number"==typeof r[3]}function x(r){var e,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e10,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!(r=new F(r)).isFinite())return r;if(n){if(r.eq(F.ZERO))return r;if(r.eq(F.ONE))return new F(v);e=F.log(r)}else{if(r.eq(F.ZERO))return F.NEGATIVE_INFINITY.clone();e=F.log(r.neg())}for(var a=0;a<100;++a){var i=e.neg().exp(),o=e.sub(r.mul(i)),u=e.add(F.ONE).sub(e.add(2).mul(o).div(F.mul(2,e).add(2)));if(u.eq(F.ZERO))return e;var l=e.sub(o.div(u));if(F.abs(l.sub(e)).lt(F.abs(l).mul(t)))return l;e=l}throw Error("Iteration failed to converge: "+r)}function q(r,e){return p([r.megota,r.expans,r.arrow],[e.megota,e.expans,e.arrow])}function S(r,e,t){var n=new F(r),a=new F(e),i=new F(t),o=function(r,e,t){return new F(r).pow(new F(t).sub(e).add(1)).mul(new F(2).pow(new F(e).sub(t)))}(n,a,new F(i).omegalog(n.toNumber()));if(i.gt(n)){var u=S(n,a.add(1),i).sub(2),l=S(n,a,n),s=n.clone();return _(n,a,u.pow_base(s.div(l)).mul(l))}return o}function _(r,e,t){var n=new F(r),a=new F(e),i=new F(t);if(a.isInt())return F.arrow(n,a,i);if(i.gt(n)){var o=S(n,a,i),u=S(n,a,n),l=n.clone(),s=o.div(u).logBase(l.div(u));return _(n,a.add(1),F.add(2,s))}return F.arrFrac(n,function(r,e,t){var n=new F(2).logBase(r);return new F(e).sub(1).add(new F(t).logBase(r).sub(n).div(new F(1).sub(n)))}(n,a,i))}function R(r){for(var e=BigInt(64);r>=BigInt(1)<<e;)e*=BigInt(2);for(var t=e/BigInt(2);t>BigInt(0);)r>=BigInt(1)<<e?e+=t:e-=t,t/=BigInt(2);var n=e-BigInt(54),a=r>>n;return Math.log10(Number(a))+Math.LOG10E/Math.LOG2E*Number(n)}var T,F=function(){function r(e){!function(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r),this[l]="PowiainaNum",this.array=[{arrow:0,expans:1,megota:1,repeat:NaN}],this.small=!1,this.sign=0,this.layer=0,r.blankArgumentConstructorReturnZero&&this.resetFromObject(r.ZERO);try{if(void 0===e);else if("number"==typeof e){var t=r.fromNumber(e);this.resetFromObject(t)}else if("object"==o(e)){var n=r.fromObject(e);this.resetFromObject(n)}else if("string"==typeof e){var a=r.fromString(e);this.resetFromObject(a)}else if("bigint"==typeof e){var i=r.fromBigInt(e);this.resetFromObject(i)}else;}catch(e){if(console.error("Malformed input"),console.error(e),r.throwErrorOnResultNaN&&r.isNaN(this))throw new Error("NaN")}}return function(r,e,n){return e&&t(r.prototype,e),n&&t(r,n),Object.defineProperty(r,"prototype",{writable:!1}),r}(r,[{key:"add",value:function(e){var t,n,a,i,o,u,l=this.clone().normalize(),h=new r(e);if(l.eq(r.POSITIVE_INFINITY)&&h.eq(r.NEGATIVE_INFINITY)||l.eq(r.NEGATIVE_INFINITY)&&h.eq(r.POSITIVE_INFINITY)){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(!l.isFinite())return l.clone();if(!h.isFinite())return h.clone();if(l.isZero())return h.clone();if(h.isZero())return l.clone();if(l.sign==-h.sign&&function(){var r=l.abs(),e=h.abs();return r.eq(e)}())return r.ZERO.clone();if(l.abs().lt(s)&&h.abs().lt(s)&&l.abs().gte(c)&&h.abs().gte(c))return r.fromNumber(l.toNumber()+h.toNumber());if(l.abs().lt(r.E_MSI_REC)||l.abs().gt(r.E_MSI)||h.abs().lt(r.E_MSI_REC)||h.abs().gt(r.E_MSI)){var g=l.maxabs(h);return l.abs().eq(g)?l:(h.abs().eq(g),h)}if(-1==l.sign)return l.neg().add(h.neg()).neg();l.cmpabs(h)>0?(o=l,u=h):(u=l,o=h);var y=o.toNumber()+u.toNumber();if(isFinite(y)&&0!==y)return r.fromNumber(y);var p=1;if(!(o.small||u.small||(null===(t=o.array[1])||void 0===t?void 0:t.repeat)||(null===(n=u.array[1])||void 0===n?void 0:n.repeat)||o.sign!=u.sign))return new r((o.array[0].repeat+u.array[0].repeat)*o.sign);var m=(o.small?-1:1)*((null===(a=o.array[1])||void 0===a?void 0:a.repeat)?o.array[0].repeat:Math.log10(o.array[0].repeat)),v=(u.small?-1:1)*((null===(i=u.array[1])||void 0===i?void 0:i.repeat)?u.array[0].repeat:Math.log10(u.array[0].repeat));if(m-v>f)return o;var w=-Math.floor(m),b=0,d=o.sign*Math.pow(10,m+w)+u.sign*Math.pow(10,v+w);if(d>0&&(b=Math.log10(d)-w),d<0&&(b=Math.log10(-d)-w,p*=-1),0==d)return r.ZERO.clone();var E=r.NaN.clone();return E.sign=1,E.array=b>f||b<-f?[N(b,0),N(1,1)]:[N(Math.pow(10,Math.abs(b)),0)],E.small=b<0,E.sign*=p,E}},{key:"plus",value:function(r){return this.add(r)}},{key:"sub",value:function(e){return this.add(new r(e).neg())}},{key:"minus",value:function(r){return this.sub(r)}},{key:"mul",value:function(e){var t=this.clone(),n=new r(e);if(t.eq(r.POSITIVE_INFINITY)&&n.eq(r.NEGATIVE_INFINITY)||n.eq(r.POSITIVE_INFINITY)&&t.eq(r.NEGATIVE_INFINITY))return r.NEGATIVE_INFINITY.clone();if(t.isInfiNaN()&&n.isZero()||n.isInfiNaN()&&t.isZero()){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(t.eq(r.NEGATIVE_INFINITY)&&n.eq(r.NEGATIVE_INFINITY))return r.POSITIVE_INFINITY.clone();if(!t.isFinite())return t.clone();if(!n.isFinite())return n.clone();if(t.isZero()||n.isZero())return r.ZERO.clone();var a,i=t.toNumber()*n.toNumber();return isFinite(i)&&0!==i?r.fromNumber(i):((a=t.abs().log10().add(n.abs().log10()).pow10()).sign=t.sign*n.sign,a)}},{key:"times",value:function(r){return this.mul(r)}},{key:"div",value:function(e){var t=new r(e).rec();return this.mul(t)}},{key:"divide",value:function(r){return this.div(r)}},{key:"mod",value:function(e){var t=new r(e),n=this.div(t);return n.sub(n.floor()).mul(t)}},{key:"modulus",value:function(r){return this.mod(r)}},{key:"pow10",value:function(){var e,t,n=this.clone();return this.isFinite()?n.isneg()?(n.sign*=-1,n.pow10().rec()):n.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(),i=t.toNumber(),o=Math.pow(a,i);if(isFinite(o)&&0!==o)return r.fromNumber(o);if(this.isZero()&&t.isZero())return r.ONE.clone();if(this.isZero())return r.ZERO.clone();if(t.isZero())return r.ONE.clone();if(this.gt(0))return this.log10().mul(t).pow10();if(t.rec().mod(2).eq(1))return this.neg().log10().mul(t).pow10().neg();if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}},{key:"pow_base",value:function(e){return new r(e).pow(this)}},{key:"root",value:function(e){var t=new r(e);return this.pow(t.rec())}},{key:"sqrt",value:function(){return this.pow(.5)}},{key:"cbrt",value:function(){return this.abs().root(3).mul(this.sign)}},{key:"log10",value:function(){if(this.isneg()){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(this.isZero())return r.NEGATIVE_INFINITY.clone();if(this.small){var e=this.clone();return e.small=!e.small,e.log10().neg()}if(1==this.array.length)return new r(Math.log10(this.array[0].repeat));if(this.gte(r.TETRATED_MSI))return this.clone();var t=this.clone();return t.array[1].repeat=t.array[1].repeat-1,t.normalize(),t}},{key:"log",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Math.E,t=new r(e);return this.log10().div(t.log10())}},{key:"log2",value:function(){return this.log(2)}},{key:"logBase",value:function(r){return this.log(r)}},{key:"ln",value:function(){return this.log()}},{key:"pLog10",value:function(){return this.isneg()?r.ZERO:this.log10()}},{key:"exp",value:function(){return this.pow_base(Math.E)}},{key:"factorial",value:function(){return this.abs().lt(s)?this.add(1).gamma():this.abs().lt(r.E_MSI)?r.exp(this.mul(this.log10().sub(1))):r.exp(this)}},{key:"gamma",value:function(){if(this.small)return this.rec();if(this.lte(s)){if(this.lt(24))return r.fromNumber(function(r){if(!isFinite(r))return r;if(r<-50)return r===Math.trunc(r)?Number.NEGATIVE_INFINITY:0;for(var e=1;r<10;)e*=r,++r;var t=.9189385332046727;t+=((r-=1)+.5)*Math.log(r),t-=r;var n=r*r,a=r;return t+=1/(12*a),t-=1/(360*(a*=n)),t+=1/(1260*(a*=n)),t-=1/(1680*(a*=n)),t+=1/(1188*(a*=n)),t-=691/(360360*(a*=n)),t+=7/(1092*(a*=n)),t-=3617/(122400*(a*=n)),Math.exp(t)/e}(this.sign*this.getOperator(0)));var e=this.getOperator(0)-1,t=.9189385332046727;t+=(e+.5)*Math.log(e);var n=e*e,a=e,i=12*a,o=1/i,u=(t-=e)+o;if(u===t)return r.exp(t);if((u=(t=u)-(o=1/(i=360*(a*=n))))===t)return r.exp(t);t=u;var l=1/(i=1260*(a*=n));return t+=l,t-=l=1/(i=1680*(a*=n)),r.exp(t)}return this.gt(s)?r.exp(this.mul(this.log().sub(1))):r.exp(this)}},{key:"lambertw",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=e;if(this.lt(-.3678794411710499)){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(t)return this.abs().lt("1e-300")?new r(this):this.small?r.fromNumber(w(this.toNumber())):this.lt(s)?r.fromNumber(w(this.sign*this.getOperator(0))):this.lt("eee15")?x(this):this.log();if(-1===this.sign){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}return this.lt(9e15)?r.fromNumber(w(this.sign*this.array[0].repeat,1e-10,!1)):this.lt(r.E_MSI)?x(this,1e-10,!1):this.neg().rec().lambertw().neg()}},{key:"tetrate",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,a=this.clone(),i=new r(e),o=new r(n);if(a.isNaN()||i.isNaN()||o.isNaN()){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(a.eq(1))return r.ONE.clone();if(o.neq(r.ONE)&&a.gte(h)&&(i=i.add(o.slog(a))),i.isInfi()&&i.sign>0)return a.gte(h)?r.POSITIVE_INFINITY.clone():(t=this.log().neg()).lambertw().div(t);if(i.lte(-2)){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(a.isZero()){if(i.isZero()){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}return i.gte(s/2)||i.toNumber()%2==0?r.ZERO.clone():r.ONE.clone()}if(a.eq(r.ONE)){if(i.eq(r.ONE.neg())){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}return r.ONE.clone()}if(i.eq(r.ONE.neg()))return r.ZERO.clone();if(i.eq(r.ZERO))return r.ONE.clone();if(i.eq(r.ONE))return a;if(i.eq(2))return a.pow(a);if(a.eq(2)){if(i.eq(3))return r.fromNumber(16);if(i.eq(4))return r.fromNumber(65536)}var u=a.max(i);if(u.gt(r.PENTATED_MSI))return u;if(u.gt(r.TETRATED_MSI)||i.gt(s)){if(this.lt(h))return(t=a.ln().neg()).lambertw().div(t);var l=a.slog(10).add(i);return l.setOperator(l.getOperator(2)+1,2),l.normalize(),l}for(var f=i.toNumber(),c=Math.floor(f),g=a.pow(f-c),y=r.NaN,N=0,p=r.E_MSI.clone();0!==c&&g.lt(p)&&N<100;++N)if(c>0){if(g=a.pow(g),y.eq(g)){c=0;break}y=g,--c}else{if(g=g.log(a),y.eq(g)){c=0;break}y=g,++c}return(100==N||this.lt(h))&&(c=0),g.setOperator(g.getOperator(1)+c,1),g.normalize(),g}},{key:"tetr",value:function(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return this.tetrate(r,e)}},{key:"slog",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,t=this.clone(),n=new r(e);if(t.isInfiNaN())return t;if(n.isNaN())return n;if(n.isInfi())return r.ZERO.clone();if(t.isZero())return r.ONE.clone();if(t.eq(r.ONE))return r.ZERO.clone();if(t.eq(n))return r.ONE.clone();if(n.lt(h)){var a=n.tetrate(1/0);if(t.eq(a))return r.POSITIVE_INFINITY.clone();if(t.gt(a)){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}}if(t.max(n).gt(r.PENTATED_MSI))return t.gt(n)?t:r.ZERO.clone();if(t.max(n).gt(r.TETRATED_MSI)&&t.gt(n))return t.setOperator(t.getOperator(2)-1,2),t.normalize(),t.sub(t.getOperator(1));if(t.lt(r.ZERO.clone()))return n.pow(t).sub(2);var i=0,o=t.getOperator(1)-n.getOperator(1);if(o>3){var u=o-3;i+=u,t.setOperator(t.getOperator(1)-u,1)}for(var l=0;l<100;++l)if(t.lt(r.ZERO))t=r.pow(e,t),--i;else{if(t.lte(1))return new r(i+t.toNumber()-1);++i,t=r.log(t,e)}if(t.gt(10))return new r(i);if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}},{key:"ssqrt",value:function(){var e=this.clone();if(e.lt(1/h)){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(!e.isFinite())return e;if(e.gt(r.TETRATED_MSI))return e;if(e.gt(r.EE_MSI))return e.setOperator(e.getOperator(1)-1,1),e;var t=e.ln();return t.div(t.lambertw())}},{key:"tetrate_10",value:function(){return r.tetrate(10,this)}},{key:"iteratedlog",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10,n=this.clone(),a=new r(t),i=new r(e);return i.isZero()?n:i.eq(r.ONE)?n.log(a):a.tetrate(n.slog(a).sub(i))}},{key:"omegalog",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,t=this,n=t.clone();if(n.isInfiNaN())return n;if(n.gte("10{1,2}e15.954589770191003"))return n;var a=new r(e).clone();if(n.getOperator(1/0)>=1)return n.setOperator(n.getOperator(1/0)-1,1/0,1,1),n;if(n.arr01[n.array.length-1][0]>=98){var i=new r(n.array[n.arr01.length-1][0]);return i}if(t.lt(r.pentate(e,2)))return new r(t).anyarrow_log(3)(e);for(var o=8,u=0;o>=Math.pow(10,-10);)r.arrFrac(a,u+o).lte(n)&&(u+=o),o/=2;return new r(u)}},{key:"arrow",value:function(e){var t=this.clone(),n=new r(e);return n.lt(r.ZERO)?(console.warn("The arrow is <0 or not a integer, the returned function will return NaN."),function(){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}):n.isInt()?n.eq(0)?function(r){return t.mul(r)}:n.eq(1)?function(r){return t.pow(r)}:n.eq(2)?function(r){return t.tetrate(r)}:function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=new r(e),u=new r(a),l=r.arrowFuncMap.get("".concat(t.toString()," ").concat(n.toString()," ").concat(o.toString()," ").concat(i));if(l)return l.clone();var f=function(){var e;if(t.isNaN()||o.isNaN()||u.isNaN())return r.NaN.clone();if(o.lt(r.ZERO))return r.NaN.clone();if(t.eq(r.ZERO)){if(o.eq(r.ONE))return r.ZERO.clone();if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(u.neq(r.ONE)&&(o=o.add(u.anyarrow_log(n)(t))),t.eq(r.ONE))return r.ONE.clone();if(o.eq(r.ZERO))return r.ONE.clone();if(o.eq(r.ONE))return t.clone();if(n.gt(r.MSI))return(e=n.clone()).setOperator(e.getOperator(1/0)+1,1/0),e;var a=n.toNumber();if(o.eq(2))return t.arrow(a-1)(t,u,i+1);if(t.max(o).gt(r.arrowMSI(a+1)))return t.max(o);if(t.gt(r.arrowMSI(a))||o.gt(s)){t.gt(r.arrowMSI(a))?((e=t.clone()).setOperator(e.getOperator(a)-1,a),e.normalize()):e=t.gt(r.arrowMSI(a-1))?new r(t.getOperator(a-1)):r.ZERO;var l=e.add(o);return l.setOperator(l.getOperator(a)+1,a),l.normalize(),l}if(i>=r.maxOps+10)return new r({small:!1,sign:1,layer:0,array:[N(10,0),N(1,a)]});var f=o.toNumber(),c=Math.floor(f),h=n.sub(r.ONE);e=t.arrow(h)(f-c,u,i+1);for(var g=0,y=r.arrowMSI(a-1);0!==c&&e.lt(y)&&g<100;g++)c>0&&(e=t.arrow(h)(e,u,i+1),--c);return 100==g&&(c=0),e.setOperator(e.getOperator(a-1)+c,a-1),e.normalize(),e}();return i<r.maxOps+10&&r.arrowFuncMap.set("".concat(t.toString()," ").concat(n.toString()," ").concat(o.toString()," ").concat(i),f.clone()),f}:function(r){return _(t,n,r)}}},{key:"anyarrow_log",value:function(e){var t=this.clone(),n=new r(e),a=n.toNumber();if(n.gt(s))throw new Error("[PowiainaNum 0.2 error]Not implemented");return!n.isInt()||n.lt(0)?function(){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}:n.eq(0)?function(r){return t.div(r)}:n.eq(1)?function(r){return t.log(r)}:n.eq(2)?function(r){return t.slog(r)}:t.isInfiNaN()?function(){return t}:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=new r(e);if(i.isNaN())return i;if(i.isInfi())return r.ZERO.clone();if(t.isZero())return r.ONE.clone();if(t.eq(r.ONE))return r.ZERO.clone();if(t.eq(i))return r.ONE.clone();if(t.max(i).gt(r.arrowMSI(a+1)))return t.gt(i)?t:r.ZERO.clone();if(t.max(i).gt(r.arrowMSI(a))&&t.gt(i))return t.setOperator(t.getOperator(a)-1,a),t.normalize(),t.sub(t.getOperator(a-1));if(t.lt(r.ZERO.clone())){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}var o=0,u=t.getOperator(a)-i.getOperator(a);if(u>3){var l=u-3;o+=l,t.setOperator(t.getOperator(a)-l,a)}for(var s=0;s<100;++s)if(t.lt(r.ZERO))t=t.arrow(a-1)(e),--o;else{if(t.lte(1))return new r(o+t.toNumber()-1);++o,t=t.anyarrow_log(a-1)(e,n+1)}if(t.gt(10))return new r(o);if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}}},{key:"arrow_height_inverse",value:function(r){return this.anyarrow_log(r)}},{key:"chain",value:function(r,e){return this.arrow(e)(r)}},{key:"pentate",value:function(r,e){return this.arrow(3)(r,e)}},{key:"hexate",value:function(r,e){return this.arrow(4)(r,e)}},{key:"pent",value:function(r,e){return this.arrow(3)(r,e)}},{key:"penta_log",value:function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this.anyarrow_log(3)(r)}},{key:"expansion",value:function(e){var t,n=new r(e),a=this.clone();if(n.lt(r.ZERO)||!n.isInt())return r.NaN.clone();if(n.eq(r.ONE))return this.clone();if(this.eq(r.ONE))return r.ONE.clone();if(!this.isInt()){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(this.eq(2))return new r(4);if(n.eq(0))return r.ONE.clone();if(a.gt("10{1,2}".concat(s))||n.gt(s)){a.gt("10{1,2}".concat(s))?((t=a.clone()).setOperator(t.getOperator(1,2)-1,1,2),t.normalize()):t=a.gt("10{".concat(s,"}10"))?new r(a.getOperator(1/0)):r.ZERO;var i=t.add(n);return i.setOperator(i.getOperator(1,2)+1,1,2),i.normalize(),i}var o,u=n.toNumber()-1;for(t=a.clone(),o=0;0!==u&&t.lt(s)&&o<100;++o)u>0&&(t=a.arrow(t)(a),--u);return 100==o&&(u=0),t.setOperator(t.getOperator(1/0)+u,1/0),t.normalize(),t}},{key:"expansionArrow",value:function(e){var t=new r(e),n=this.clone();if(t.lt(0)||!t.isInt()||t.isNaN()||this.isNaN())return function(){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()};if(t.eq(0))return function(r){return n.arrow(r)(n)};if(t.eq(1))return function(r){return n.expansion(r)};var a=t;return function(e){var t,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=new r(e);if(n.isNaN()||o.isNaN())return r.NaN.clone();if(o.lt(r.ZERO)){if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(n.eq(r.ZERO)){if(o.eq(r.ONE))return r.ZERO.clone();if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(n.eq(r.ONE))return r.ONE.clone();if(o.eq(r.ZERO))return r.ONE.clone();if(o.eq(r.ONE))return n.clone();if(a.gt(r.MSI))return(t=a.clone()).setOperator(t.getOperator(1/0,2)+1,1/0,2),t;var u=a.toNumber();if(o.eq(2))return n.expansionArrow(u-1)(n,i+1);if(n.max(o).gt("10{".concat(u+1,",2}").concat(s)))return n.max(o);if(n.gt("10{".concat(u,",2}").concat(s))||o.gt(s)){n.gt("10{".concat(u,",2}").concat(s))?((t=n.clone()).setOperator(t.getOperator(u,2)-1,u,2),t.normalize()):t=n.gt("10{".concat(u-1,",2}").concat(s))?new r(n.getOperator(u-1,2)):r.ZERO;var l=t.add(o);return l.setOperator(l.getOperator(u,2)+1,u,2),l.normalize(),l}if(i>=r.maxOps+10)return new r({small:!1,sign:1,layer:0,array:[N(10,0),N(1,u,2)]});var f=o.toNumber(),c=Math.floor(f),h=a.sub(r.ONE);t=n.expansionArrow(h)(f-c,i+1);for(var g=0,y=new r("10{".concat(u-1,",2}").concat(s));0!==c&&t.lt(y)&&g<100;g++)c>0&&(t=n.expansionArrow(h)(t,i+1),--c);return 100==g&&(c=0),t.setOperator(t.getOperator(u-1,2)+c,u-1,2),t.normalize(),t}}},{key:"multiExpansion",value:function(r){return this.expansionArrow(2)(r)}},{key:"powerExpansion",value:function(r){return this.expansionArrow(3)(r)}},{key:"explosion",value:function(e){return r.BEAF(this,e,1,3)}},{key:"megotion",value:function(e){return r.BEAF(this,e,1,1,2)}},{key:"powiaination",value:function(e){return r.BEAF(this,e,1,1,1,2)}},{key:"abs",value:function(){var r=this.clone();return r.sign<0&&(r.sign*=-1),r}},{key:"clampMin",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return r.max.apply(r,[this].concat(t))}},{key:"clampMax",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return r.min.apply(r,[this].concat(t))}},{key:"clamp",value:function(r,e){return this.max(r).min(e)}},{key:"max",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return r.max.apply(r,[this].concat(t))}},{key:"min",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return r.min.apply(r,[this].concat(t))}},{key:"maxabs",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var i=t.map((function(e){return new r(e).abs()}));return r.max.apply(r,[this.abs()].concat(a(i)))}},{key:"minabs",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var i=t.map((function(e){return new r(e).abs()}));return r.min.apply(r,[this.abs()].concat(a(i)))}},{key:"cmpabs",value:function(e){var t=new r(e).abs();return this.abs().cmp(t)}},{key:"compare",value:function(e){var t=new r(e);if(this.isNaN()||t.isNaN())return 2;if(this.sign<t.sign)return-1;if(this.sign>t.sign)return 1;var n=-1==this.sign&&-1==t.sign;if(this.small&&!t.small)return-1*(n?-1:1);if(t.small&&!this.small)return 1*(n?-1:1);var a=1;this.small&&t.small&&(a*=-1),n&&(a*=-1);for(var i=0,o=0;this.array.length-1-o>=0&&t.array.length-1-o>=0;o++){var u=this.array[this.array.length-1-o],l=t.array[t.array.length-1-o];if(u.repeat===1/0&&l.repeat===1/0)return this.small===t.small?0:t.small?1:-1;if(u.repeat===1/0){i=1;break}if(l.repeat===1/0){i=-1;break}var s=p([u.megota,u.expans,u.arrow,u.repeat],[l.megota,l.expans,l.arrow,l.repeat]);if(1==s){i=1;break}if(-1==s){i=-1;break}}return i*a+1-1}},{key:"cmp",value:function(r){return this.compare(r)}},{key:"eq",value:function(r){return 0===this.cmp(r)}},{key:"neq",value:function(r){return 0!==this.cmp(r)}},{key:"lt",value:function(r){return-1===this.cmp(r)}},{key:"lte",value:function(r){return this.cmp(r)<=0}},{key:"gt",value:function(r){return 1==this.cmp(r)}},{key:"gte",value:function(r){var e=this.cmp(r);return 0==e||1==e}},{key:"equals",value:function(r){return this.eq(r)}},{key:"notEquals",value:function(r){return this.neq(r)}},{key:"eq_tolerance",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e-7,n=new r(e);return this.sub(n).lte(this.max(n).mul(t))}},{key:"sin",value:function(){var e=this.clone();if(e.isneg())return e.neg().sin().neg();var t=e.mod(7074237752028440);return r.fromNumber(Math.sin(t.toNumber()))}},{key:"cos",value:function(){return this.sub(Math.PI/2).sin()}},{key:"tan",value:function(){return this.sin().div(this.cos())}},{key:"cot",value:function(){return this.cos().div(this.sin())}},{key:"sec",value:function(){return this.cos().rec()}},{key:"csc",value:function(){return this.sin().rec()}},{key:"neg",value:function(){var r=this.clone();return r.sign*=-1,r.normalize(),r}},{key:"rec",value:function(){var r=this.clone();return r.small=!r.small,r}},{key:"recip",value:function(){return this.rec()}},{key:"reciprocate",value:function(){return this.rec()}},{key:"floor",value:function(){if(this.isInt())return this.clone();if(this.small)return 1==this.sign?r.ZERO.clone():r.ONE.neg().clone();var e=this.abs();return e.array[0].repeat=Math[1==this.sign?"floor":"ceil"](e.getOperator(0)),e.sign=this.sign,e}},{key:"ceil",value:function(){if(this.isInt())return this.clone();if(this.small)return 1==this.sign?r.ONE.clone():r.ZERO.clone();var e=this.abs();return e.array[0].repeat=Math[1==this.sign?"ceil":"floor"](e.getOperator(0)),e.sign=this.sign,e}},{key:"round",value:function(){if(this.isInt())return this.clone();if(this.small)return 1==this.sign?this.rec().lte(2)?r.ONE.clone():r.ZERO.clone():this.abs().rec().lte(2)?r.ZERO.clone():r.ONE.neg().clone();var e=this.abs();return e.array[0].repeat=Math.round(e.array[0].repeat),e.sign=this.sign,e}},{key:"trunc",value:function(){var r=this.clone();return r.gte(0)?r.floor():r.ceil()}},{key:"isNaN",value:function(r){function e(){return r.apply(this,arguments)}return e.toString=function(){return r.toString()},e}((function(){return isNaN(this.getOperator(0))}))},{key:"isZero",value:function(){return Boolean(this.small&&!isFinite(this.getOperator(0)))}},{key:"isFinite",value:function(r){function e(){return r.apply(this,arguments)}return e.toString=function(){return r.toString()},e}((function(){return Boolean(this.small||isFinite(this.getOperator(0)))&&!this.isNaN()}))},{key:"isInfi",value:function(){return this.rec().isZero()}},{key:"isInfiNaN",value:function(){return this.isInfi()||this.isNaN()}},{key:"isInt",value:function(){return!!this.isZero()||(!(this.small||!Number.isInteger(this.getOperator(0)))||!!this.abs().gte(s/2))}},{key:"ispos",value:function(){return this.sign>0}},{key:"isneg",value:function(){return this.sign<0}},{key:"getOperatorIndex",value:function(r){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=0;n<this.array.length;n++){var a=p([this.array[n].megota,this.array[n].expans,this.array[n].arrow],[t,e,r]);if(0==a)return n;if(1==a)return n-.5}return this.array.length-.5}},{key:"getOperator",value:function(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=this.getOperatorIndex(r,e,t);return this.array[n]?this.array[n].repeat:0}},{key:"setOperator",value:function(r,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,a=this.getOperatorIndex(e,t,n);return this.array[a]?(this.array[a].repeat=r,!1):(this.array.splice(Math.ceil(a),0,{arrow:e,expans:t,megota:n,valuereplaced:t===1/0?1:e==1/0?0:-1,repeat:r}),!0)}},{key:"toNumber",value:function(){return-1==this.sign?-this.neg().toNumber():this.small?1/this.rec().toNumber():this.array.length>2?1/0:1==this.array.length?this.array[0].repeat:2==this.array.length&&1==this.array[1].arrow&&1==this.array[1].expans&&1==this.array[1].megota&&1==this.array[1].repeat?Math.pow(10,this.getOperator(0)):NaN}},{key:"toString_core",value:function(){if(this.isNaN())return"NaN";if(-1==this.sign)return"-".concat(this.neg().toString());if(this.small)return this.isZero()?"0":"/".concat(this.rec().toString());if(this.isInfi())return"Infinity";var r="";this.layer?this.layer<3?r+="P".repeat(this.layer):r+="P^"+this.layer+" ":r+="";for(var e=this.array.length-1;e>=0;e--){var t=this.array[e],n="10{".concat(t.arrow===1/0?"!":t.arrow).concat(t.expans>1||t.megota>1?",".concat(t.expans===1/0?"!":t.expans):"").concat(t.megota>1?",".concat(t.megota):"","}");n=1==t.arrow&&1==t.expans&&1==t.megota&&t.repeat<5?"e".repeat(t.repeat):0==t.arrow&&1==t.expans&&1==t.megota?t.repeat.toString():t.repeat>1?"(".concat(n,")^").concat(t.repeat," "):"".concat(n),r+="".concat(n)}return r}},{key:"toString",value:function(){try{return this.toString_core()}catch(r){return console.error("Checked error when converting to string"),"NaN"}}},{key:"toJSON",value:function(){return"PN"+this.toString()}},{key:"arr01",get:function(){for(var r=[0],e=0;e<this.array.length;e++)0==e?r[0]=this.array[e].repeat:(r[e]=[0,0,0,0],r[e][0]=this.array[e].arrow==1/0?"x":this.array[e].arrow,r[e][1]=this.array[e].repeat,r[e][2]=this.array[e].expans==1/0?"x":this.array[e].expans,r[e][3]=this.array[e].megota);return r}},{key:"normalize",value:function(){var e=!0,t=this;void 0===this.array&&(t.array=[N(NaN,0,1,1)]),void 0===this.sign&&(this.sign=0),void 0===this.layer&&(this.layer=0);for(var n=0;n<this.array.length;n++)if(this.array[n].repeat==1/0)return this.array=[{arrow:0,expans:1,megota:1,repeat:1/0}],this.layer=0,this;for(var a=1;a<t.array.length;++a){var i=t.array[a];if(null!==i.arrow&&void 0!==i.arrow||(i.arrow=0),null!==i.expans&&void 0!==i.expans||(i.expans=1),null!==i.megota&&void 0!==i.megota||(i.megota=1),isNaN(i.arrow)||isNaN(i.repeat)||isNaN(i.expans)||isNaN(i.megota))return t.array=[N(NaN,0,1,1)],t;if(!isFinite(i.repeat)||!isFinite(i.megota))return t.array=[N(1/0,0,1,1)],t;Number.isInteger(i.arrow)||(i.arrow=Math.floor(i.arrow)),Number.isInteger(i.repeat)||(i.repeat=Math.floor(i.repeat)),Number.isInteger(i.expans)||(i.expans=Math.floor(i.expans)),Number.isInteger(i.megota)||(i.megota=Math.floor(i.megota))}t.array.length||(t.small=!t.small,t.array=[N(1/0)]);do{e=!1,this.array.sort(q);for(var o=1;o<t.array.length-1;++o)t.array[o].arrow==t.array[o+1].arrow&&t.array[o].expans==t.array[o+1].expans&&t.array[o].megota==t.array[o+1].megota&&(t.array[o].repeat+=t.array[o+1].repeat,t.array.splice(o+1,1),--o,e=!0);for(var u=1;u<t.array.length;++u)0===t.array[u].arrow||0!==t.array[u].repeat&&null!==t.array[u].repeat&&void 0!==t.array[u].repeat?0==t.array[u].arrow&&t.array[u].expans>=2&&(t.array[u].arrow=1/0,t.array[u].valuereplaced=0,t.array[u].expans=t.array[u].expans-1):(t.array.splice(u,1),--u);for(t.array.length>r.maxOps&&t.array.splice(1,t.array.length-r.maxOps),this.array.length>=2&&1==this.array[1].arrow&&this.array[1].repeat>=1&&this.array[0].repeat<f&&(this.setOperator(this.array[1].repeat-1,1),this.setOperator(Math.pow(10,this.array[0].repeat),0),e=!0),this.getOperator(0)>s&&isFinite(this.getOperator(0))&&(this.setOperator(this.getOperator(1)+1,1),this.setOperator(Math.log10(this.getOperator(0)),0),e=!0),this.array[this.array.length-1].megota>s?(this.layer++,this.array=[N(this.array[this.array.length-1].megota)],e=!0):this.layer&&1==this.array.length&&0===this.array[0].arrow&&(this.layer--,this.array=[N(10),N(1,10,10,this.array[0].repeat)],e=!0),1==this.array.length&&this.array[0].repeat<1&&(this.array[0].repeat=1/this.array[0].repeat,this.small=!this.small,e=!0),1==this.array.length&&1==this.array[0].repeat&&this.small&&(this.small=!1,e=!0),this.array.length>=2&&!isFinite(this.array[1].arrow)&&(this.array[1].repeat>1?(this.array.push(N(this.array[1].repeat-1,1/0,this.array[1].expans,this.array[1].megota)),this.array[1].repeat=1,this.array[1].arrow=this.array[0].repeat,this.array[0].repeat=10):(this.array[1].arrow=this.array[0].repeat,this.array[0].repeat=10)),this.array.length>=2&&this.array[1].arrow>=s&&isFinite(this.array[1].arrow)&&(this.array[0].repeat=this.array[1].arrow,this.array[1]=N(1,1/0,this.array[1].expans,this.array[1].megota));t.array.length>=2&&1==t.array[0].repeat&&t.array[1].repeat;)t.array[1].repeat>1?t.array[1].repeat--:t.array.splice(1,1),t.array[0].repeat=10,e=!0;t.array.length>=2&&t.array.length<r.maxOps&&t.array[0].repeat<s&&t.array[1].arrow>=2&&t.array[1].repeat>1&&isFinite(t.array[1].arrow)&&(t.array[1].repeat--,t.array.splice(1,0,N(t.array[0].repeat-1,t.array[1].arrow-1,t.array[1].expans,t.array[1].megota)),t.array[0].repeat=10,e=!0),t.array.length>=2&&t.array[1].repeat>s&&t.array[1].arrow!==1/0&&(t.array[1].arrow++,t.array[0].repeat=t.array[1].repeat,t.array[1].repeat=1,e=!0),t.array.length>=2&&t.array[1].repeat>s&&t.array[1].arrow===1/0&&(t.array[1].arrow=1,t.array[1].expans++,t.array[0].repeat=t.array[1].repeat,t.array[1].repeat=1,e=!0)}while(e);return this}},{key:"clone",value:function(){var e=new r;return e.resetFromObject(this),e}},{key:"resetFromObject",value:function(r){if(r.array){this.array=[];for(var e=0;e<r.array.length;e++)this.array[e]={arrow:r.array[e].arrow,expans:r.array[e].expans,megota:r.array[e].megota,repeat:r.array[e].repeat,valuereplaced:r.array[e].valuereplaced};return this.small=r.small,this.sign=r.sign,this.layer=r.layer,this}}}],[{key:"add",value:function(e,t){return new r(e).add(t)}},{key:"plus",value:function(e,t){return new r(e).add(t)}},{key:"sub",value:function(e,t){return new r(e).sub(t)}},{key:"minus",value:function(e,t){return new r(e).sub(t)}},{key:"mul",value:function(e,t){return new r(e).mul(t)}},{key:"times",value:function(e,t){return new r(e).mul(t)}},{key:"div",value:function(e,t){return new r(e).div(t)}},{key:"divide",value:function(e,t){return new r(e).div(t)}},{key:"mod",value:function(e,t){return new r(e).mod(t)}},{key:"modulus",value:function(e,t){return new r(e).mod(t)}},{key:"pow",value:function(e,t){return new r(e).pow(t)}},{key:"root",value:function(e,t){return new r(e).root(t)}},{key:"sqrt",value:function(e){return new r(e).sqrt()}},{key:"cbrt",value:function(e){return new r(e).cbrt()}},{key:"log10",value:function(e){return new r(e).log10()}},{key:"log",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Math.E;return new r(e).log(t)}},{key:"log2",value:function(e){return new r(e).log2()}},{key:"logBase",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Math.E;return new r(e).log(t)}},{key:"pLog10",value:function(e){return new r(e).pLog10()}},{key:"exp",value:function(e){return new r(e).pow_base(Math.E)}},{key:"factorial",value:function(e){return new r(e).factorial()}},{key:"gamma",value:function(e){return new r(e).gamma()}},{key:"lambertw",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return new r(e).lambertw(t)}},{key:"affordGeometricSeries",value:function(e,t,n,a){return this.affordGeometricSeries_core(new r(e),new r(t),new r(n),a)}},{key:"affordGeometricSeries_core",value:function(r,e,t,n){var a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=e.mul(t.pow(n));return r.div(i).mul(t.sub(1)).add(1).clampMin(a?1:-1/0).log10().div(t.log10()).floor()}},{key:"sumGeometricSeries",value:function(e,t,n,a){return this.sumGeometricSeries_core(e,new r(t),new r(n),a)}},{key:"sumGeometricSeries_core",value:function(e,t,n,a){return t.mul(n.pow(a)).mul(r.sub(1,n.pow(e))).div(r.sub(1,n))}},{key:"affordArithmeticSeries",value:function(e,t,n,a){return this.affordArithmeticSeries_core(new r(e),new r(t),new r(n),new r(a))}},{key:"affordArithmeticSeries_core",value:function(r,e,t,n){var a=e.add(n.mul(t)).sub(t.div(2)),i=a.pow(2);return a.neg().add(i.add(t.mul(r).mul(2)).sqrt()).div(t).floor()}},{key:"sumArithmeticSeries",value:function(e,t,n,a){return this.sumArithmeticSeries_core(new r(e),new r(t),new r(n),new r(a))}},{key:"sumArithmeticSeries_core",value:function(r,e,t,n){var a=e.add(n.mul(t));return r.div(2).mul(a.mul(2).add(r.sub(1).mul(t)))}},{key:"tetrate",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return new r(e).tetrate(t,n)}},{key:"tetrate_10",value:function(e){return r.fromNumber(10).tetrate(e)}},{key:"iteratedlog",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10;return new r(e).iteratedlog(t,n)}},{key:"arrow",value:function(e,t,n){return new r(e).arrow(t)(n)}},{key:"arrFrac",value:function(e,t){if(new r(t).lt(2))return r.pentate(e,t);var n=new r(e).clone(),a=new r(t).clone();return new r(n).arrow(a.floor().add(1))(n.div(2).pow(a.sub(a.floor())).mul(2))}},{key:"arrowMSI",value:function(e){return new r("10{".concat(e,"}").concat(s))}},{key:"hyper",value:function(e){var t=new r(e);return t.eq(0)?function(e,t){return new r(t).eq(0)?new r(e):new r(e).add(1)}:t.eq(1)?r.add:t.eq(2)?r.mul:t.eq(3)?r.pow:function(e,n){return new r(e).arrow(t.sub(2))(n)}}},{key:"pentate",value:function(e,t,n){return new r(e).arrow(3)(t,n)}},{key:"hexate",value:function(e,t,n){return new r(e).arrow(4)(t,n)}},{key:"pent",value:function(e,t,n){return new r(e).arrow(3)(t,n)}},{key:"penta_log",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10;return new r(e).anyarrow_log(3)(t)}},{key:"expansion",value:function(e,t){return new r(e).expansion(t)}},{key:"multiExpansion",value:function(e,t){return new r(e).multiExpansion(t)}},{key:"powerExpansion",value:function(e,t){return new r(e).powerExpansion(t)}},{key:"BEAF",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];function a(e){return void 0!==t[e]&&null!==t[e]?new r(t[e]):new r(1)}return a(0).eq(1)?new r(1):a(1).eq(1)?new r(a(0)):a(5).eq(2)&&(a(4).gte(2)||a(3).gte(2)||a(2).gte(2))||0!==t.slice(6).map((function(e){return new r(e)})).filter((function(r){return r.gt(1)})).length?r.POSITIVE_INFINITY.clone():r.BEAF_core(a(0),a(1),a(2),a(3),a(4),a(5))}},{key:"BEAF_core",value:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,u=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1,l=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,f=new r(e),c=new r(t);function h(e){var t;return new r(null!==(t=[a,i,o,u][e])&&void 0!==t?t:1)}if(f.eq(1))return new r(1);if(c.eq(1))return new r(f);if(c.isZero())return new r(1);if(f.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 f.mul(c);if(h(0).eq(1)&&h(1).eq(1)&&h(2).eq(1))return f.pow(c);if(h(0).eq(2)&&h(1).eq(1)&&h(2).eq(1)&&h(3).eq(1))return f.tetrate(c);if(h(1).eq(1)&&h(2).eq(1)&&h(3).eq(1))return f.arrow(h(0))(c);if(h(1).eq(2)&&h(2).eq(1)&&h(3).eq(1))return f.expansionArrow(h(0))(c);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(c.gte(s))return r.POSITIVE_INFINITY.clone();var v=new r(10);return v.layer=c.toNumber(),v.normalize(),v}function w(r,e,t){return 0==r&&e>1?[1/0,e-1,t]:0==r&&1==e&&t>1?[1,1/0,t-1]:[r,e,t]}if(p.gt(s)){var b=new r(p);return b.layer++,b.normalize(),b}function d(r){return isFinite(r)?r.toString():"!"}function E(r,e,t){var a=n(w(r,e,t),3),i=a[0],o=a[1],u=a[2];return"10{".concat(d(i),",").concat(d(o),",").concat(u,"}").concat(s)}var O=f.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(i,",").concat(o,"}"));var f,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,c,y.sub(1),p,u,l+1);if(y.eq(0))return r.BEAF_core(O,O,O,c,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(f=new r(y)).setOperator(f.getOperator(1,1/0,p.toNumber())+1,1,1/0,p.toNumber()),f;if(I.gt(r.MSI))return(f=I.clone()).setOperator(f.getOperator(1/0,y.toNumber(),p.toNumber())+1,1/0,y.toNumber(),p.toNumber()),f;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()))?((f=O.clone()).setOperator(f.getOperator(g,y.toNumber(),p.toNumber())-1,g,y.toNumber(),p.toNumber()),f.normalize()):f=O.gt(E(g-1,y.toNumber(),p.toNumber()))?new r(O.getOperator(g-1,y.toNumber(),p.toNumber())):r.ZERO;var v=f.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);f=r.BEAF_core(O,w-b,d,y,p,m,l+1);for(var k=0,M=E(g-1,y.toNumber(),p.toNumber());0!==b&&f.lt(M)&&k<100;k++)b>0&&(f=r.BEAF_core(O,f,d,y,p,m,l+1),--b);return 100==k&&(b=0),f.setOperator(f.getOperator(g-1,y.toNumber(),p.toNumber())+b,g-1,y.toNumber(),p.toNumber()),f.normalize(),f}(c,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 i=0;i<n.length;i++)e.lt(n[i])&&(e=new r(n[i]).clone());return e}},{key:"min",value:function(){for(var e=r.POSITIVE_INFINITY,t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];for(var i=0;i<n.length;i++)e.gt(n[i])&&(e=new r(n[i]).clone());return e}},{key:"clampMin",value:function(){return r.max.apply(r,arguments)}},{key:"clampMax",value:function(){return r.min.apply(r,arguments)}},{key:"eq",value:function(e,t){return new r(e).eq(t)}},{key:"equals",value:function(e,t){return new r(e).eq(t)}},{key:"neq",value:function(e,t){return new r(e).neq(t)}},{key:"notEquals",value:function(e,t){return new r(e).notEquals(t)}},{key:"lt",value:function(e,t){return new r(e).lt(t)}},{key:"gt",value:function(e,t){return new r(e).gt(t)}},{key:"lte",value:function(e,t){return new r(e).lte(t)}},{key:"gte",value:function(e,t){return new r(e).gte(t)}},{key:"rec",value:function(e){return new r(e).rec()}},{key:"recip",value:function(e){return new r(e).rec()}},{key:"reciprocate",value:function(e){return new r(e).rec()}},{key:"floor",value:function(e){return new r(e).floor()}},{key:"ceil",value:function(e){return new r(e).ceil()}},{key:"round",value:function(e){return new r(e).round()}},{key:"trunc",value:function(e){return new r(e).trunc()}},{key:"sign",value:function(e){return new r(e).sign}},{key:"isNaN",value:function(e){return new r(e).isNaN()}},{key:"fromBigInt",value:function(e){var t=new r(0),n=e<BigInt(0)?-e:e;return t.sign=e<BigInt(0)?-1:1,t.array=n<=s?[N(Number(n))]:[N(R(n)),N(1,1)],t.normalize(),t}},{key:"fromNumber",value:function(e){var t=new r;if(t.resetFromObject({array:[{arrow:0,expans:1,megota:1,repeat:NaN}],small:!1,layer:0,sign:0}),Number.isNaN(e))return t;if(e<0)t.sign=-1;else{if(0==e)return t.sign=0,t.small=!0,t.array=[N(1/0,0)],t;e>0&&(t.sign=1)}var n=Math.abs(e);return n==1/0?t.array=[N(1/0,0)]:n>=c&&n<1?(t.small=!0,t.array=[N(1/n,0)]):n<c?(t.small=!0,t.array=[N(-Math.log10(n),0),N(1,1)]):n<=s?t.array=[N(n,0)]:(t.setOperator(Math.log10(n),0),t.array=[N(Math.log10(n),0),N(1,1)]),t}},{key:"fromString",value:function(e){if(r.usingBreakEternityLikeFromString&&y.test(e)){var t=e.match(/(e+-)(\d+(.\d+)?)/);if(t){var n=t[1].length;e="/"+"e".repeat(n-1)+t[2]}}return this.fromString_core(e)}},{key:"fromString_core",value:function(e){var t,n,a,i,o,u,l,c=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 c=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(c=r.fromObject(k.array)).layer=k.lValue,c.sign=k.sValue,c.small=!1,c.normalize(),c}if(e=function(r){for(var e="",t=!1,n=0;n<r.length;n++){var a=r[n];"{"===a?(t=!0,e+=a):"}"===a?(t=!1,e+=a):","===a?t&&(e+=a):e+=a}return e}(e=e.replace(/\(e\^(\d+)\)/g,"(10^)^$1 ").replace(/(\d+)[Pp][Tt]/g,"(10^)^$1 ")),!g.test(e))throw"[PowiainaNum 0.2 error]malformed input: "+e;var M=!1,x=!1;if("-"==e[0]||"+"==e[0]){var q=e.search(/[^-\+]/);M=(null!==(n=null===(t=e.substring(0,q).match(/-/g))||void 0===t?void 0:t.length)&&void 0!==n?n:0)%2==1,e=e.substring(q)}if("/"==e[0]){var S=e.search(/[^\/]/);x=(null!==(i=null===(a=e.substring(0,S).match(/\//g))||void 0===a?void 0:a.length)&&void 0!==i?i:0)%2==1,e=e.substring(S)}if("NaN"==e)c.array=[N(NaN)];else if("Infinity"==e)c.array=[N(1/0)];else{var _,R,T,F;for(c.sign=1,c.array=[N(0)],"P"==e[0]&&("^"==e[1]?(_=e.substring(2).search(/[^0-9]/)+2,c.layer=Number(e.substring(2,_)),e=e.substring(_+1)):(_=e.search(/[^P]/),c.layer=_,e=e.substring(_)));e&&/^(\(?10[\^\{])/.test(e);){var A=void 0,Z=void 0,P=void 0;if("("==e[0]&&(e=e.substring(1)),"^"==e[2])A=_=e.substring(2).search(/[^\^]/),R=_+2;else{_=e.indexOf("}");var B=e.substring(3,_).split(",");A=Number("!"==B[0]?1/0:B[0]),Z=Number(null!==(o="!"==B[1]?1/0:B[1])&&void 0!==o?o:1),P=Number(null!==(u=B[2])&&void 0!==u?u:1),R=_+1}")"==(e=e.substring(R))[0]?(_=e.indexOf(" "),T=Number(e.substring(2,_)),e=e.substring(_+1)):T=1,1==A&&1==Z&&1==P?c.array.length>=2&&1==c.array[1].arrow?c.array[1].repeat+=T:c.array.splice(1,0,N(T,1,Z,P)):2==A&&1==Z&&1==P?(_=c.array.length>=2&&1==c.array[1].arrow?c.array[1].repeat:0,(R=c.array[0].repeat)>=1e10&&++_,R>=10&&++_,c.array[0].repeat=_,c.array.length>=2&&1==c.array[1].arrow&&c.array.splice(1,1),F=c.getOperatorIndex(2),Number.isInteger(F)?c.array[F].repeat+=T:c.array.splice(Math.ceil(F),0,N(T,2,Z,P))):isFinite(A)?(_=c.getOperator(A-1),(R=c.getOperator(A-2))>=10&&++_,F=c.getOperatorIndex(A),c.array.splice(1,Math.ceil(F)-1),c.array[0].repeat=_,Number.isInteger(F)?c.array[1].repeat+=T:c.array.splice(1,0,N(T,A,Z,P))):c.array.splice(1,0,N(T,A,Z,P))}_=e.split(/[Ee]/),R=[c.array[0].repeat,0],T=1;for(var V=_.length-1;V>=0;--V){R[0]<f&&0===R[1]?R[0]=Math.pow(10,T*R[0]):-1==T?(0===R[1]?R[0]=Math.pow(10,T*R[0]):1==R[1]&&R[0]<=Math.log10(Number.MAX_VALUE)?R[0]=Math.pow(10,T*Math.pow(10,R[0])):R[0]=0,R[1]=0):R[1]++;var z=_[V].indexOf("."),Y=-1==z?_[V].length:z;0===R[1]?Y>=17?(R[0]=Math.log10(R[0])+m(_[V].substring(0,Y)),R[1]=1):_[V]&&(R[0]*=Number(_[V])):(F=Y>=17?m(_[V].substring(0,Y)):_[V]?Math.log10(Number(_[V])):0,1==R[1]?R[0]+=F:2==R[1]&&R[0]<f+Math.log10(F)&&(R[0]+=Math.log10(1+Math.pow(10,Math.log10(F)-R[0])))),R[0]<f&&R[1]?(R[0]=Math.pow(10,R[0]),R[1]--):R[0]>s&&(R[0]=Math.log10(R[0]),R[1]++)}c.array[0].repeat=R[0],R[1]&&(c.array.length>=2&&1==c.array[1].arrow&&1==c.array[1].expans&&1==c.array[1].megota?c.array[1].repeat+=R[1]:c.array.splice(1,0,N(R[1],1,1,1)))}return M&&(c.sign*=-1),x&&(c.small=!c.small),c.normalize(),c.normalize(),c}},{key:"fromObject",value:function(e){var t=new r;if(t.resetFromObject({array:[{arrow:0,expans:1,megota:1,repeat:NaN}],small:!1,layer:0,sign:0}),t.array=[],function(r){if(!Array.isArray(r))return!1;for(var e=0;e<r.length;e++){var t=r[e];if(!Array.isArray(t))return!1;if(!b(t))return!1;if(!d(t))return!1}return!0}(e)){for(var n=0;n<e.length;n++)t.array[n]={arrow:e[n][0],expans:1,megota:1,repeat:e[n][1]};return t.small=!1,t.sign=1,t.layer=0,t}if(function(r){return null!==r&&"object"===o(r)&&("mag"in r&&"number"==typeof r.mag&&("layer"in r&&"number"==typeof r.layer&&("sign"in r&&"number"==typeof r.sign)))}(e)){var a=e,i=a.mag<0,u=new r(1);return a.layer>=s?u.array=[N(Math.log10(a.layer)),N(1,1),N(1,2)]:a.layer>=1?u.array=[N(Math.abs(a.mag)),N(a.layer,1)]:u.array=[N(a.mag)],u.small=i,u.normalize(),u}if(function(r){if(!Array.isArray(r))return!1;if("number"!=typeof r[0])return!1;for(var e=1;e<r.length;e++){var t=r[e];if(!Array.isArray(t))return!1;if(!O(t))return!1;if(!I(t)&&!k(t)&&!M(t))return!1}return!0}(e)){var l=e;t.array[0]=N(l[0]);for(var f=1;f<l.length;f++){var c=l[f];t.array[1]=N(c[1],E(c[0]),E(c[2]),c[3])}return t.small=!1,t.sign=1,t.layer=0,t}return t.resetFromObject(e),t}},{key:"grahalFunction",value:function(e){var t=new r(e);return!t.isInt()||t.lt(0)||t.isNaN()?r.NaN.clone():t.eq(1)?new r("10^^^(10^)^7625597484984 3638334640023.7783"):t.lte(s)?new r("(10{!})^".concat(t.toNumber()," 10^^^(10^)^7625597484984 3638334640023.7783")):r.BEAF(3,t,1,2)}}])}();l=Symbol.toStringTag,F.ZERO=new F({array:[{arrow:0,expans:1,megota:1,repeat:1/0}],small:!0,layer:0,sign:0}),F.ONE=new F({array:[{arrow:0,expans:1,megota:1,repeat:1}],small:!1,layer:0,sign:1}),F.MSI=new F(s),F.MSI_REC=((T=new F(s)).small=!0,T),F.E_MSI=new F({array:[{arrow:0,expans:1,megota:1,repeat:s},{arrow:1,expans:1,megota:1,repeat:1}],small:!1,layer:0,sign:1}),F.EE_MSI=new F({array:[{arrow:0,expans:1,megota:1,repeat:s},{arrow:1,expans:1,megota:1,repeat:2}],small:!1,layer:0,sign:1}),F.E_MSI_REC=new F({array:[{arrow:0,expans:1,megota:1,repeat:s},{arrow:1,expans:1,megota:1,repeat:1}],small:!0,layer:0,sign:1}),F.TETRATED_MSI=new F({array:[{arrow:0,expans:1,megota:1,repeat:1e10},{arrow:1,expans:1,megota:1,repeat:s-2}],small:!1,layer:0,sign:1}),F.PENTATED_MSI=new F({array:[{arrow:0,expans:1,megota:1,repeat:10},{arrow:2,expans:1,megota:1,repeat:s-1}],small:!1,layer:0,sign:1}),F.TRITRI=new F({small:!1,layer:0,sign:1,array:[N(3638334640023.7783,0,1,1),N(7625587484984,1,1,1)]}),F.GRAHAMS_NUMBER=new F("(10{!})^63 10^^^(10^)^7625597484984 3638334640023.7783"),F.POSITIVE_INFINITY=new F(1/0),F.NEGATIVE_INFINITY=new F(-1/0),F.NaN=new F({array:[{arrow:0,expans:1,megota:1,repeat:NaN}],small:!1,layer:0,sign:0}),F.E=new F(Math.E),F.LN2=new F(Math.LN2),F.LN10=new F(Math.LN10),F.LOG2E=new F(Math.LOG2E),F.LOG10E=new F(Math.LOG10E),F.PI=new F(Math.PI),F.SQRT1_2=new F(Math.SQRT1_2),F.SQRT2=new F(Math.SQRT2),F.maxOps=100,F.POW_2_44_MOD_PI=1.701173079953,F.arrowFuncMap=new Map,F.usingBreakEternityLikeFromString=!0,F.blankArgumentConstructorReturnZero=!1,F.throwErrorOnResultNaN=!1,r.arraySortFunction=q,r.default=F,r.mergeSameArrays=function(r){for(var e=1;e<r.array.length-1;++e)r.array[e].arrow==r.array[e+1].arrow&&r.array[e].expans==r.array[e+1].expans&&r.array[e].megota==r.array[e+1].megota&&(r.array[e].repeat+=r.array[e+1].repeat,r.array.splice(e+1,1),--e)},Object.defineProperty(r,"__esModule",{value:!0})}));
|
package/dist/index.d.ts
CHANGED
|
@@ -11,12 +11,17 @@ interface IPowiainaNum {
|
|
|
11
11
|
sign: -1 | 0 | 1;
|
|
12
12
|
layer: number;
|
|
13
13
|
}
|
|
14
|
+
interface IBreakEternity {
|
|
15
|
+
layer: number;
|
|
16
|
+
mag: number;
|
|
17
|
+
sign: number;
|
|
18
|
+
}
|
|
14
19
|
type PowiainaNumArray01X = [
|
|
15
20
|
number,
|
|
16
21
|
...([number, number, number, number] | ["x", number, number, number] | [number, number, "x", number])[]
|
|
17
22
|
];
|
|
18
23
|
type ExpantaNumArray = [number, number][];
|
|
19
|
-
export type PowiainaNumSource = number | string | IPowiainaNum | PowiainaNum | ExpantaNumArray;
|
|
24
|
+
export type PowiainaNumSource = number | string | bigint | IPowiainaNum | PowiainaNum | ExpantaNumArray | IBreakEternity;
|
|
20
25
|
export declare function arraySortFunction(a: Operator, b: Operator): 0 | 1 | -1;
|
|
21
26
|
/**
|
|
22
27
|
* Merge arrays in arrow,expans,megota is all same.
|
|
@@ -160,6 +165,7 @@ export default class PowiainaNum implements IPowiainaNum {
|
|
|
160
165
|
*/
|
|
161
166
|
iteratedlog(other2?: PowiainaNumSource, base2?: PowiainaNumSource): PowiainaNum;
|
|
162
167
|
static iteratedlog(t: PowiainaNumSource, other2?: PowiainaNumSource, base2?: PowiainaNumSource): PowiainaNum;
|
|
168
|
+
omegalog(bbase?: number): PowiainaNum;
|
|
163
169
|
/**
|
|
164
170
|
* Arrow operation, return a function
|
|
165
171
|
* The function has a parameter `other`
|
|
@@ -366,6 +372,7 @@ export default class PowiainaNum implements IPowiainaNum {
|
|
|
366
372
|
*/
|
|
367
373
|
toString_core(): string;
|
|
368
374
|
toString(): string;
|
|
375
|
+
static fromBigInt(input: bigint): PowiainaNum;
|
|
369
376
|
static fromNumber(x: number): PowiainaNum;
|
|
370
377
|
[Symbol.toStringTag]: string;
|
|
371
378
|
/**
|
|
@@ -375,7 +382,7 @@ export default class PowiainaNum implements IPowiainaNum {
|
|
|
375
382
|
toJSON(): string;
|
|
376
383
|
static fromString(input: string): PowiainaNum;
|
|
377
384
|
static fromString_core(input: string): PowiainaNum;
|
|
378
|
-
static fromObject(powlikeObject: IPowiainaNum | ExpantaNumArray | PowiainaNumArray01X): PowiainaNum;
|
|
385
|
+
static fromObject(powlikeObject: IPowiainaNum | ExpantaNumArray | PowiainaNumArray01X | IBreakEternity): PowiainaNum;
|
|
379
386
|
/**
|
|
380
387
|
* A property array value for version 0.1.x PowiainaNum.
|
|
381
388
|
*/
|
package/package.json
CHANGED