powiaina_num.js 0.2.19 → 0.2.20
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 +68 -30
- package/dist/PowiainaNum.esm.js +68 -30
- package/dist/PowiainaNum.js +68 -30
- package/dist/PowiainaNum.min.js +1 -1
- package/dist/index.d.ts +14 -0
- package/package.json +1 -1
package/dist/PowiainaNum.cjs.js
CHANGED
|
@@ -1964,58 +1964,45 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
1964
1964
|
}, {
|
|
1965
1965
|
key: "getOperatorIndex",
|
|
1966
1966
|
value:
|
|
1967
|
-
//#endregion
|
|
1968
|
-
//#region operators
|
|
1969
1967
|
/**
|
|
1970
1968
|
* @returns number will return the index of the operator in array. return as x.5 if it's between the xth and x+1th operators.
|
|
1971
1969
|
*/
|
|
1972
1970
|
function getOperatorIndex(arrow) {
|
|
1973
1971
|
var expans = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
1974
1972
|
var megota = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
1975
|
-
|
|
1976
|
-
var cmp = compareTuples([this.array[i].megota, this.array[i].expans, this.array[i].arrow], [megota, expans, arrow]);
|
|
1977
|
-
if (cmp == 0) return i; // I find it was [xx,xxx,*xxx*,xxx]!
|
|
1978
|
-
if (cmp == 1) return i - 0.5; // It's between [xx, xx,xx*,?,*xx]!
|
|
1979
|
-
}
|
|
1980
|
-
return this.array.length - 0.5;
|
|
1973
|
+
return PowiainaNum.opGetOperatorIndex(this.array, arrow, expans, megota);
|
|
1981
1974
|
}
|
|
1982
1975
|
/**
|
|
1983
1976
|
* @returns number repeats of operators with given arguments.
|
|
1984
1977
|
*/
|
|
1985
1978
|
}, {
|
|
1986
1979
|
key: "getOperator",
|
|
1987
|
-
value:
|
|
1980
|
+
value:
|
|
1981
|
+
/**
|
|
1982
|
+
* @returns number repeats of operators with given arguments.
|
|
1983
|
+
*/
|
|
1984
|
+
function getOperator(arrow) {
|
|
1988
1985
|
var expans = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
1989
1986
|
var megota = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
1990
|
-
|
|
1991
|
-
if (!this.array[index]) return 0;
|
|
1992
|
-
return this.array[index].repeat;
|
|
1987
|
+
return PowiainaNum.opGetOperator(this.array, arrow, expans, megota);
|
|
1993
1988
|
}
|
|
1994
1989
|
/**
|
|
1995
|
-
* Modify the repeat of operator
|
|
1990
|
+
* Modify the repeat of operator(argument will modified)
|
|
1996
1991
|
* @param number val the repeat of operator will modify to array.
|
|
1997
1992
|
* @returns bool Is the operators array changed?
|
|
1998
1993
|
*/
|
|
1999
1994
|
}, {
|
|
2000
1995
|
key: "setOperator",
|
|
2001
|
-
value:
|
|
1996
|
+
value:
|
|
1997
|
+
/**
|
|
1998
|
+
* Modify the repeat of operator
|
|
1999
|
+
* @param number val the repeat of operator will modify to array.
|
|
2000
|
+
* @returns bool Is the operators array changed?
|
|
2001
|
+
*/
|
|
2002
|
+
function setOperator(val, arrow) {
|
|
2002
2003
|
var expans = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
2003
2004
|
var megota = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
|
|
2004
|
-
|
|
2005
|
-
var index = this.getOperatorIndex(arrow, expans, megota);
|
|
2006
|
-
if (!this.array[index]) {
|
|
2007
|
-
this.array.splice(Math.ceil(index), 0, {
|
|
2008
|
-
arrow: arrow,
|
|
2009
|
-
expans: expans,
|
|
2010
|
-
megota: megota,
|
|
2011
|
-
valuereplaced: expans === Infinity ? 1 : arrow == Infinity ? 0 : -1,
|
|
2012
|
-
repeat: val
|
|
2013
|
-
});
|
|
2014
|
-
return true;
|
|
2015
|
-
}
|
|
2016
|
-
this.array[index].repeat = val;
|
|
2017
|
-
// this.normalize()
|
|
2018
|
-
return false;
|
|
2005
|
+
return PowiainaNum.opSetOperator(this.array, val, arrow, expans, megota);
|
|
2019
2006
|
}
|
|
2020
2007
|
//#endregion
|
|
2021
2008
|
//#region converters
|
|
@@ -2029,7 +2016,7 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
2029
2016
|
value: function toNumber() {
|
|
2030
2017
|
if (this.sign == -1) return -this.neg().toNumber();
|
|
2031
2018
|
if (this.small) return 1 / this.rec().toNumber();
|
|
2032
|
-
if (this.
|
|
2019
|
+
if (this.gte("e308.25471555991675")) return Infinity;
|
|
2033
2020
|
if (this.array.length == 1) return this.array[0].repeat;else if (this.array.length == 2 && this.array[1].arrow == 1 && this.array[1].expans == 1 && this.array[1].megota == 1 && this.array[1].repeat == 1) return Math.pow(10, this.getOperator(0));
|
|
2034
2021
|
return NaN;
|
|
2035
2022
|
}
|
|
@@ -2958,6 +2945,57 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
2958
2945
|
value: function isNaN(x) {
|
|
2959
2946
|
return new PowiainaNum(x).isNaN();
|
|
2960
2947
|
}
|
|
2948
|
+
//#endregion
|
|
2949
|
+
//#region operators
|
|
2950
|
+
/**
|
|
2951
|
+
* @returns number will return the index of the operator. return as x.5 if it's between the xth and x+1th operators.
|
|
2952
|
+
*/
|
|
2953
|
+
}, {
|
|
2954
|
+
key: "opGetOperatorIndex",
|
|
2955
|
+
value: function opGetOperatorIndex(operators, arrow) {
|
|
2956
|
+
var expans = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
2957
|
+
var megota = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
|
|
2958
|
+
for (var i = 0; i < operators.length; i++) {
|
|
2959
|
+
var cmp = compareTuples([operators[i].megota, operators[i].expans, operators[i].arrow], [megota, expans, arrow]);
|
|
2960
|
+
if (cmp == 0) return i; // I find it was [xx,xxx,*xxx*,xxx]!
|
|
2961
|
+
if (cmp == 1) return i - 0.5; // It's between [xx, xx,xx*,?,*xx]!
|
|
2962
|
+
}
|
|
2963
|
+
return operators.length - 0.5;
|
|
2964
|
+
}
|
|
2965
|
+
}, {
|
|
2966
|
+
key: "opGetOperator",
|
|
2967
|
+
value: function opGetOperator(operators, arrow) {
|
|
2968
|
+
var expans = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
2969
|
+
var megota = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
|
|
2970
|
+
var index = PowiainaNum.opGetOperatorIndex(operators, arrow, expans, megota);
|
|
2971
|
+
if (!operators[index]) return 0;
|
|
2972
|
+
return operators[index].repeat;
|
|
2973
|
+
}
|
|
2974
|
+
}, {
|
|
2975
|
+
key: "opSetOperator",
|
|
2976
|
+
value: function opSetOperator(operators, val, arrow) {
|
|
2977
|
+
var expans = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
|
|
2978
|
+
var megota = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
|
|
2979
|
+
// if (arrow!=0&&val==0) return false;
|
|
2980
|
+
var index = PowiainaNum.opGetOperatorIndex(operators, arrow, expans, megota);
|
|
2981
|
+
if (!operators[index]) {
|
|
2982
|
+
operators.splice(Math.ceil(index), 0, {
|
|
2983
|
+
arrow: arrow,
|
|
2984
|
+
expans: expans,
|
|
2985
|
+
megota: megota,
|
|
2986
|
+
valuereplaced: expans === Infinity ? 1 : arrow == Infinity ? 0 : -1,
|
|
2987
|
+
repeat: val
|
|
2988
|
+
});
|
|
2989
|
+
return true;
|
|
2990
|
+
}
|
|
2991
|
+
operators[index].repeat = val;
|
|
2992
|
+
if (operators[index].repeat == 0) {
|
|
2993
|
+
operators.splice(index, 1);
|
|
2994
|
+
return true;
|
|
2995
|
+
}
|
|
2996
|
+
// this.normalize()
|
|
2997
|
+
return false;
|
|
2998
|
+
}
|
|
2961
2999
|
}, {
|
|
2962
3000
|
key: "fromBigInt",
|
|
2963
3001
|
value: function fromBigInt(input) {
|
package/dist/PowiainaNum.esm.js
CHANGED
|
@@ -1960,58 +1960,45 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
1960
1960
|
}, {
|
|
1961
1961
|
key: "getOperatorIndex",
|
|
1962
1962
|
value:
|
|
1963
|
-
//#endregion
|
|
1964
|
-
//#region operators
|
|
1965
1963
|
/**
|
|
1966
1964
|
* @returns number will return the index of the operator in array. return as x.5 if it's between the xth and x+1th operators.
|
|
1967
1965
|
*/
|
|
1968
1966
|
function getOperatorIndex(arrow) {
|
|
1969
1967
|
var expans = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
1970
1968
|
var megota = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
1971
|
-
|
|
1972
|
-
var cmp = compareTuples([this.array[i].megota, this.array[i].expans, this.array[i].arrow], [megota, expans, arrow]);
|
|
1973
|
-
if (cmp == 0) return i; // I find it was [xx,xxx,*xxx*,xxx]!
|
|
1974
|
-
if (cmp == 1) return i - 0.5; // It's between [xx, xx,xx*,?,*xx]!
|
|
1975
|
-
}
|
|
1976
|
-
return this.array.length - 0.5;
|
|
1969
|
+
return PowiainaNum.opGetOperatorIndex(this.array, arrow, expans, megota);
|
|
1977
1970
|
}
|
|
1978
1971
|
/**
|
|
1979
1972
|
* @returns number repeats of operators with given arguments.
|
|
1980
1973
|
*/
|
|
1981
1974
|
}, {
|
|
1982
1975
|
key: "getOperator",
|
|
1983
|
-
value:
|
|
1976
|
+
value:
|
|
1977
|
+
/**
|
|
1978
|
+
* @returns number repeats of operators with given arguments.
|
|
1979
|
+
*/
|
|
1980
|
+
function getOperator(arrow) {
|
|
1984
1981
|
var expans = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
1985
1982
|
var megota = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
1986
|
-
|
|
1987
|
-
if (!this.array[index]) return 0;
|
|
1988
|
-
return this.array[index].repeat;
|
|
1983
|
+
return PowiainaNum.opGetOperator(this.array, arrow, expans, megota);
|
|
1989
1984
|
}
|
|
1990
1985
|
/**
|
|
1991
|
-
* Modify the repeat of operator
|
|
1986
|
+
* Modify the repeat of operator(argument will modified)
|
|
1992
1987
|
* @param number val the repeat of operator will modify to array.
|
|
1993
1988
|
* @returns bool Is the operators array changed?
|
|
1994
1989
|
*/
|
|
1995
1990
|
}, {
|
|
1996
1991
|
key: "setOperator",
|
|
1997
|
-
value:
|
|
1992
|
+
value:
|
|
1993
|
+
/**
|
|
1994
|
+
* Modify the repeat of operator
|
|
1995
|
+
* @param number val the repeat of operator will modify to array.
|
|
1996
|
+
* @returns bool Is the operators array changed?
|
|
1997
|
+
*/
|
|
1998
|
+
function setOperator(val, arrow) {
|
|
1998
1999
|
var expans = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
1999
2000
|
var megota = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
|
|
2000
|
-
|
|
2001
|
-
var index = this.getOperatorIndex(arrow, expans, megota);
|
|
2002
|
-
if (!this.array[index]) {
|
|
2003
|
-
this.array.splice(Math.ceil(index), 0, {
|
|
2004
|
-
arrow: arrow,
|
|
2005
|
-
expans: expans,
|
|
2006
|
-
megota: megota,
|
|
2007
|
-
valuereplaced: expans === Infinity ? 1 : arrow == Infinity ? 0 : -1,
|
|
2008
|
-
repeat: val
|
|
2009
|
-
});
|
|
2010
|
-
return true;
|
|
2011
|
-
}
|
|
2012
|
-
this.array[index].repeat = val;
|
|
2013
|
-
// this.normalize()
|
|
2014
|
-
return false;
|
|
2001
|
+
return PowiainaNum.opSetOperator(this.array, val, arrow, expans, megota);
|
|
2015
2002
|
}
|
|
2016
2003
|
//#endregion
|
|
2017
2004
|
//#region converters
|
|
@@ -2025,7 +2012,7 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
2025
2012
|
value: function toNumber() {
|
|
2026
2013
|
if (this.sign == -1) return -this.neg().toNumber();
|
|
2027
2014
|
if (this.small) return 1 / this.rec().toNumber();
|
|
2028
|
-
if (this.
|
|
2015
|
+
if (this.gte("e308.25471555991675")) return Infinity;
|
|
2029
2016
|
if (this.array.length == 1) return this.array[0].repeat;else if (this.array.length == 2 && this.array[1].arrow == 1 && this.array[1].expans == 1 && this.array[1].megota == 1 && this.array[1].repeat == 1) return Math.pow(10, this.getOperator(0));
|
|
2030
2017
|
return NaN;
|
|
2031
2018
|
}
|
|
@@ -2954,6 +2941,57 @@ var PowiainaNum = /*#__PURE__*/function () {
|
|
|
2954
2941
|
value: function isNaN(x) {
|
|
2955
2942
|
return new PowiainaNum(x).isNaN();
|
|
2956
2943
|
}
|
|
2944
|
+
//#endregion
|
|
2945
|
+
//#region operators
|
|
2946
|
+
/**
|
|
2947
|
+
* @returns number will return the index of the operator. return as x.5 if it's between the xth and x+1th operators.
|
|
2948
|
+
*/
|
|
2949
|
+
}, {
|
|
2950
|
+
key: "opGetOperatorIndex",
|
|
2951
|
+
value: function opGetOperatorIndex(operators, arrow) {
|
|
2952
|
+
var expans = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
2953
|
+
var megota = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
|
|
2954
|
+
for (var i = 0; i < operators.length; i++) {
|
|
2955
|
+
var cmp = compareTuples([operators[i].megota, operators[i].expans, operators[i].arrow], [megota, expans, arrow]);
|
|
2956
|
+
if (cmp == 0) return i; // I find it was [xx,xxx,*xxx*,xxx]!
|
|
2957
|
+
if (cmp == 1) return i - 0.5; // It's between [xx, xx,xx*,?,*xx]!
|
|
2958
|
+
}
|
|
2959
|
+
return operators.length - 0.5;
|
|
2960
|
+
}
|
|
2961
|
+
}, {
|
|
2962
|
+
key: "opGetOperator",
|
|
2963
|
+
value: function opGetOperator(operators, arrow) {
|
|
2964
|
+
var expans = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
2965
|
+
var megota = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
|
|
2966
|
+
var index = PowiainaNum.opGetOperatorIndex(operators, arrow, expans, megota);
|
|
2967
|
+
if (!operators[index]) return 0;
|
|
2968
|
+
return operators[index].repeat;
|
|
2969
|
+
}
|
|
2970
|
+
}, {
|
|
2971
|
+
key: "opSetOperator",
|
|
2972
|
+
value: function opSetOperator(operators, val, arrow) {
|
|
2973
|
+
var expans = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
|
|
2974
|
+
var megota = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
|
|
2975
|
+
// if (arrow!=0&&val==0) return false;
|
|
2976
|
+
var index = PowiainaNum.opGetOperatorIndex(operators, arrow, expans, megota);
|
|
2977
|
+
if (!operators[index]) {
|
|
2978
|
+
operators.splice(Math.ceil(index), 0, {
|
|
2979
|
+
arrow: arrow,
|
|
2980
|
+
expans: expans,
|
|
2981
|
+
megota: megota,
|
|
2982
|
+
valuereplaced: expans === Infinity ? 1 : arrow == Infinity ? 0 : -1,
|
|
2983
|
+
repeat: val
|
|
2984
|
+
});
|
|
2985
|
+
return true;
|
|
2986
|
+
}
|
|
2987
|
+
operators[index].repeat = val;
|
|
2988
|
+
if (operators[index].repeat == 0) {
|
|
2989
|
+
operators.splice(index, 1);
|
|
2990
|
+
return true;
|
|
2991
|
+
}
|
|
2992
|
+
// this.normalize()
|
|
2993
|
+
return false;
|
|
2994
|
+
}
|
|
2957
2995
|
}, {
|
|
2958
2996
|
key: "fromBigInt",
|
|
2959
2997
|
value: function fromBigInt(input) {
|
package/dist/PowiainaNum.js
CHANGED
|
@@ -1966,58 +1966,45 @@
|
|
|
1966
1966
|
}, {
|
|
1967
1967
|
key: "getOperatorIndex",
|
|
1968
1968
|
value:
|
|
1969
|
-
//#endregion
|
|
1970
|
-
//#region operators
|
|
1971
1969
|
/**
|
|
1972
1970
|
* @returns number will return the index of the operator in array. return as x.5 if it's between the xth and x+1th operators.
|
|
1973
1971
|
*/
|
|
1974
1972
|
function getOperatorIndex(arrow) {
|
|
1975
1973
|
var expans = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
1976
1974
|
var megota = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
1977
|
-
|
|
1978
|
-
var cmp = compareTuples([this.array[i].megota, this.array[i].expans, this.array[i].arrow], [megota, expans, arrow]);
|
|
1979
|
-
if (cmp == 0) return i; // I find it was [xx,xxx,*xxx*,xxx]!
|
|
1980
|
-
if (cmp == 1) return i - 0.5; // It's between [xx, xx,xx*,?,*xx]!
|
|
1981
|
-
}
|
|
1982
|
-
return this.array.length - 0.5;
|
|
1975
|
+
return PowiainaNum.opGetOperatorIndex(this.array, arrow, expans, megota);
|
|
1983
1976
|
}
|
|
1984
1977
|
/**
|
|
1985
1978
|
* @returns number repeats of operators with given arguments.
|
|
1986
1979
|
*/
|
|
1987
1980
|
}, {
|
|
1988
1981
|
key: "getOperator",
|
|
1989
|
-
value:
|
|
1982
|
+
value:
|
|
1983
|
+
/**
|
|
1984
|
+
* @returns number repeats of operators with given arguments.
|
|
1985
|
+
*/
|
|
1986
|
+
function getOperator(arrow) {
|
|
1990
1987
|
var expans = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
1991
1988
|
var megota = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
1992
|
-
|
|
1993
|
-
if (!this.array[index]) return 0;
|
|
1994
|
-
return this.array[index].repeat;
|
|
1989
|
+
return PowiainaNum.opGetOperator(this.array, arrow, expans, megota);
|
|
1995
1990
|
}
|
|
1996
1991
|
/**
|
|
1997
|
-
* Modify the repeat of operator
|
|
1992
|
+
* Modify the repeat of operator(argument will modified)
|
|
1998
1993
|
* @param number val the repeat of operator will modify to array.
|
|
1999
1994
|
* @returns bool Is the operators array changed?
|
|
2000
1995
|
*/
|
|
2001
1996
|
}, {
|
|
2002
1997
|
key: "setOperator",
|
|
2003
|
-
value:
|
|
1998
|
+
value:
|
|
1999
|
+
/**
|
|
2000
|
+
* Modify the repeat of operator
|
|
2001
|
+
* @param number val the repeat of operator will modify to array.
|
|
2002
|
+
* @returns bool Is the operators array changed?
|
|
2003
|
+
*/
|
|
2004
|
+
function setOperator(val, arrow) {
|
|
2004
2005
|
var expans = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
2005
2006
|
var megota = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
|
|
2006
|
-
|
|
2007
|
-
var index = this.getOperatorIndex(arrow, expans, megota);
|
|
2008
|
-
if (!this.array[index]) {
|
|
2009
|
-
this.array.splice(Math.ceil(index), 0, {
|
|
2010
|
-
arrow: arrow,
|
|
2011
|
-
expans: expans,
|
|
2012
|
-
megota: megota,
|
|
2013
|
-
valuereplaced: expans === Infinity ? 1 : arrow == Infinity ? 0 : -1,
|
|
2014
|
-
repeat: val
|
|
2015
|
-
});
|
|
2016
|
-
return true;
|
|
2017
|
-
}
|
|
2018
|
-
this.array[index].repeat = val;
|
|
2019
|
-
// this.normalize()
|
|
2020
|
-
return false;
|
|
2007
|
+
return PowiainaNum.opSetOperator(this.array, val, arrow, expans, megota);
|
|
2021
2008
|
}
|
|
2022
2009
|
//#endregion
|
|
2023
2010
|
//#region converters
|
|
@@ -2031,7 +2018,7 @@
|
|
|
2031
2018
|
value: function toNumber() {
|
|
2032
2019
|
if (this.sign == -1) return -this.neg().toNumber();
|
|
2033
2020
|
if (this.small) return 1 / this.rec().toNumber();
|
|
2034
|
-
if (this.
|
|
2021
|
+
if (this.gte("e308.25471555991675")) return Infinity;
|
|
2035
2022
|
if (this.array.length == 1) return this.array[0].repeat;else if (this.array.length == 2 && this.array[1].arrow == 1 && this.array[1].expans == 1 && this.array[1].megota == 1 && this.array[1].repeat == 1) return Math.pow(10, this.getOperator(0));
|
|
2036
2023
|
return NaN;
|
|
2037
2024
|
}
|
|
@@ -2960,6 +2947,57 @@
|
|
|
2960
2947
|
value: function isNaN(x) {
|
|
2961
2948
|
return new PowiainaNum(x).isNaN();
|
|
2962
2949
|
}
|
|
2950
|
+
//#endregion
|
|
2951
|
+
//#region operators
|
|
2952
|
+
/**
|
|
2953
|
+
* @returns number will return the index of the operator. return as x.5 if it's between the xth and x+1th operators.
|
|
2954
|
+
*/
|
|
2955
|
+
}, {
|
|
2956
|
+
key: "opGetOperatorIndex",
|
|
2957
|
+
value: function opGetOperatorIndex(operators, arrow) {
|
|
2958
|
+
var expans = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
2959
|
+
var megota = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
|
|
2960
|
+
for (var i = 0; i < operators.length; i++) {
|
|
2961
|
+
var cmp = compareTuples([operators[i].megota, operators[i].expans, operators[i].arrow], [megota, expans, arrow]);
|
|
2962
|
+
if (cmp == 0) return i; // I find it was [xx,xxx,*xxx*,xxx]!
|
|
2963
|
+
if (cmp == 1) return i - 0.5; // It's between [xx, xx,xx*,?,*xx]!
|
|
2964
|
+
}
|
|
2965
|
+
return operators.length - 0.5;
|
|
2966
|
+
}
|
|
2967
|
+
}, {
|
|
2968
|
+
key: "opGetOperator",
|
|
2969
|
+
value: function opGetOperator(operators, arrow) {
|
|
2970
|
+
var expans = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
2971
|
+
var megota = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
|
|
2972
|
+
var index = PowiainaNum.opGetOperatorIndex(operators, arrow, expans, megota);
|
|
2973
|
+
if (!operators[index]) return 0;
|
|
2974
|
+
return operators[index].repeat;
|
|
2975
|
+
}
|
|
2976
|
+
}, {
|
|
2977
|
+
key: "opSetOperator",
|
|
2978
|
+
value: function opSetOperator(operators, val, arrow) {
|
|
2979
|
+
var expans = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
|
|
2980
|
+
var megota = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
|
|
2981
|
+
// if (arrow!=0&&val==0) return false;
|
|
2982
|
+
var index = PowiainaNum.opGetOperatorIndex(operators, arrow, expans, megota);
|
|
2983
|
+
if (!operators[index]) {
|
|
2984
|
+
operators.splice(Math.ceil(index), 0, {
|
|
2985
|
+
arrow: arrow,
|
|
2986
|
+
expans: expans,
|
|
2987
|
+
megota: megota,
|
|
2988
|
+
valuereplaced: expans === Infinity ? 1 : arrow == Infinity ? 0 : -1,
|
|
2989
|
+
repeat: val
|
|
2990
|
+
});
|
|
2991
|
+
return true;
|
|
2992
|
+
}
|
|
2993
|
+
operators[index].repeat = val;
|
|
2994
|
+
if (operators[index].repeat == 0) {
|
|
2995
|
+
operators.splice(index, 1);
|
|
2996
|
+
return true;
|
|
2997
|
+
}
|
|
2998
|
+
// this.normalize()
|
|
2999
|
+
return false;
|
|
3000
|
+
}
|
|
2963
3001
|
}, {
|
|
2964
3002
|
key: "fromBigInt",
|
|
2965
3003
|
value: function fromBigInt(input) {
|
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,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,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],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(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?(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>c)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>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,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.lt(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 c=i.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 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 c=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 c=o.toNumber(),f=Math.floor(c),h=n.sub(r.ONE);e=t.arrow(h)(c-f,u,i+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,i+1),--f);return 100==g&&(f=0),e.setOperator(e.getOperator(a-1)+f,a-1),e.normalize(),e}();return i<r.maxOps+10&&r.arrowFuncMap.set("".concat(t.toString()," ").concat(n.toString()," ").concat(o.toString()," ").concat(i),c.clone()),c}: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 c=o.toNumber(),f=Math.floor(c),h=a.sub(r.ONE);t=n.expansionArrow(h)(c-f,i+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,i+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 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<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],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,c=new r(e),f=new r(t);function h(e){var t;return new r(null!==(t=[a,i,o,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),i=a[0],o=a[1],u=a[2];return"10{".concat(d(i),",").concat(d(o),",").concat(u,"}").concat(s)}var O=c.clone(),I=new r(h(0)),k=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=r.beafFuncMap.get("".concat(O.toString()," ").concat(g.toString()," ").concat(y.toString()," ").concat(p.toString()," ").concat(m.toString()," ").concat(e.toString()," ").concat(t));if(n)return n.clone();var a,i=new r(e);if(O.isNaN()||i.isNaN())return r.NaN.clone();if(i.lt(r.ZERO))return r.NaN.clone();if(O.eq(r.ZERO)){if(i.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(i.eq(r.ZERO))return r.ONE.clone();if(i.eq(r.ONE))return O.clone();if(I.eq(0))return r.BEAF_core(O,O,f,y.sub(1),p,u,t+1);if(y.eq(0))return r.BEAF_core(O,O,O,f,p.sub(1),u,t+1);if(p.eq(0))return r.BEAF_core(O,O,O,O,y,new r(u).sub(1),t+1);if(p.gt(s))throw new Error("Not implemeneted");if(y.gt(s))return(a=new r(y)).setOperator(a.getOperator(1,1/0,p.toNumber())+1,1,1/0,p.toNumber()),a;if(I.gt(r.MSI))return(a=I.clone()).setOperator(a.getOperator(1/0,y.toNumber(),p.toNumber())+1,1/0,y.toNumber(),p.toNumber()),a;var o=I.toNumber();if(i.eq(2))return r.BEAF_core(O,O,o-1,y,p,u,t+1);if(O.max(i).gt(E(o+1,y.toNumber(),p.toNumber())))return O.max(i);if(O.gt(E(o+1,y.toNumber(),p.toNumber()))||i.gt(s)){O.gt(E(o,y.toNumber(),p.toNumber()))?((a=O.clone()).setOperator(a.getOperator(o,y.toNumber(),p.toNumber())-1,o,y.toNumber(),p.toNumber()),a.normalize()):a=O.gt(E(o-1,y.toNumber(),p.toNumber()))?new r(O.getOperator(o-1,y.toNumber(),p.toNumber())):r.ZERO;var l=a.add(i);return l.setOperator(l.getOperator(o,y.toNumber(),p.toNumber())+1,o,y.toNumber(),p.toNumber()),l.normalize(),l}if(t>=r.maxOps+10)return new r({small:!1,sign:1,layer:0,array:[N(10,0),N(1,o,y.toNumber(),p.toNumber())]});var c=i.toNumber(),h=Math.floor(c),v=I.sub(r.ONE);a=r.BEAF_core(O,c-h,v,y,p,m,t+1);for(var w=0,b=E(o-1,y.toNumber(),p.toNumber());0!==h&&a.lt(b)&&w<100;w++)h>0&&(a=r.BEAF_core(O,a,v,y,p,m,t+1),--h);return 100==w&&(h=0),a.setOperator(a.getOperator(o-1,y.toNumber(),p.toNumber())+h,o-1,y.toNumber(),p.toNumber()),a.normalize(),a}(f,l);return l<r.maxOps+10&&r.beafFuncMap.set("".concat(O.toString()," ").concat(g.toString()," ").concat(y.toString()," ").concat(p.toString()," ").concat(m.toString()," ").concat(f.toString()," ").concat(l),k.clone()),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>=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".repeat(n-1)+t[2]}}return this.fromString_core(e)}},{key:"fromString_core",value:function(e){var t,n,a,i,o,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 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)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 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?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 V=_.length-1;V>=0;--V){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=_[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]<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 M&&(f.sign*=-1),x&&(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){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 c=1;c<l.length;c++){var f=l[c];t.array[1]=N(f[1],E(f[0]),E(f[2]),f[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.beafFuncMap=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})}));
|
|
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 p(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 N(){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 v(r){return Math.log10(Number(r.substring(0,17)))+(r.length-17)}var m=.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 m;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 O(r){return"x"===r?1/0:r}function E(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(m);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 o=e.neg().exp(),i=e.sub(r.mul(o)),u=e.add(F.ONE).sub(e.add(2).mul(i).div(F.mul(2,e).add(2)));if(u.eq(F.ZERO))return e;var l=e.sub(i.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 N([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),o=new F(t),i=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(o).omegalog(n.toNumber()));if(o.gt(n)){var u=S(n,a.add(1),o).sub(2),l=S(n,a,n),s=n.clone();return _(n,a,u.pow_base(s.div(l)).mul(l))}return i}function _(r,e,t){var n=new F(r),a=new F(e),o=new F(t);if(a.isInt())return F.arrow(n,a,o);if(o.gt(n)){var i=S(n,a,o),u=S(n,a,n),l=n.clone(),s=i.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,o))}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"==i(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 o=r.fromBigInt(e);this.resetFromObject(o)}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 N=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 v=(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)),m=(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(v-m>c)return i;var w=-Math.floor(v),b=0,d=i.sign*Math.pow(10,v+w)+u.sign*Math.pow(10,m+w);if(d>0&&(b=Math.log10(d)-w),d<0&&(b=Math.log10(-d)-w,N*=-1),0==d)return r.ZERO.clone();var O=r.NaN.clone();return O.sign=1,O.array=b>c||b<-c?[p(b,0),p(1,1)]:[p(Math.pow(10,Math.abs(b)),0)],O.small=b<0,O.sign*=N,O}},{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.lt(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")?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(),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,p=0,N=r.E_MSI.clone();0!==f&&g.lt(N)&&p<100;++p)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==p||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:"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 o=new r(n.array[n.arr01.length-1][0]);return o}if(t.lt(r.pentate(e,2)))return new r(t).anyarrow_log(3)(e);for(var i=8,u=0;i>=Math.pow(10,-10);)r.arrFrac(a,u+i).lte(n)&&(u+=i),i/=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,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:[p(10,0),p(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}: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,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:[p(10,0),p(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=N([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(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return r.opGetOperatorIndex(this.array,e,t,n)}},{key:"getOperator",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]:1;return r.opGetOperator(this.array,e,t,n)}},{key:"setOperator",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return r.opSetOperator(this.array,e,t,n,a)}},{key:"toNumber",value:function(){return-1==this.sign?-this.neg().toNumber():this.small?1/this.rec().toNumber():this.gte("e308.25471555991675")?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=[p(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=[p(NaN,0,1,1)],t;if(!isFinite(o.repeat)||!isFinite(o.megota))return t.array=[p(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=[p(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=[p(this.array[this.array.length-1].megota)],e=!0):this.layer&&1==this.array.length&&0===this.array[0].arrow&&(this.layer--,this.array=[p(10),p(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(p(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]=p(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,p(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){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,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),N=h(2),v=h(3);if(v.eq(2)){if(1!=g)return r.POSITIVE_INFINITY.clone();if(y.neq(1))return r.POSITIVE_INFINITY.clone();if(N.neq(1))return r.POSITIVE_INFINITY.clone();if(f.gte(s))return r.POSITIVE_INFINITY.clone();var m=new r(10);return m.layer=f.toNumber(),m.normalize(),m}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(N.gt(s)){var b=new r(N);return b.layer++,b.normalize(),b}function d(r){return isFinite(r)?r.toString():"!"}function O(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 E=c.clone(),I=new r(h(0)),k=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=r.beafFuncMap.get("".concat(E.toString()," ").concat(g.toString()," ").concat(y.toString()," ").concat(N.toString()," ").concat(v.toString()," ").concat(e.toString()," ").concat(t));if(n)return n.clone();var a,o=new r(e);if(E.isNaN()||o.isNaN())return r.NaN.clone();if(o.lt(r.ZERO))return r.NaN.clone();if(E.eq(r.ZERO)){if(o.eq(r.ONE))return r.ZERO.clone();if(r.throwErrorOnResultNaN)throw new Error("NaN");return r.NaN.clone()}if(E.eq(r.ONE))return r.ONE.clone();if(o.eq(r.ZERO))return r.ONE.clone();if(o.eq(r.ONE))return E.clone();if(I.eq(0))return r.BEAF_core(E,E,f,y.sub(1),N,u,t+1);if(y.eq(0))return r.BEAF_core(E,E,E,f,N.sub(1),u,t+1);if(N.eq(0))return r.BEAF_core(E,E,E,E,y,new r(u).sub(1),t+1);if(N.gt(s))throw new Error("Not implemeneted");if(y.gt(s))return(a=new r(y)).setOperator(a.getOperator(1,1/0,N.toNumber())+1,1,1/0,N.toNumber()),a;if(I.gt(r.MSI))return(a=I.clone()).setOperator(a.getOperator(1/0,y.toNumber(),N.toNumber())+1,1/0,y.toNumber(),N.toNumber()),a;var i=I.toNumber();if(o.eq(2))return r.BEAF_core(E,E,i-1,y,N,u,t+1);if(E.max(o).gt(O(i+1,y.toNumber(),N.toNumber())))return E.max(o);if(E.gt(O(i+1,y.toNumber(),N.toNumber()))||o.gt(s)){E.gt(O(i,y.toNumber(),N.toNumber()))?((a=E.clone()).setOperator(a.getOperator(i,y.toNumber(),N.toNumber())-1,i,y.toNumber(),N.toNumber()),a.normalize()):a=E.gt(O(i-1,y.toNumber(),N.toNumber()))?new r(E.getOperator(i-1,y.toNumber(),N.toNumber())):r.ZERO;var l=a.add(o);return l.setOperator(l.getOperator(i,y.toNumber(),N.toNumber())+1,i,y.toNumber(),N.toNumber()),l.normalize(),l}if(t>=r.maxOps+10)return new r({small:!1,sign:1,layer:0,array:[p(10,0),p(1,i,y.toNumber(),N.toNumber())]});var c=o.toNumber(),h=Math.floor(c),m=I.sub(r.ONE);a=r.BEAF_core(E,c-h,m,y,N,v,t+1);for(var w=0,b=O(i-1,y.toNumber(),N.toNumber());0!==h&&a.lt(b)&&w<100;w++)h>0&&(a=r.BEAF_core(E,a,m,y,N,v,t+1),--h);return 100==w&&(h=0),a.setOperator(a.getOperator(i-1,y.toNumber(),N.toNumber())+h,i-1,y.toNumber(),N.toNumber()),a.normalize(),a}(f,l);return l<r.maxOps+10&&r.beafFuncMap.set("".concat(E.toString()," ").concat(g.toString()," ").concat(y.toString()," ").concat(N.toString()," ").concat(v.toString()," ").concat(f.toString()," ").concat(l),k.clone()),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:"opGetOperatorIndex",value:function(r,e){for(var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,a=0;a<r.length;a++){var o=N([r[a].megota,r[a].expans,r[a].arrow],[n,t,e]);if(0==o)return a;if(1==o)return a-.5}return r.length-.5}},{key:"opGetOperator",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=r.opGetOperatorIndex(e,t,n,a);return e[o]?e[o].repeat:0}},{key:"opSetOperator",value:function(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,i=r.opGetOperatorIndex(e,n,a,o);return e[i]?(e[i].repeat=t,0==e[i].repeat&&(e.splice(i,1),!0)):(e.splice(Math.ceil(i),0,{arrow:n,expans:a,megota:o,valuereplaced:a===1/0?1:n==1/0?0:-1,repeat:t}),!0)}},{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?[p(Number(n))]:[p(R(n)),p(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=[p(1/0,0)],t;e>0&&(t.sign=1)}var n=Math.abs(e);return n==1/0?t.array=[p(1/0,0)]:n>=f&&n<1?(t.small=!0,t.array=[p(1/n,0)]):n<f?(t.small=!0,t.array=[p(-Math.log10(n),0),p(1,1)]):n<=s?t.array=[p(n,0)]:(t.setOperator(Math.log10(n),0),t.array=[p(Math.log10(n),0),p(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,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 N=e.search(/e/),m=e.substring((-1==N?e.length:N)+1),w=e.substring(0,-1==N?void 0:N),b=[0,0];if(b[1]=Number(m||"0"),Number(w)>=1){var d=w.length>=17?v(w):Math.log10(Number(w)),O=Math.floor(d),E=d-O;b[0]=Math.pow(10,E),b[1]+=O}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 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!==(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=[p(NaN)];else if("Infinity"==e)f.array=[p(1/0)];else{var _,R,T,F;for(f.sign=1,f.array=[p(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 B=e.substring(3,_).split(",");A=Number("!"==B[0]?1/0:B[0]),Z=Number(null!==(i="!"==B[1]?1/0:B[1])&&void 0!==i?i: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?f.array.length>=2&&1==f.array[1].arrow?f.array[1].repeat+=T:f.array.splice(1,0,p(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,p(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,p(T,A,Z,P))):f.array.splice(1,0,p(T,A,Z,P))}_=e.split(/[Ee]/),R=[f.array[0].repeat,0],T=1;for(var V=_.length-1;V>=0;--V){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 G=_[V].indexOf("."),z=-1==G?_[V].length:G;0===R[1]?z>=17?(R[0]=Math.log10(R[0])+v(_[V].substring(0,z)),R[1]=1):_[V]&&(R[0]*=Number(_[V])):(F=z>=17?v(_[V].substring(0,z)):_[V]?Math.log10(Number(_[V])):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,p(R[1],1,1,1)))}return M&&(f.sign*=-1),x&&(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){return null!==r&&"object"===i(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,o=a.mag<0,u=new r(1);return a.layer>=s?u.array=[p(Math.log10(a.layer)),p(1,1),p(1,2)]:a.layer>=1?u.array=[p(Math.abs(a.mag)),p(a.layer,1)]:u.array=[p(a.mag)],u.small=o,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(!E(t))return!1;if(!I(t)&&!k(t)&&!M(t))return!1}return!0}(e)){var l=e;t.array[0]=p(l[0]);for(var c=1;c<l.length;c++){var f=l[c];t.array[1]=p(f[1],O(f[0]),O(f[2]),f[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:[p(3638334640023.7783,0,1,1),p(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.beafFuncMap=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
|
@@ -347,14 +347,28 @@ export default class PowiainaNum implements IPowiainaNum {
|
|
|
347
347
|
ispos(): boolean;
|
|
348
348
|
isneg(): boolean;
|
|
349
349
|
static isNaN(x: PowiainaNumSource): boolean;
|
|
350
|
+
/**
|
|
351
|
+
* @returns number will return the index of the operator. return as x.5 if it's between the xth and x+1th operators.
|
|
352
|
+
*/
|
|
353
|
+
static opGetOperatorIndex(operators: Operator[], arrow: number, expans?: number, megota?: number): number;
|
|
350
354
|
/**
|
|
351
355
|
* @returns number will return the index of the operator in array. return as x.5 if it's between the xth and x+1th operators.
|
|
352
356
|
*/
|
|
353
357
|
getOperatorIndex(arrow: number, expans?: number, megota?: number): number;
|
|
358
|
+
/**
|
|
359
|
+
* @returns number repeats of operators with given arguments.
|
|
360
|
+
*/
|
|
361
|
+
static opGetOperator(operators: Operator[], arrow: number, expans?: number, megota?: number): number;
|
|
354
362
|
/**
|
|
355
363
|
* @returns number repeats of operators with given arguments.
|
|
356
364
|
*/
|
|
357
365
|
getOperator(arrow: number, expans?: number, megota?: number): number;
|
|
366
|
+
/**
|
|
367
|
+
* Modify the repeat of operator(argument will modified)
|
|
368
|
+
* @param number val the repeat of operator will modify to array.
|
|
369
|
+
* @returns bool Is the operators array changed?
|
|
370
|
+
*/
|
|
371
|
+
static opSetOperator(operators: Operator[], val: number, arrow: number, expans?: number, megota?: number): boolean;
|
|
358
372
|
/**
|
|
359
373
|
* Modify the repeat of operator
|
|
360
374
|
* @param number val the repeat of operator will modify to array.
|
package/package.json
CHANGED