powiaina_num.js 0.2.0-alpha.2.3 → 0.2.0-alpha.2.4
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 +31 -15
- package/dist/PowiainaNum.esm.js +31 -15
- package/dist/PowiainaNum.js +31 -15
- package/dist/PowiainaNum.min.js +1 -1
- package/dist/index.d.ts +1 -0
- package/package.json +1 -1
package/dist/PowiainaNum.cjs.js
CHANGED
|
@@ -220,6 +220,7 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
220
220
|
return _createClass(PowiainaNum, [{
|
|
221
221
|
key: "add",
|
|
222
222
|
value: function add(other) {
|
|
223
|
+
var _a, _b, _c, _d;
|
|
223
224
|
var x = this.clone();
|
|
224
225
|
var y = new PowiainaNum(other);
|
|
225
226
|
// inf + -inf = nan
|
|
@@ -253,11 +254,11 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
253
254
|
a = y;
|
|
254
255
|
}
|
|
255
256
|
var mult = 1;
|
|
256
|
-
if (!a.small && !b.small && !a.
|
|
257
|
-
return new PowiainaNum((a.
|
|
257
|
+
if (!a.small && !b.small && !((_a = a.array[1]) === null || _a === void 0 ? void 0 : _a.repeat) && !((_b = b.array[1]) === null || _b === void 0 ? void 0 : _b.repeat) && a.sign == b.sign) {
|
|
258
|
+
return new PowiainaNum((a.array[0].repeat + b.array[0].repeat) * a.sign);
|
|
258
259
|
}
|
|
259
|
-
var alog10 = (a.small ? -1 : 1) * (a.
|
|
260
|
-
var blog10 = (b.small ? -1 : 1) * (b.
|
|
260
|
+
var alog10 = (a.small ? -1 : 1) * (((_c = a.array[1]) === null || _c === void 0 ? void 0 : _c.repeat) ? a.array[0].repeat : Math.log10(a.array[0].repeat));
|
|
261
|
+
var blog10 = (b.small ? -1 : 1) * (((_d = b.array[1]) === null || _d === void 0 ? void 0 : _d.repeat) ? b.array[0].repeat : Math.log10(b.array[0].repeat));
|
|
261
262
|
if (alog10 - blog10 > MSI_LOG10) return a;
|
|
262
263
|
var offset = -Math.floor(alog10); //a number can make a+off in [0,1)
|
|
263
264
|
var r,
|
|
@@ -273,10 +274,9 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
273
274
|
r = new PowiainaNum();
|
|
274
275
|
r.sign = 1;
|
|
275
276
|
if (l > MSI_LOG10 || l < -MSI_LOG10) {
|
|
276
|
-
r.
|
|
277
|
-
r.setOperator(Math.log10(Math.abs(l)), 1);
|
|
277
|
+
r.array = [newOperator(l, 0), newOperator(1, 1)];
|
|
278
278
|
} else {
|
|
279
|
-
r.
|
|
279
|
+
r.array = [newOperator(Math.pow(10, l), 0)];
|
|
280
280
|
}
|
|
281
281
|
r.small = l < 0 ? true : false;
|
|
282
282
|
r.sign *= mult;
|
|
@@ -731,13 +731,14 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
731
731
|
if (this.abs().gte(Math.pow(2, 52))) return true;
|
|
732
732
|
return false;
|
|
733
733
|
}
|
|
734
|
+
}, {
|
|
735
|
+
key: "normalize",
|
|
736
|
+
value:
|
|
734
737
|
/**
|
|
735
738
|
* Normalize functions will make this number convert into standard format.(it also change `this`, like [].sort)
|
|
736
739
|
* @returns normalized number
|
|
737
740
|
*/
|
|
738
|
-
|
|
739
|
-
key: "normalize",
|
|
740
|
-
value: function normalize() {
|
|
741
|
+
function normalize() {
|
|
741
742
|
//TODO: normalize
|
|
742
743
|
var renormalize = true;
|
|
743
744
|
var x = this;
|
|
@@ -1065,6 +1066,11 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
1065
1066
|
var principal = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
1066
1067
|
return new PowiainaNum(x).lambertw(principal);
|
|
1067
1068
|
}
|
|
1069
|
+
}, {
|
|
1070
|
+
key: "isNaN",
|
|
1071
|
+
value: function isNaN(x) {
|
|
1072
|
+
return new PowiainaNum(x).isNaN();
|
|
1073
|
+
}
|
|
1068
1074
|
}, {
|
|
1069
1075
|
key: "fromNumber",
|
|
1070
1076
|
value: function fromNumber(x) {
|
|
@@ -1074,15 +1080,16 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
1074
1080
|
var y = Math.abs(x);
|
|
1075
1081
|
if (y >= MSI_REC && y < 1) {
|
|
1076
1082
|
obj.small = true;
|
|
1077
|
-
obj.
|
|
1083
|
+
obj.array = [newOperator(1 / y, 0)];
|
|
1078
1084
|
} else if (y < MSI_REC) {
|
|
1079
1085
|
obj.small = true;
|
|
1080
|
-
obj.
|
|
1081
|
-
|
|
1086
|
+
obj.array = [newOperator(-Math.log10(y), 0), newOperator(1, 1)];
|
|
1087
|
+
} else if (y <= MSI) {
|
|
1088
|
+
obj.array = [newOperator(y, 0)];
|
|
1082
1089
|
} else {
|
|
1083
|
-
obj.setOperator(y, 0);
|
|
1090
|
+
obj.setOperator(Math.log10(y), 0);
|
|
1091
|
+
obj.array = [newOperator(Math.log10(y), 0), newOperator(1, 1)];
|
|
1084
1092
|
}
|
|
1085
|
-
obj.normalize();
|
|
1086
1093
|
return obj;
|
|
1087
1094
|
}
|
|
1088
1095
|
}, {
|
|
@@ -1093,6 +1100,15 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
1093
1100
|
throw powiainaNumError + "malformed input: " + input;
|
|
1094
1101
|
}
|
|
1095
1102
|
var x = new PowiainaNum();
|
|
1103
|
+
// Judge the string was a number
|
|
1104
|
+
// @ts-ignore
|
|
1105
|
+
if (!isNaN(Number(input))) {
|
|
1106
|
+
// @ts-ignore
|
|
1107
|
+
if (isFinite(Number(input))) {
|
|
1108
|
+
x.resetFromObject(PowiainaNum.fromNumber(Number(input)));
|
|
1109
|
+
return x;
|
|
1110
|
+
}
|
|
1111
|
+
}
|
|
1096
1112
|
var negateIt = false;
|
|
1097
1113
|
var recipIt = false;
|
|
1098
1114
|
if (input[0] == "-" || input[0] == "+") {
|
package/dist/PowiainaNum.esm.js
CHANGED
|
@@ -218,6 +218,7 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
218
218
|
return _createClass(PowiainaNum, [{
|
|
219
219
|
key: "add",
|
|
220
220
|
value: function add(other) {
|
|
221
|
+
var _a, _b, _c, _d;
|
|
221
222
|
var x = this.clone();
|
|
222
223
|
var y = new PowiainaNum(other);
|
|
223
224
|
// inf + -inf = nan
|
|
@@ -251,11 +252,11 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
251
252
|
a = y;
|
|
252
253
|
}
|
|
253
254
|
var mult = 1;
|
|
254
|
-
if (!a.small && !b.small && !a.
|
|
255
|
-
return new PowiainaNum((a.
|
|
255
|
+
if (!a.small && !b.small && !((_a = a.array[1]) === null || _a === void 0 ? void 0 : _a.repeat) && !((_b = b.array[1]) === null || _b === void 0 ? void 0 : _b.repeat) && a.sign == b.sign) {
|
|
256
|
+
return new PowiainaNum((a.array[0].repeat + b.array[0].repeat) * a.sign);
|
|
256
257
|
}
|
|
257
|
-
var alog10 = (a.small ? -1 : 1) * (a.
|
|
258
|
-
var blog10 = (b.small ? -1 : 1) * (b.
|
|
258
|
+
var alog10 = (a.small ? -1 : 1) * (((_c = a.array[1]) === null || _c === void 0 ? void 0 : _c.repeat) ? a.array[0].repeat : Math.log10(a.array[0].repeat));
|
|
259
|
+
var blog10 = (b.small ? -1 : 1) * (((_d = b.array[1]) === null || _d === void 0 ? void 0 : _d.repeat) ? b.array[0].repeat : Math.log10(b.array[0].repeat));
|
|
259
260
|
if (alog10 - blog10 > MSI_LOG10) return a;
|
|
260
261
|
var offset = -Math.floor(alog10); //a number can make a+off in [0,1)
|
|
261
262
|
var r,
|
|
@@ -271,10 +272,9 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
271
272
|
r = new PowiainaNum();
|
|
272
273
|
r.sign = 1;
|
|
273
274
|
if (l > MSI_LOG10 || l < -MSI_LOG10) {
|
|
274
|
-
r.
|
|
275
|
-
r.setOperator(Math.log10(Math.abs(l)), 1);
|
|
275
|
+
r.array = [newOperator(l, 0), newOperator(1, 1)];
|
|
276
276
|
} else {
|
|
277
|
-
r.
|
|
277
|
+
r.array = [newOperator(Math.pow(10, l), 0)];
|
|
278
278
|
}
|
|
279
279
|
r.small = l < 0 ? true : false;
|
|
280
280
|
r.sign *= mult;
|
|
@@ -729,13 +729,14 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
729
729
|
if (this.abs().gte(Math.pow(2, 52))) return true;
|
|
730
730
|
return false;
|
|
731
731
|
}
|
|
732
|
+
}, {
|
|
733
|
+
key: "normalize",
|
|
734
|
+
value:
|
|
732
735
|
/**
|
|
733
736
|
* Normalize functions will make this number convert into standard format.(it also change `this`, like [].sort)
|
|
734
737
|
* @returns normalized number
|
|
735
738
|
*/
|
|
736
|
-
|
|
737
|
-
key: "normalize",
|
|
738
|
-
value: function normalize() {
|
|
739
|
+
function normalize() {
|
|
739
740
|
//TODO: normalize
|
|
740
741
|
var renormalize = true;
|
|
741
742
|
var x = this;
|
|
@@ -1063,6 +1064,11 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
1063
1064
|
var principal = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
1064
1065
|
return new PowiainaNum(x).lambertw(principal);
|
|
1065
1066
|
}
|
|
1067
|
+
}, {
|
|
1068
|
+
key: "isNaN",
|
|
1069
|
+
value: function isNaN(x) {
|
|
1070
|
+
return new PowiainaNum(x).isNaN();
|
|
1071
|
+
}
|
|
1066
1072
|
}, {
|
|
1067
1073
|
key: "fromNumber",
|
|
1068
1074
|
value: function fromNumber(x) {
|
|
@@ -1072,15 +1078,16 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
1072
1078
|
var y = Math.abs(x);
|
|
1073
1079
|
if (y >= MSI_REC && y < 1) {
|
|
1074
1080
|
obj.small = true;
|
|
1075
|
-
obj.
|
|
1081
|
+
obj.array = [newOperator(1 / y, 0)];
|
|
1076
1082
|
} else if (y < MSI_REC) {
|
|
1077
1083
|
obj.small = true;
|
|
1078
|
-
obj.
|
|
1079
|
-
|
|
1084
|
+
obj.array = [newOperator(-Math.log10(y), 0), newOperator(1, 1)];
|
|
1085
|
+
} else if (y <= MSI) {
|
|
1086
|
+
obj.array = [newOperator(y, 0)];
|
|
1080
1087
|
} else {
|
|
1081
|
-
obj.setOperator(y, 0);
|
|
1088
|
+
obj.setOperator(Math.log10(y), 0);
|
|
1089
|
+
obj.array = [newOperator(Math.log10(y), 0), newOperator(1, 1)];
|
|
1082
1090
|
}
|
|
1083
|
-
obj.normalize();
|
|
1084
1091
|
return obj;
|
|
1085
1092
|
}
|
|
1086
1093
|
}, {
|
|
@@ -1091,6 +1098,15 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
1091
1098
|
throw powiainaNumError + "malformed input: " + input;
|
|
1092
1099
|
}
|
|
1093
1100
|
var x = new PowiainaNum();
|
|
1101
|
+
// Judge the string was a number
|
|
1102
|
+
// @ts-ignore
|
|
1103
|
+
if (!isNaN(Number(input))) {
|
|
1104
|
+
// @ts-ignore
|
|
1105
|
+
if (isFinite(Number(input))) {
|
|
1106
|
+
x.resetFromObject(PowiainaNum.fromNumber(Number(input)));
|
|
1107
|
+
return x;
|
|
1108
|
+
}
|
|
1109
|
+
}
|
|
1094
1110
|
var negateIt = false;
|
|
1095
1111
|
var recipIt = false;
|
|
1096
1112
|
if (input[0] == "-" || input[0] == "+") {
|
package/dist/PowiainaNum.js
CHANGED
|
@@ -224,6 +224,7 @@
|
|
|
224
224
|
return _createClass(PowiainaNum, [{
|
|
225
225
|
key: "add",
|
|
226
226
|
value: function add(other) {
|
|
227
|
+
var _a, _b, _c, _d;
|
|
227
228
|
var x = this.clone();
|
|
228
229
|
var y = new PowiainaNum(other);
|
|
229
230
|
// inf + -inf = nan
|
|
@@ -257,11 +258,11 @@
|
|
|
257
258
|
a = y;
|
|
258
259
|
}
|
|
259
260
|
var mult = 1;
|
|
260
|
-
if (!a.small && !b.small && !a.
|
|
261
|
-
return new PowiainaNum((a.
|
|
261
|
+
if (!a.small && !b.small && !((_a = a.array[1]) === null || _a === void 0 ? void 0 : _a.repeat) && !((_b = b.array[1]) === null || _b === void 0 ? void 0 : _b.repeat) && a.sign == b.sign) {
|
|
262
|
+
return new PowiainaNum((a.array[0].repeat + b.array[0].repeat) * a.sign);
|
|
262
263
|
}
|
|
263
|
-
var alog10 = (a.small ? -1 : 1) * (a.
|
|
264
|
-
var blog10 = (b.small ? -1 : 1) * (b.
|
|
264
|
+
var alog10 = (a.small ? -1 : 1) * (((_c = a.array[1]) === null || _c === void 0 ? void 0 : _c.repeat) ? a.array[0].repeat : Math.log10(a.array[0].repeat));
|
|
265
|
+
var blog10 = (b.small ? -1 : 1) * (((_d = b.array[1]) === null || _d === void 0 ? void 0 : _d.repeat) ? b.array[0].repeat : Math.log10(b.array[0].repeat));
|
|
265
266
|
if (alog10 - blog10 > MSI_LOG10) return a;
|
|
266
267
|
var offset = -Math.floor(alog10); //a number can make a+off in [0,1)
|
|
267
268
|
var r,
|
|
@@ -277,10 +278,9 @@
|
|
|
277
278
|
r = new PowiainaNum();
|
|
278
279
|
r.sign = 1;
|
|
279
280
|
if (l > MSI_LOG10 || l < -MSI_LOG10) {
|
|
280
|
-
r.
|
|
281
|
-
r.setOperator(Math.log10(Math.abs(l)), 1);
|
|
281
|
+
r.array = [newOperator(l, 0), newOperator(1, 1)];
|
|
282
282
|
} else {
|
|
283
|
-
r.
|
|
283
|
+
r.array = [newOperator(Math.pow(10, l), 0)];
|
|
284
284
|
}
|
|
285
285
|
r.small = l < 0 ? true : false;
|
|
286
286
|
r.sign *= mult;
|
|
@@ -735,13 +735,14 @@
|
|
|
735
735
|
if (this.abs().gte(Math.pow(2, 52))) return true;
|
|
736
736
|
return false;
|
|
737
737
|
}
|
|
738
|
+
}, {
|
|
739
|
+
key: "normalize",
|
|
740
|
+
value:
|
|
738
741
|
/**
|
|
739
742
|
* Normalize functions will make this number convert into standard format.(it also change `this`, like [].sort)
|
|
740
743
|
* @returns normalized number
|
|
741
744
|
*/
|
|
742
|
-
|
|
743
|
-
key: "normalize",
|
|
744
|
-
value: function normalize() {
|
|
745
|
+
function normalize() {
|
|
745
746
|
//TODO: normalize
|
|
746
747
|
var renormalize = true;
|
|
747
748
|
var x = this;
|
|
@@ -1069,6 +1070,11 @@
|
|
|
1069
1070
|
var principal = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
1070
1071
|
return new PowiainaNum(x).lambertw(principal);
|
|
1071
1072
|
}
|
|
1073
|
+
}, {
|
|
1074
|
+
key: "isNaN",
|
|
1075
|
+
value: function isNaN(x) {
|
|
1076
|
+
return new PowiainaNum(x).isNaN();
|
|
1077
|
+
}
|
|
1072
1078
|
}, {
|
|
1073
1079
|
key: "fromNumber",
|
|
1074
1080
|
value: function fromNumber(x) {
|
|
@@ -1078,15 +1084,16 @@
|
|
|
1078
1084
|
var y = Math.abs(x);
|
|
1079
1085
|
if (y >= MSI_REC && y < 1) {
|
|
1080
1086
|
obj.small = true;
|
|
1081
|
-
obj.
|
|
1087
|
+
obj.array = [newOperator(1 / y, 0)];
|
|
1082
1088
|
} else if (y < MSI_REC) {
|
|
1083
1089
|
obj.small = true;
|
|
1084
|
-
obj.
|
|
1085
|
-
|
|
1090
|
+
obj.array = [newOperator(-Math.log10(y), 0), newOperator(1, 1)];
|
|
1091
|
+
} else if (y <= MSI) {
|
|
1092
|
+
obj.array = [newOperator(y, 0)];
|
|
1086
1093
|
} else {
|
|
1087
|
-
obj.setOperator(y, 0);
|
|
1094
|
+
obj.setOperator(Math.log10(y), 0);
|
|
1095
|
+
obj.array = [newOperator(Math.log10(y), 0), newOperator(1, 1)];
|
|
1088
1096
|
}
|
|
1089
|
-
obj.normalize();
|
|
1090
1097
|
return obj;
|
|
1091
1098
|
}
|
|
1092
1099
|
}, {
|
|
@@ -1097,6 +1104,15 @@
|
|
|
1097
1104
|
throw powiainaNumError + "malformed input: " + input;
|
|
1098
1105
|
}
|
|
1099
1106
|
var x = new PowiainaNum();
|
|
1107
|
+
// Judge the string was a number
|
|
1108
|
+
// @ts-ignore
|
|
1109
|
+
if (!isNaN(Number(input))) {
|
|
1110
|
+
// @ts-ignore
|
|
1111
|
+
if (isFinite(Number(input))) {
|
|
1112
|
+
x.resetFromObject(PowiainaNum.fromNumber(Number(input)));
|
|
1113
|
+
return x;
|
|
1114
|
+
}
|
|
1115
|
+
}
|
|
1100
1116
|
var negateIt = false;
|
|
1101
1117
|
var recipIt = false;
|
|
1102
1118
|
if (input[0] == "-" || input[0] == "+") {
|
package/dist/PowiainaNum.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(r="undefined"!=typeof globalThis?globalThis:r||self).PowiainaNum=e()}(this,(function(){"use strict";function r(r,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(r,e(n.key),n)}}function e(r){var e=function(r,e){if("object"!=typeof r||!r)return r;var t=r[Symbol.toPrimitive];if(void 0!==t){var a=t.call(r,e||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(r)}(r,"string");return"symbol"==typeof e?e:e+""}function t(r){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r})(r)}var a=9007199254740991,n=15.954589770191003,i=/^[-\+]*(Infinity|NaN|(10(\^+|\{([1-9]\d*|!)(,([1-9]\d*|!))?(,[1-9]\d*)?\})|\(10(\^+|\{([1-9]\d*|!)(,([1-9]\d*|!))?(,[1-9]\d*)?\})\)\^[1-9]\d* )*((\d+(\.\d*)?|\d*\.\d+)?([Ee][-\+]*))*(0|\d+(\.\d*)?|\d*\.\d+))$/;function o(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return{repeat:r,arrow:e,expans:t,megota:a,valuereplaced:e==1/0?0:t==1/0?1:-1}}function s(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];for(var a=0;a<Math.min(e[0].length,e[1].length);a++){var n=e[0][a],i=e[1][a];if(n<i)return-1;if(n>i)return 1}return 0}function l(r){return Math.log10(Number(r.substring(0,17)))+(r.length-17)}var u=.5671432904097838;function h(r){var e,t,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e-10,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!Number.isFinite(r))return r;if(n){if(0===r)return r;if(1===r)return u;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 i=0;i<100;++i){if(t=(r*Math.exp(-e)+e*e)/(e+1),Math.abs(t-e)<a*Math.abs(t))return t;e=t}throw Error("Iteration failed to converge: ".concat(r.toString()))}function g(r){var e,t,a,n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e-10,o=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(r.isInfinite())return r;if(o){if(r.eq(c.ZERO))return c.ZERO.clone();if(r.eq(c.ONE))return c.fromNumber(u);e=r.log()}else{if(r.eq(c.ZERO))return c.NEGATIVE_INFINITY.clone();e=r.neg().log()}for(var s=0;s<100;++s){if(t=e.neg().exp(),a=e.sub(r.mul(t)),(n=e.sub(a.div(e.add(1).sub(e.add(2).mul(a).div(e.mul(2).add(2)))))).sub(e).abs().lt(n.abs().mul(i)))return n;e=n}throw Error("Iteration failed to converge: ".concat(r.toString()))}var p,c=function(){function e(r){if(function(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),this.array=[{arrow:0,expans:1,megota:1,repeat:NaN}],this.small=!1,this.sign=0,this.layer=0,void 0===r);else if("number"==typeof r){var a=e.fromNumber(r);this.resetFromObject(a)}else if("object"==t(r)){var n=e.fromObject(r);this.resetFromObject(n)}else if("string"==typeof r){var i=e.fromString(r);this.resetFromObject(i)}}return function(e,t,a){return t&&r(e.prototype,t),a&&r(e,a),Object.defineProperty(e,"prototype",{writable:!1}),e}(e,[{key:"add",value:function(r){var t,a,i=this.clone(),o=new e(r);if(i.eq(e.POSITIVE_INFINITY)&&o.eq(e.NEGATIVE_INFINITY)||i.eq(e.NEGATIVE_INFINITY)&&o.eq(e.POSITIVE_INFINITY))return e.NaN.clone();if(!i.isFinite())return i.clone();if(!o.isFinite())return o.clone();if(i.isZero())return o.clone();if(o.isZero())return i.clone();if(i.sign==-o.sign&&function(){var r=i.abs(),e=o.abs();return r.eq(e)}())return e.ZERO.clone();if(i.abs().lt(e.E_MSI_REC)||i.abs().gt(e.E_MSI)||o.abs().lt(e.E_MSI_REC)||o.abs().gt(e.E_MSI))return i.maxabs(o);if(-1==i.sign)return i.neg().add(o.neg()).neg();i.cmpabs(o)>0?(t=i,a=o):(a=i,t=o);var s=1;if(!(t.small||a.small||t.getOperator(1)||a.getOperator(1)||t.sign!=a.sign))return new e((t.getOperator(0)+a.getOperator(0))*t.sign);var l=(t.small?-1:1)*(t.getOperator(1)?t.getOperator(0):Math.log10(t.getOperator(0))),u=(a.small?-1:1)*(a.getOperator(1)?a.getOperator(0):Math.log10(a.getOperator(0)));if(l-u>n)return t;var h,g,p=-Math.floor(l),c=0;if((g=t.sign*Math.pow(10,l+p)+a.sign*Math.pow(10,u+p))>0&&(c=Math.log10(g)-p),g<0&&(c=Math.log10(-g)-p,s*=-1),0==g)throw Error("Encounter a calculate error");return(h=new e).sign=1,c>n||c<-n?(h.setOperator(1,1),h.setOperator(Math.log10(Math.abs(c)),1)):h.setOperator(Math.pow(10,Math.abs(c)),0),h.small=c<0,h.sign*=s,h}},{key:"sub",value:function(r){return this.add(new e(r).neg())}},{key:"mul",value:function(r){var t,a=this.clone(),n=new e(r);return a.eq(e.POSITIVE_INFINITY)&&n.eq(e.NEGATIVE_INFINITY)||n.eq(e.POSITIVE_INFINITY)&&a.eq(e.NEGATIVE_INFINITY)?e.NEGATIVE_INFINITY.clone():a.isInfinite()&&n.eq(e.ZERO)&&n.isInfinite()&&a.eq(e.ZERO)?e.NaN.clone():a.eq(e.NEGATIVE_INFINITY)&&n.eq(e.NEGATIVE_INFINITY)?e.POSITIVE_INFINITY.clone():a.isFinite()?n.isFinite()?a.isZero()||n.isZero()?e.ZERO.clone():((t=a.abs().log10().add(n.abs().log10()).pow10()).sign=a.sign*n.sign,t):n.clone():a.clone()}},{key:"div",value:function(r){var t=new e(r).rec();return this.mul(t)}},{key:"pow10",value:function(){var r=this.clone();return this.isFinite()?r.lt(0)?(r.sign*=-1,r.pow10().rec()):r.small?r.lt(e.MSI_REC)?e.ONE:new e(Math.pow(10,Math.pow(r.getOperator(0),-1))):(r.setOperator(r.getOperator(1)+1,1),r.normalize(),r):this.clone()}},{key:"pow",value:function(r){var t,a=new e(r);if(!a.isFinite())return a.clone();if(!this.isFinite())return this.clone();if(this.eq(10))return a.pow10();if(this.lt(0)){if(!a.isInt())return e.NaN.clone();var n=this.abs().pow(a);return n.sign=(t=a.mod(2).round()).eq(0)||t.eq(2)?1:-1,n}return this.log10().mul(a).pow10()}},{key:"pow_base",value:function(r){return new e(r).pow(this)}},{key:"root",value:function(r){var t=new e(r);return this.pow(t.rec())}},{key:"sqrt",value:function(){return this.pow(.5)}},{key:"cbrt",value:function(){return this.root(3)}},{key:"abs",value:function(){var r=this.clone();return r.sign<0&&(r.sign*=-1),r}},{key:"log10",value:function(){if(this.lt(0))return e.NaN.clone();if(this.isZero())return e.NEGATIVE_INFINITY.clone();if(this.small){var r=this.clone();return r.small=!r.small,r.log10().neg()}if(0==this.getOperator(1))return new e(Math.log10(this.getOperator(0)));var t=this.clone();return t.setOperator(t.getOperator(1)-1,1),t.normalize(),t}},{key:"log",value:function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Math.E,t=new e(r);return this.log10().div(t.log10())}},{key:"exp",value:function(){return this.pow_base(Math.E)}},{key:"mod",value:function(r){var t=new e(r),a=this.div(t);return a.sub(a.floor()).mul(t)}},{key:"factorial",value:function(){return this.abs().lt(a)?this.add(1).gamma():this.abs().lt(e.E_MSI)?e.exp(this.mul(this.log10().sub(1))):e.exp(this)}},{key:"gamma",value:function(){if(this.small)return this.rec();if(this.lte(a)){if(this.lt(24))return e.fromNumber(function(r){if(!isFinite(r))return r;if(r<-50)return r===Math.trunc(r)?Number.NEGATIVE_INFINITY:0;for(var e=1;r<10;)e*=r,++r;var t=.9189385332046727;t+=((r-=1)+.5)*Math.log(r),t-=r;var a=r*r,n=r;return t+=1/(12*n),t-=1/(360*(n*=a)),t+=1/(1260*(n*=a)),t-=1/(1680*(n*=a)),t+=1/(1188*(n*=a)),t-=691/(360360*(n*=a)),t+=7/(1092*(n*=a)),t-=3617/(122400*(n*=a)),Math.exp(t)/e}(this.sign*this.getOperator(0)));var r=this.getOperator(0)-1,t=.9189385332046727;t+=(r+.5)*Math.log(r);var n=r*r,i=r,o=12*i,s=1/o,l=(t-=r)+s;if(l===t)return e.exp(t);if((l=(t=l)-(s=1/(o=360*(i*=n))))===t)return e.exp(t);t=l;var u=1/(o=1260*(i*=n));return t+=u,t-=u=1/(o=1680*(i*=n)),e.exp(t)}return this.gt(a)?e.exp(this.mul(this.log().sub(1))):e.exp(this)}},{key:"lambertw",value:function(){var r=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.lt(-.3678794411710499)?e.NaN.clone():r?this.abs().lt("1e-300")?new e(this):this.small?e.fromNumber(h(this.toNumber())):0===this.layer?e.fromNumber(h(this.sign*this.getOperator(0))):this.lt("eee15")?g(this):this.log():1===this.sign?e.NaN.clone():0===this.layer?e.fromNumber(h(this.sign*this.getOperator(0),1e-10,!1)):1==this.layer?g(this,1e-10,!1):this.neg().rec().lambertw().neg()}},{key:"max",value:function(r){var t=new e(r);return this.lt(t)?t.clone():this.clone()}},{key:"min",value:function(r){var t=new e(r);return this.gte(t)?t.clone():this.clone()}},{key:"maxabs",value:function(r){var t=new e(r).abs();return this.abs().lt(t)?t.clone():this.clone()}},{key:"minabs",value:function(r){var t=new e(r).abs();return this.abs().gt(t)?t.clone():this.clone()}},{key:"cmpabs",value:function(r){var t=new e(r).abs();return this.abs().cmp(t)}},{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:"floor",value:function(){if(this.isInt())return this.clone();if(this.small)return 1==this.sign?e.ZERO.clone():e.ONE.neg().clone();var r=this.abs();return r.setOperator(Math[1==this.sign?"floor":"ceil"](r.getOperator(0)),0),r}},{key:"ceil",value:function(){if(this.isInt())return this.clone();if(this.small)return 1==this.sign?e.ONE.clone():e.ZERO.clone();var r=this.abs();return r.setOperator(Math[1==this.sign?"ceil":"floor"](r.getOperator(0)),0),r.sign=this.sign,r}},{key:"round",value:function(){if(this.isInt())return this.clone();if(this.small)return 1==this.sign?this.rec().lte(2)?e.ONE.clone():e.ZERO.clone():this.abs().rec().lte(2)?e.ZERO.clone():e.ONE.neg().clone();var r=this.abs();return r.setOperator(Math.round(r.getOperator(0)),0),r.sign=this.sign,r}},{key:"compare",value:function(r){var t=new e(r);if(this.isNaN()||t.isNaN())return 2;if(this.sign<t.sign)return-1;if(this.sign>t.sign)return 1;var a=-1==this.sign&&-1==t.sign;if(this.small&&!t.small)return-1*(a?-1:1);if(t.small&&!this.small)return 1*(a?-1:1);var n=1;this.small&&t.small&&(n*=-1),a&&(n*=-1);for(var i=0,o=0;this.array.length-1-o>=0&&t.array.length-1-o>=0;o++){var l=this.array[this.array.length-1-o],u=t.array[t.array.length-1-o],h=s([l.megota,l.expans,l.arrow,l.repeat],[u.megota,u.expans,u.arrow,u.repeat]);if(1==h){i=1;break}if(-1==h){i=-1;break}}return i*n+1-1}},{key:"cmp",value:function(r){return this.compare(r)}},{key:"eq",value:function(r){return 0===this.cmp(r)}},{key:"neq",value:function(r){return 0!==this.cmp(r)}},{key:"lt",value:function(r){return-1===this.cmp(r)}},{key:"lte",value:function(r){return this.cmp(r)<=0}},{key:"gt",value:function(r){return 1==this.cmp(r)}},{key:"gte",value:function(r){var e=this.cmp(r);return 0==e||1==e}},{key:"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:"isInfinite",value:function(){return Boolean(!this.small&&!isFinite(this.getOperator(0)))||this.isNaN()}},{key:"isInt",value:function(){return!!this.isZero()||(!(this.small||!Number.isInteger(this.getOperator(0)))||!!this.abs().gte(Math.pow(2,52)))}},{key:"normalize",value:function(){for(var r=!0,t=this,i=0;i<this.array.length;i++)if(this.array[i].repeat==1/0)return this.array=[{arrow:0,expans:1,megota:1,repeat:1/0}],this.layer=0,this;for(var l=1;l<t.array.length;++l){var u=t.array[l];if(null!==u.arrow&&void 0!==u.arrow||(u.arrow=0),null!==u.expans&&void 0!==u.expans||(u.expans=1),null!==u.megota&&void 0!==u.megota||(u.megota=1),isNaN(u.arrow)||isNaN(u.repeat)||isNaN(u.expans)||isNaN(u.megota))return t.array=[o(NaN,0,1,1)],t;if(!isFinite(u.repeat)||!isFinite(u.megota))return t.array=[o(1/0,0,1,1)],t;Number.isInteger(u.arrow)||(u.arrow=Math.floor(u.arrow)),Number.isInteger(u.repeat)||(u.repeat=Math.floor(u.repeat)),Number.isInteger(u.expans)||(u.expans=Math.floor(u.expans)),Number.isInteger(u.megota)||(u.megota=Math.floor(u.megota))}do{for(r=!1,this.array.sort((function(r,e){return s([r.megota,r.expans,r.arrow],[e.megota,e.expans,e.arrow])})),l=1;l<t.array.length;++l)0===t.array[l].arrow||0!==t.array[l].repeat&&null!==t.array[l].repeat&&void 0!==t.array[l].repeat?0==t.array[l].arrow&&t.array[l].expans>=2&&(t.array[l].arrow=1/0,t.array[l].valuereplaced=0,t.array[l].expans=t.array[l].expans-1):(t.array.splice(l,1),--l);for(var h=1;h<this.array.length;h++)0==this.array[h].repeat&&(this.array.splice(h,1),h--);for(t.array.length||(t.small=!t.small,t.array=[o(1/0)]),t.array.length>e.maxOps&&t.array.splice(1,t.array.length-e.maxOps),this.getOperator(1)>=1&&this.getOperator(0)<n&&(console.log(this.array),this.setOperator(this.getOperator(1)-1,1),this.setOperator(Math.pow(10,this.getOperator(0)),0),r=!0),this.getOperator(0)>a&&(this.setOperator(this.getOperator(1)+1,1),this.setOperator(Math.log10(this.getOperator(0)),0),r=!0),1==this.array.length&&this.array[0].repeat<1&&(this.array[0].repeat=1/this.array[0].repeat,this.small=!this.small,r=!0);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,r=!0;for(t.array.length>=2&&t.array[0].repeat<a&&t.array[1].arrow>=2&&1==t.array[1].repeat&&(t.array.splice(1,1,o(t.array[0].repeat,t.array[1].arrow-1,t.array[1].expans,t.array[1].megota)),t.array[0].repeat=10,r=!0),l=1;l<t.array.length-1;++l)t.array[l].arrow==t.array[l+1].arrow&&t.array[l].expans==t.array[l+1].expans&&t.array[l].megota==t.array[l+1].megota&&(t.array[l].repeat+=t.array[l+1].repeat,t.array.splice(l+1,1),--l,r=!0)}while(r);return this}},{key:"getOperatorIndex",value:function(r){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=0;a<this.array.length;a++){var n=s([this.array[a].megota,this.array[a].expans,this.array[a].arrow],[t,e,r]);if(0==n)return a;if(1==n)return a-.5}return this.array.length-.5}},{key:"getOperator",value:function(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=this.getOperatorIndex(r,e,t);return this.array[a]?this.array[a].repeat:0}},{key:"setOperator",value:function(r,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,n=this.getOperatorIndex(e,t,a);return this.array[n]?(this.array[n].repeat=r,!1):(this.array.splice(Math.ceil(n),0,{arrow:e,expans:t,megota:a,valuereplaced:t===1/0?1:e==1/0?0:-1,repeat:r}),!0)}},{key:"clone",value:function(){var r=new e;return r.resetFromObject(this),r}},{key:"resetFromObject",value:function(r){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:"toNumber",value:function(){return-1==this.sign?-this.neg().toNumber():this.small?1/this.rec().toNumber():0==this.getOperator(1)?this.getOperator(0):1==this.getOperator(1)?Math.pow(10,this.getOperator(0)):NaN}},{key:"toString",value:function(){if(this.isNaN())return"NaN";if(-1==this.sign)return"-".concat(this.neg().toString());if(this.small)return this.eq(e.ZERO)?"0":"/".concat(this.rec().toString());if(this.isInfinite())return"Infinity";for(var r="",t=this.array.length-1;t>=0;t--){var a=this.array[t],n="10{".concat(a.arrow===1/0?"!":a.arrow).concat(a.expans>1||a.megota>1?",".concat(a.expans===1/0?"!":a.expans):"").concat(a.megota>1?",".concat(a.megota):"","}");n=1==a.arrow&&1==a.expans&&1==a.megota&&a.repeat<5?"e".repeat(a.repeat):0==a.arrow&&1==a.expans&&1==a.megota?a.repeat.toString():a.repeat>1?"(".concat(n,")^").concat(a.repeat," "):"".concat(n," "),r+="".concat(n)}return r}},{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:"add",value:function(r,t){return new e(r).add(t)}},{key:"sub",value:function(r,t){return new e(r).sub(t)}},{key:"mul",value:function(r,t){return new e(r).mul(t)}},{key:"div",value:function(r,t){return new e(r).div(t)}},{key:"pow",value:function(r,t){return new e(r).pow(t)}},{key:"root",value:function(r,t){return new e(r).root(t)}},{key:"sqrt",value:function(r){return new e(r).sqrt()}},{key:"cbrt",value:function(r){return new e(r).cbrt()}},{key:"log10",value:function(r){return new e(r).log10()}},{key:"log",value:function(r){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Math.E;return new e(r).log(t)}},{key:"exp",value:function(r){return new e(r).pow_base(Math.E)}},{key:"factorial",value:function(r){return new e(r).factorial()}},{key:"gamma",value:function(r){return new e(r).gamma()}},{key:"lambertw",value:function(r){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return new e(r).lambertw(t)}},{key:"fromNumber",value:function(r){var t=new e;r<0?t.sign=-1:0==r?t.sign=0:r>0&&(t.sign=1);var a=Math.abs(r);return a>=11102230246251568e-32&&a<1?(t.small=!0,t.setOperator(1/a,0)):a<11102230246251568e-32?(t.small=!0,t.setOperator(-Math.log10(a),0),t.setOperator(1,1)):t.setOperator(a,0),t.normalize(),t}},{key:"fromString",value:function(r){var t,s,u,h,g,p;if(!i.test(r))throw"[PowiainaNum 0.2 error]malformed input: "+r;var c=new e,f=!1,y=!1;if("-"==r[0]||"+"==r[0]){var m=r.search(/[^-\+]/);f=(null!==(s=null===(t=r.substring(0,m).match(/-/g))||void 0===t?void 0:t.length)&&void 0!==s?s:0)%2==1,r=r.substring(m)}if("/"==r[0]){m=r.search(/[^\/]/);y=(null!==(h=null===(u=r.substring(0,m).match(/\//g))||void 0===u?void 0:u.length)&&void 0!==h?h:0)%2==1,r=r.substring(m)}if("NaN"==r)c.array=[o(NaN)];else if("Infinity"==r)c.array=[o(1/0)];else{var v,w,N,b;for(c.sign=1,c.array=[o(0)];r&&/^(\(?10[\^\{])/.test(r);){var I,d,O;if("("==r[0]&&(r=r.substring(1)),"^"==r[2])I=v=r.substring(2).search(/[^\^]/),w=v+2;else{v=r.indexOf("}");var M=r.substring(3,v).split(",");I=Number("!"==M[0]?1/0:M[0]),d=Number(null!==(g="!"==M[1]?1/0:M[1])&&void 0!==g?g:1),O=Number(null!==(p=M[2])&&void 0!==p?p:1),w=v+1}")"==(r=r.substring(w))[0]?(v=r.indexOf(" "),N=Number(r.substring(2,v)),r=r.substring(v+1)):N=1,1==I&&1==d&&1==O?c.array.length>=2&&1==c.array[1].arrow?c.array[1].repeat+=N:c.array.splice(1,0,o(N,1,d,O)):2==I&&1==d&&1==O?(v=c.array.length>=2&&1==c.array[1].arrow?c.array[1].repeat:0,(w=c.array[0].repeat)>=1e10&&++v,w>=10&&++v,c.array[0].repeat=v,c.array.length>=2&&1==c.array[1].arrow&&c.array.splice(1,1),b=c.getOperatorIndex(2),Number.isInteger(b)?c.array[b].repeat+=N:c.array.splice(Math.ceil(b),0,o(N,2,d,O))):isFinite(I)?(v=c.getOperator(I-1),(w=c.getOperator(I-2))>=10&&++v,b=c.getOperatorIndex(I),c.array.splice(1,Math.ceil(b)-1),c.array[0].repeat=v,Number.isInteger(b)?c.array[1].repeat+=N:c.array.splice(1,0,o(N,I,d,O))):c.array.splice(1,0,o(N,I,d,O))}v=r.split(/[Ee]/),w=[c.array[0].repeat,0],N=1;for(var E=v.length-1;E>=0;--E){w[0]<n&&0===w[1]?w[0]=Math.pow(10,N*w[0]):-1==N?(0===w[1]?w[0]=Math.pow(10,N*w[0]):1==w[1]&&w[0]<=Math.log10(Number.MAX_VALUE)?w[0]=Math.pow(10,N*Math.pow(10,w[0])):w[0]=0,w[1]=0):w[1]++;var k=v[E].indexOf("."),x=-1==k?v[E].length:k;0===w[1]?x>=17?(w[0]=Math.log10(w[0])+l(v[E].substring(0,x)),w[1]=1):v[E]&&(w[0]*=Number(v[E])):(b=x>=17?l(v[E].substring(0,x)):v[E]?Math.log10(Number(v[E])):0,1==w[1]?w[0]+=b:2==w[1]&&w[0]<n+Math.log10(b)&&(w[0]+=Math.log10(1+Math.pow(10,Math.log10(b)-w[0])))),w[0]<n&&w[1]?(w[0]=Math.pow(10,w[0]),w[1]--):w[0]>a&&(w[0]=Math.log10(w[0]),w[1]++)}c.array[0].repeat=w[0],w[1]&&(c.array.length>=2&&1==c.array[1].arrow?c.array[1].repeat+=w[1]:c.array.splice(1,0,o(w[1],1,1,1)))}return f&&(c.sign*=-1),y&&(c.small=!c.small),c.normalize(),c.normalize(),c}},{key:"fromObject",value:function(r){var t=new e;t.array=[];for(var a=0;a<r.array.length;a++)t.array[a]={arrow:r.array[a].arrow,expans:r.array[a].expans,megota:r.array[a].megota,repeat:r.array[a].repeat,valuereplaced:r.array[a].valuereplaced};return t.small=r.small,t.sign=r.sign,t.layer=r.layer,t}}])}();return c.ZERO=new c({array:[{arrow:0,expans:1,megota:1,repeat:1/0}],small:!0,layer:0,sign:0}),c.ONE=new c({array:[{arrow:0,expans:1,megota:1,repeat:1}],small:!1,layer:0,sign:1}),c.MSI=new c(a),c.MSI_REC=((p=new c(a)).small=!0,p),c.E_MSI=new c({array:[{arrow:0,expans:1,megota:1,repeat:a},{arrow:1,expans:1,megota:1,repeat:1}],small:!1,layer:0,sign:1}),c.E_MSI_REC=new c({array:[{arrow:0,expans:1,megota:1,repeat:a},{arrow:1,expans:1,megota:1,repeat:1}],small:!0,layer:0,sign:1}),c.TRITRI=new c({small:!1,layer:0,sign:1,array:[o(3638334640023.7783,0,1,1),o(7625587484984,1,1,1)]}),c.GRAHAMS_NUMBER=new c("(10{!})^63 10^^^(10^)^7625597484984 3638334640023.7783"),c.POSITIVE_INFINITY=new c(1/0),c.NEGATIVE_INFINITY=new c(-1/0),c.NaN=new c({array:[{arrow:0,expans:1,megota:1,repeat:NaN}],small:!1,layer:0,sign:0}),c.maxOps=100,c}));
|
|
1
|
+
!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(r="undefined"!=typeof globalThis?globalThis:r||self).PowiainaNum=e()}(this,(function(){"use strict";function r(r,a){for(var t=0;t<a.length;t++){var n=a[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(r,e(n.key),n)}}function e(r){var e=function(r,e){if("object"!=typeof r||!r)return r;var a=r[Symbol.toPrimitive];if(void 0!==a){var t=a.call(r,e||"default");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(r)}(r,"string");return"symbol"==typeof e?e:e+""}function a(r){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r})(r)}var t=9007199254740991,n=15.954589770191003,i=/^[-\+]*(Infinity|NaN|(10(\^+|\{([1-9]\d*|!)(,([1-9]\d*|!))?(,[1-9]\d*)?\})|\(10(\^+|\{([1-9]\d*|!)(,([1-9]\d*|!))?(,[1-9]\d*)?\})\)\^[1-9]\d* )*((\d+(\.\d*)?|\d*\.\d+)?([Ee][-\+]*))*(0|\d+(\.\d*)?|\d*\.\d+))$/;function o(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return{repeat:r,arrow:e,expans:a,megota:t,valuereplaced:e==1/0?0:a==1/0?1:-1}}function s(){for(var r=arguments.length,e=new Array(r),a=0;a<r;a++)e[a]=arguments[a];for(var t=0;t<Math.min(e[0].length,e[1].length);t++){var n=e[0][t],i=e[1][t];if(n<i)return-1;if(n>i)return 1}return 0}function l(r){return Math.log10(Number(r.substring(0,17)))+(r.length-17)}var u=.5671432904097838;function h(r){var e,a,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e-10,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!Number.isFinite(r))return r;if(n){if(0===r)return r;if(1===r)return u;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 i=0;i<100;++i){if(a=(r*Math.exp(-e)+e*e)/(e+1),Math.abs(a-e)<t*Math.abs(a))return a;e=a}throw Error("Iteration failed to converge: ".concat(r.toString()))}function g(r){var e,a,t,n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e-10,o=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(r.isInfinite())return r;if(o){if(r.eq(p.ZERO))return p.ZERO.clone();if(r.eq(p.ONE))return p.fromNumber(u);e=r.log()}else{if(r.eq(p.ZERO))return p.NEGATIVE_INFINITY.clone();e=r.neg().log()}for(var s=0;s<100;++s){if(a=e.neg().exp(),t=e.sub(r.mul(a)),(n=e.sub(t.div(e.add(1).sub(e.add(2).mul(t).div(e.mul(2).add(2)))))).sub(e).abs().lt(n.abs().mul(i)))return n;e=n}throw Error("Iteration failed to converge: ".concat(r.toString()))}var y,p=function(){function e(r){if(function(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),this.array=[{arrow:0,expans:1,megota:1,repeat:NaN}],this.small=!1,this.sign=0,this.layer=0,void 0===r);else if("number"==typeof r){var t=e.fromNumber(r);this.resetFromObject(t)}else if("object"==a(r)){var n=e.fromObject(r);this.resetFromObject(n)}else if("string"==typeof r){var i=e.fromString(r);this.resetFromObject(i)}}return function(e,a,t){return a&&r(e.prototype,a),t&&r(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}(e,[{key:"add",value:function(r){var a,t,i,s,l,u,h=this.clone(),g=new e(r);if(h.eq(e.POSITIVE_INFINITY)&&g.eq(e.NEGATIVE_INFINITY)||h.eq(e.NEGATIVE_INFINITY)&&g.eq(e.POSITIVE_INFINITY))return e.NaN.clone();if(!h.isFinite())return h.clone();if(!g.isFinite())return g.clone();if(h.isZero())return g.clone();if(g.isZero())return h.clone();if(h.sign==-g.sign&&function(){var r=h.abs(),e=g.abs();return r.eq(e)}())return e.ZERO.clone();if(h.abs().lt(e.E_MSI_REC)||h.abs().gt(e.E_MSI)||g.abs().lt(e.E_MSI_REC)||g.abs().gt(e.E_MSI))return h.maxabs(g);if(-1==h.sign)return h.neg().add(g.neg()).neg();h.cmpabs(g)>0?(l=h,u=g):(u=h,l=g);var y=1;if(!(l.small||u.small||(null===(a=l.array[1])||void 0===a?void 0:a.repeat)||(null===(t=u.array[1])||void 0===t?void 0:t.repeat)||l.sign!=u.sign))return new e((l.array[0].repeat+u.array[0].repeat)*l.sign);var p=(l.small?-1:1)*((null===(i=l.array[1])||void 0===i?void 0:i.repeat)?l.array[0].repeat:Math.log10(l.array[0].repeat)),c=(u.small?-1:1)*((null===(s=u.array[1])||void 0===s?void 0:s.repeat)?u.array[0].repeat:Math.log10(u.array[0].repeat));if(p-c>n)return l;var f,m,v=-Math.floor(p),N=0;if((m=l.sign*Math.pow(10,p+v)+u.sign*Math.pow(10,c+v))>0&&(N=Math.log10(m)-v),m<0&&(N=Math.log10(-m)-v,y*=-1),0==m)throw Error("Encounter a calculate error");return(f=new e).sign=1,f.array=N>n||N<-n?[o(N,0),o(1,1)]:[o(Math.pow(10,N),0)],f.small=N<0,f.sign*=y,f}},{key:"sub",value:function(r){return this.add(new e(r).neg())}},{key:"mul",value:function(r){var a,t=this.clone(),n=new e(r);return t.eq(e.POSITIVE_INFINITY)&&n.eq(e.NEGATIVE_INFINITY)||n.eq(e.POSITIVE_INFINITY)&&t.eq(e.NEGATIVE_INFINITY)?e.NEGATIVE_INFINITY.clone():t.isInfinite()&&n.eq(e.ZERO)&&n.isInfinite()&&t.eq(e.ZERO)?e.NaN.clone():t.eq(e.NEGATIVE_INFINITY)&&n.eq(e.NEGATIVE_INFINITY)?e.POSITIVE_INFINITY.clone():t.isFinite()?n.isFinite()?t.isZero()||n.isZero()?e.ZERO.clone():((a=t.abs().log10().add(n.abs().log10()).pow10()).sign=t.sign*n.sign,a):n.clone():t.clone()}},{key:"div",value:function(r){var a=new e(r).rec();return this.mul(a)}},{key:"pow10",value:function(){var r=this.clone();return this.isFinite()?r.lt(0)?(r.sign*=-1,r.pow10().rec()):r.small?r.lt(e.MSI_REC)?e.ONE:new e(Math.pow(10,Math.pow(r.getOperator(0),-1))):(r.setOperator(r.getOperator(1)+1,1),r.normalize(),r):this.clone()}},{key:"pow",value:function(r){var a,t=new e(r);if(!t.isFinite())return t.clone();if(!this.isFinite())return this.clone();if(this.eq(10))return t.pow10();if(this.lt(0)){if(!t.isInt())return e.NaN.clone();var n=this.abs().pow(t);return n.sign=(a=t.mod(2).round()).eq(0)||a.eq(2)?1:-1,n}return this.log10().mul(t).pow10()}},{key:"pow_base",value:function(r){return new e(r).pow(this)}},{key:"root",value:function(r){var a=new e(r);return this.pow(a.rec())}},{key:"sqrt",value:function(){return this.pow(.5)}},{key:"cbrt",value:function(){return this.root(3)}},{key:"abs",value:function(){var r=this.clone();return r.sign<0&&(r.sign*=-1),r}},{key:"log10",value:function(){if(this.lt(0))return e.NaN.clone();if(this.isZero())return e.NEGATIVE_INFINITY.clone();if(this.small){var r=this.clone();return r.small=!r.small,r.log10().neg()}if(0==this.getOperator(1))return new e(Math.log10(this.getOperator(0)));var a=this.clone();return a.setOperator(a.getOperator(1)-1,1),a.normalize(),a}},{key:"log",value:function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Math.E,a=new e(r);return this.log10().div(a.log10())}},{key:"exp",value:function(){return this.pow_base(Math.E)}},{key:"mod",value:function(r){var a=new e(r),t=this.div(a);return t.sub(t.floor()).mul(a)}},{key:"factorial",value:function(){return this.abs().lt(t)?this.add(1).gamma():this.abs().lt(e.E_MSI)?e.exp(this.mul(this.log10().sub(1))):e.exp(this)}},{key:"gamma",value:function(){if(this.small)return this.rec();if(this.lte(t)){if(this.lt(24))return e.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 a=.9189385332046727;a+=((r-=1)+.5)*Math.log(r),a-=r;var t=r*r,n=r;return a+=1/(12*n),a-=1/(360*(n*=t)),a+=1/(1260*(n*=t)),a-=1/(1680*(n*=t)),a+=1/(1188*(n*=t)),a-=691/(360360*(n*=t)),a+=7/(1092*(n*=t)),a-=3617/(122400*(n*=t)),Math.exp(a)/e}(this.sign*this.getOperator(0)));var r=this.getOperator(0)-1,a=.9189385332046727;a+=(r+.5)*Math.log(r);var n=r*r,i=r,o=12*i,s=1/o,l=(a-=r)+s;if(l===a)return e.exp(a);if((l=(a=l)-(s=1/(o=360*(i*=n))))===a)return e.exp(a);a=l;var u=1/(o=1260*(i*=n));return a+=u,a-=u=1/(o=1680*(i*=n)),e.exp(a)}return this.gt(t)?e.exp(this.mul(this.log().sub(1))):e.exp(this)}},{key:"lambertw",value:function(){var r=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.lt(-.3678794411710499)?e.NaN.clone():r?this.abs().lt("1e-300")?new e(this):this.small?e.fromNumber(h(this.toNumber())):0===this.layer?e.fromNumber(h(this.sign*this.getOperator(0))):this.lt("eee15")?g(this):this.log():1===this.sign?e.NaN.clone():0===this.layer?e.fromNumber(h(this.sign*this.getOperator(0),1e-10,!1)):1==this.layer?g(this,1e-10,!1):this.neg().rec().lambertw().neg()}},{key:"max",value:function(r){var a=new e(r);return this.lt(a)?a.clone():this.clone()}},{key:"min",value:function(r){var a=new e(r);return this.gte(a)?a.clone():this.clone()}},{key:"maxabs",value:function(r){var a=new e(r).abs();return this.abs().lt(a)?a.clone():this.clone()}},{key:"minabs",value:function(r){var a=new e(r).abs();return this.abs().gt(a)?a.clone():this.clone()}},{key:"cmpabs",value:function(r){var a=new e(r).abs();return this.abs().cmp(a)}},{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:"floor",value:function(){if(this.isInt())return this.clone();if(this.small)return 1==this.sign?e.ZERO.clone():e.ONE.neg().clone();var r=this.abs();return r.setOperator(Math[1==this.sign?"floor":"ceil"](r.getOperator(0)),0),r}},{key:"ceil",value:function(){if(this.isInt())return this.clone();if(this.small)return 1==this.sign?e.ONE.clone():e.ZERO.clone();var r=this.abs();return r.setOperator(Math[1==this.sign?"ceil":"floor"](r.getOperator(0)),0),r.sign=this.sign,r}},{key:"round",value:function(){if(this.isInt())return this.clone();if(this.small)return 1==this.sign?this.rec().lte(2)?e.ONE.clone():e.ZERO.clone():this.abs().rec().lte(2)?e.ZERO.clone():e.ONE.neg().clone();var r=this.abs();return r.setOperator(Math.round(r.getOperator(0)),0),r.sign=this.sign,r}},{key:"compare",value:function(r){var a=new e(r);if(this.isNaN()||a.isNaN())return 2;if(this.sign<a.sign)return-1;if(this.sign>a.sign)return 1;var t=-1==this.sign&&-1==a.sign;if(this.small&&!a.small)return-1*(t?-1:1);if(a.small&&!this.small)return 1*(t?-1:1);var n=1;this.small&&a.small&&(n*=-1),t&&(n*=-1);for(var i=0,o=0;this.array.length-1-o>=0&&a.array.length-1-o>=0;o++){var l=this.array[this.array.length-1-o],u=a.array[a.array.length-1-o],h=s([l.megota,l.expans,l.arrow,l.repeat],[u.megota,u.expans,u.arrow,u.repeat]);if(1==h){i=1;break}if(-1==h){i=-1;break}}return i*n+1-1}},{key:"cmp",value:function(r){return this.compare(r)}},{key:"eq",value:function(r){return 0===this.cmp(r)}},{key:"neq",value:function(r){return 0!==this.cmp(r)}},{key:"lt",value:function(r){return-1===this.cmp(r)}},{key:"lte",value:function(r){return this.cmp(r)<=0}},{key:"gt",value:function(r){return 1==this.cmp(r)}},{key:"gte",value:function(r){var e=this.cmp(r);return 0==e||1==e}},{key:"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:"isInfinite",value:function(){return Boolean(!this.small&&!isFinite(this.getOperator(0)))||this.isNaN()}},{key:"isInt",value:function(){return!!this.isZero()||(!(this.small||!Number.isInteger(this.getOperator(0)))||!!this.abs().gte(Math.pow(2,52)))}},{key:"normalize",value:function(){for(var r=!0,a=this,i=0;i<this.array.length;i++)if(this.array[i].repeat==1/0)return this.array=[{arrow:0,expans:1,megota:1,repeat:1/0}],this.layer=0,this;for(var l=1;l<a.array.length;++l){var u=a.array[l];if(null!==u.arrow&&void 0!==u.arrow||(u.arrow=0),null!==u.expans&&void 0!==u.expans||(u.expans=1),null!==u.megota&&void 0!==u.megota||(u.megota=1),isNaN(u.arrow)||isNaN(u.repeat)||isNaN(u.expans)||isNaN(u.megota))return a.array=[o(NaN,0,1,1)],a;if(!isFinite(u.repeat)||!isFinite(u.megota))return a.array=[o(1/0,0,1,1)],a;Number.isInteger(u.arrow)||(u.arrow=Math.floor(u.arrow)),Number.isInteger(u.repeat)||(u.repeat=Math.floor(u.repeat)),Number.isInteger(u.expans)||(u.expans=Math.floor(u.expans)),Number.isInteger(u.megota)||(u.megota=Math.floor(u.megota))}do{for(r=!1,this.array.sort((function(r,e){return s([r.megota,r.expans,r.arrow],[e.megota,e.expans,e.arrow])})),l=1;l<a.array.length;++l)0===a.array[l].arrow||0!==a.array[l].repeat&&null!==a.array[l].repeat&&void 0!==a.array[l].repeat?0==a.array[l].arrow&&a.array[l].expans>=2&&(a.array[l].arrow=1/0,a.array[l].valuereplaced=0,a.array[l].expans=a.array[l].expans-1):(a.array.splice(l,1),--l);for(var h=1;h<this.array.length;h++)0==this.array[h].repeat&&(this.array.splice(h,1),h--);for(a.array.length||(a.small=!a.small,a.array=[o(1/0)]),a.array.length>e.maxOps&&a.array.splice(1,a.array.length-e.maxOps),this.getOperator(1)>=1&&this.getOperator(0)<n&&(console.log(this.array),this.setOperator(this.getOperator(1)-1,1),this.setOperator(Math.pow(10,this.getOperator(0)),0),r=!0),this.getOperator(0)>t&&(this.setOperator(this.getOperator(1)+1,1),this.setOperator(Math.log10(this.getOperator(0)),0),r=!0),1==this.array.length&&this.array[0].repeat<1&&(this.array[0].repeat=1/this.array[0].repeat,this.small=!this.small,r=!0);a.array.length>=2&&1==a.array[0].repeat&&a.array[1].repeat;)a.array[1].repeat>1?a.array[1].repeat--:a.array.splice(1,1),a.array[0].repeat=10,r=!0;for(a.array.length>=2&&a.array[0].repeat<t&&a.array[1].arrow>=2&&1==a.array[1].repeat&&(a.array.splice(1,1,o(a.array[0].repeat,a.array[1].arrow-1,a.array[1].expans,a.array[1].megota)),a.array[0].repeat=10,r=!0),l=1;l<a.array.length-1;++l)a.array[l].arrow==a.array[l+1].arrow&&a.array[l].expans==a.array[l+1].expans&&a.array[l].megota==a.array[l+1].megota&&(a.array[l].repeat+=a.array[l+1].repeat,a.array.splice(l+1,1),--l,r=!0)}while(r);return this}},{key:"getOperatorIndex",value:function(r){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,t=0;t<this.array.length;t++){var n=s([this.array[t].megota,this.array[t].expans,this.array[t].arrow],[a,e,r]);if(0==n)return t;if(1==n)return t-.5}return this.array.length-.5}},{key:"getOperator",value:function(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,t=this.getOperatorIndex(r,e,a);return this.array[t]?this.array[t].repeat:0}},{key:"setOperator",value:function(r,e){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,n=this.getOperatorIndex(e,a,t);return this.array[n]?(this.array[n].repeat=r,!1):(this.array.splice(Math.ceil(n),0,{arrow:e,expans:a,megota:t,valuereplaced:a===1/0?1:e==1/0?0:-1,repeat:r}),!0)}},{key:"clone",value:function(){var r=new e;return r.resetFromObject(this),r}},{key:"resetFromObject",value:function(r){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:"toNumber",value:function(){return-1==this.sign?-this.neg().toNumber():this.small?1/this.rec().toNumber():0==this.getOperator(1)?this.getOperator(0):1==this.getOperator(1)?Math.pow(10,this.getOperator(0)):NaN}},{key:"toString",value:function(){if(this.isNaN())return"NaN";if(-1==this.sign)return"-".concat(this.neg().toString());if(this.small)return this.eq(e.ZERO)?"0":"/".concat(this.rec().toString());if(this.isInfinite())return"Infinity";for(var r="",a=this.array.length-1;a>=0;a--){var t=this.array[a],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:"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:"add",value:function(r,a){return new e(r).add(a)}},{key:"sub",value:function(r,a){return new e(r).sub(a)}},{key:"mul",value:function(r,a){return new e(r).mul(a)}},{key:"div",value:function(r,a){return new e(r).div(a)}},{key:"pow",value:function(r,a){return new e(r).pow(a)}},{key:"root",value:function(r,a){return new e(r).root(a)}},{key:"sqrt",value:function(r){return new e(r).sqrt()}},{key:"cbrt",value:function(r){return new e(r).cbrt()}},{key:"log10",value:function(r){return new e(r).log10()}},{key:"log",value:function(r){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Math.E;return new e(r).log(a)}},{key:"exp",value:function(r){return new e(r).pow_base(Math.E)}},{key:"factorial",value:function(r){return new e(r).factorial()}},{key:"gamma",value:function(r){return new e(r).gamma()}},{key:"lambertw",value:function(r){var a=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return new e(r).lambertw(a)}},{key:"isNaN",value:function(r){return new e(r).isNaN()}},{key:"fromNumber",value:function(r){var a=new e;r<0?a.sign=-1:0==r?a.sign=0:r>0&&(a.sign=1);var n=Math.abs(r);return n>=11102230246251568e-32&&n<1?(a.small=!0,a.array=[o(1/n,0)]):n<11102230246251568e-32?(a.small=!0,a.array=[o(-Math.log10(n),0),o(1,1)]):n<=t?a.array=[o(n,0)]:(a.setOperator(Math.log10(n),0),a.array=[o(Math.log10(n),0),o(1,1)]),a}},{key:"fromString",value:function(r){var a,s,u,h,g,y;if(!i.test(r))throw"[PowiainaNum 0.2 error]malformed input: "+r;var p=new e;if(!isNaN(Number(r))&&isFinite(Number(r)))return p.resetFromObject(e.fromNumber(Number(r))),p;var c=!1,f=!1;if("-"==r[0]||"+"==r[0]){var m=r.search(/[^-\+]/);c=(null!==(s=null===(a=r.substring(0,m).match(/-/g))||void 0===a?void 0:a.length)&&void 0!==s?s:0)%2==1,r=r.substring(m)}if("/"==r[0]){m=r.search(/[^\/]/);f=(null!==(h=null===(u=r.substring(0,m).match(/\//g))||void 0===u?void 0:u.length)&&void 0!==h?h:0)%2==1,r=r.substring(m)}if("NaN"==r)p.array=[o(NaN)];else if("Infinity"==r)p.array=[o(1/0)];else{var v,N,w,b;for(p.sign=1,p.array=[o(0)];r&&/^(\(?10[\^\{])/.test(r);){var d,I,O;if("("==r[0]&&(r=r.substring(1)),"^"==r[2])d=v=r.substring(2).search(/[^\^]/),N=v+2;else{v=r.indexOf("}");var E=r.substring(3,v).split(",");d=Number("!"==E[0]?1/0:E[0]),I=Number(null!==(g="!"==E[1]?1/0:E[1])&&void 0!==g?g:1),O=Number(null!==(y=E[2])&&void 0!==y?y:1),N=v+1}")"==(r=r.substring(N))[0]?(v=r.indexOf(" "),w=Number(r.substring(2,v)),r=r.substring(v+1)):w=1,1==d&&1==I&&1==O?p.array.length>=2&&1==p.array[1].arrow?p.array[1].repeat+=w:p.array.splice(1,0,o(w,1,I,O)):2==d&&1==I&&1==O?(v=p.array.length>=2&&1==p.array[1].arrow?p.array[1].repeat:0,(N=p.array[0].repeat)>=1e10&&++v,N>=10&&++v,p.array[0].repeat=v,p.array.length>=2&&1==p.array[1].arrow&&p.array.splice(1,1),b=p.getOperatorIndex(2),Number.isInteger(b)?p.array[b].repeat+=w:p.array.splice(Math.ceil(b),0,o(w,2,I,O))):isFinite(d)?(v=p.getOperator(d-1),(N=p.getOperator(d-2))>=10&&++v,b=p.getOperatorIndex(d),p.array.splice(1,Math.ceil(b)-1),p.array[0].repeat=v,Number.isInteger(b)?p.array[1].repeat+=w:p.array.splice(1,0,o(w,d,I,O))):p.array.splice(1,0,o(w,d,I,O))}v=r.split(/[Ee]/),N=[p.array[0].repeat,0],w=1;for(var M=v.length-1;M>=0;--M){N[0]<n&&0===N[1]?N[0]=Math.pow(10,w*N[0]):-1==w?(0===N[1]?N[0]=Math.pow(10,w*N[0]):1==N[1]&&N[0]<=Math.log10(Number.MAX_VALUE)?N[0]=Math.pow(10,w*Math.pow(10,N[0])):N[0]=0,N[1]=0):N[1]++;var k=v[M].indexOf("."),x=-1==k?v[M].length:k;0===N[1]?x>=17?(N[0]=Math.log10(N[0])+l(v[M].substring(0,x)),N[1]=1):v[M]&&(N[0]*=Number(v[M])):(b=x>=17?l(v[M].substring(0,x)):v[M]?Math.log10(Number(v[M])):0,1==N[1]?N[0]+=b:2==N[1]&&N[0]<n+Math.log10(b)&&(N[0]+=Math.log10(1+Math.pow(10,Math.log10(b)-N[0])))),N[0]<n&&N[1]?(N[0]=Math.pow(10,N[0]),N[1]--):N[0]>t&&(N[0]=Math.log10(N[0]),N[1]++)}p.array[0].repeat=N[0],N[1]&&(p.array.length>=2&&1==p.array[1].arrow?p.array[1].repeat+=N[1]:p.array.splice(1,0,o(N[1],1,1,1)))}return c&&(p.sign*=-1),f&&(p.small=!p.small),p.normalize(),p.normalize(),p}},{key:"fromObject",value:function(r){var a=new e;a.array=[];for(var t=0;t<r.array.length;t++)a.array[t]={arrow:r.array[t].arrow,expans:r.array[t].expans,megota:r.array[t].megota,repeat:r.array[t].repeat,valuereplaced:r.array[t].valuereplaced};return a.small=r.small,a.sign=r.sign,a.layer=r.layer,a}}])}();return p.ZERO=new p({array:[{arrow:0,expans:1,megota:1,repeat:1/0}],small:!0,layer:0,sign:0}),p.ONE=new p({array:[{arrow:0,expans:1,megota:1,repeat:1}],small:!1,layer:0,sign:1}),p.MSI=new p(t),p.MSI_REC=((y=new p(t)).small=!0,y),p.E_MSI=new p({array:[{arrow:0,expans:1,megota:1,repeat:t},{arrow:1,expans:1,megota:1,repeat:1}],small:!1,layer:0,sign:1}),p.E_MSI_REC=new p({array:[{arrow:0,expans:1,megota:1,repeat:t},{arrow:1,expans:1,megota:1,repeat:1}],small:!0,layer:0,sign:1}),p.TRITRI=new p({small:!1,layer:0,sign:1,array:[o(3638334640023.7783,0,1,1),o(7625587484984,1,1,1)]}),p.GRAHAMS_NUMBER=new p("(10{!})^63 10^^^(10^)^7625597484984 3638334640023.7783"),p.POSITIVE_INFINITY=new p(1/0),p.NEGATIVE_INFINITY=new p(-1/0),p.NaN=new p({array:[{arrow:0,expans:1,megota:1,repeat:NaN}],small:!1,layer:0,sign:0}),p.maxOps=100,p}));
|
package/dist/index.d.ts
CHANGED
|
@@ -97,6 +97,7 @@ export default class PowiainaNum implements IPowiainaNum {
|
|
|
97
97
|
isFinite(): boolean;
|
|
98
98
|
isInfinite(): boolean;
|
|
99
99
|
isInt(): boolean;
|
|
100
|
+
static isNaN(x: PowiainaNumSource): boolean;
|
|
100
101
|
/**
|
|
101
102
|
* Normalize functions will make this number convert into standard format.(it also change `this`, like [].sort)
|
|
102
103
|
* @returns normalized number
|
package/package.json
CHANGED