powiaina_num.js 0.1.10 → 0.1.11
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/PowiainaNum.esm.js +2 -2
- package/PowiainaNum.js +9 -5
- package/package.json +1 -1
- package/t.d.ts +240 -0
package/PowiainaNum.esm.js
CHANGED
|
@@ -247,7 +247,7 @@
|
|
|
247
247
|
if (PowiainaNum.debug >= PowiainaNum.NORMAL) console.log(this + "^-1");
|
|
248
248
|
if (this.isNaN() || this.eq(PowiainaNum.ZERO)) return PowiainaNum.NaN.clone();
|
|
249
249
|
if (this.abs().gt("2e323")) return PowiainaNum.ZERO.clone();
|
|
250
|
-
return
|
|
250
|
+
return PowiainaNum.div(1, this);
|
|
251
251
|
};
|
|
252
252
|
Q.reciprocate = Q.rec = function (x) {
|
|
253
253
|
return new PowiainaNum(x).rec();
|
|
@@ -2002,4 +2002,4 @@
|
|
|
2002
2002
|
return PowiainaNum;
|
|
2003
2003
|
//#endregion
|
|
2004
2004
|
|
|
2005
|
-
})(this);
|
|
2005
|
+
})(this);
|
package/PowiainaNum.js
CHANGED
|
@@ -123,25 +123,29 @@
|
|
|
123
123
|
if (x.sign == -1) return x.neg().add(other.neg()).neg();
|
|
124
124
|
if (other.sign == -1) return x.sub(other.neg());
|
|
125
125
|
|
|
126
|
-
if (x.eq(PowiainaNum.ZERO)) return other; // 0+x
|
|
127
|
-
if (other.eq(PowiainaNum.ZERO)) return x;
|
|
126
|
+
if (x.eq(PowiainaNum.ZERO)) return other; // 0+x=x
|
|
127
|
+
if (other.eq(PowiainaNum.ZERO)) return x; // x+0=x
|
|
128
128
|
if (x.isNaN() || other.isNaN() || x.isInfinite() && other.isInfinite() && x.eq(other.neg())) return PowiainaNum.NaN.clone();
|
|
129
129
|
if (x.isInfinite()) return x;
|
|
130
130
|
if (other.isInfinite()) return other;
|
|
131
131
|
|
|
132
132
|
var p = x.min(other); // who is smallest
|
|
133
133
|
var q = x.max(other); // who is biggest
|
|
134
|
-
var op0 = q.operatorE(0);
|
|
134
|
+
var op0 = q.operatorE(0);
|
|
135
135
|
var op1 = q.operatorE(1);
|
|
136
136
|
|
|
137
137
|
var t;
|
|
138
138
|
|
|
139
139
|
if (q.gt(PowiainaNum.E_MAX_SAFE_INTEGER) || q.div(p).gt(PowiainaNum.MAX_SAFE_INTEGER)) {
|
|
140
|
-
t = q;
|
|
140
|
+
t = q; // q>e9e15, plus calculating is 'meaningless', q/p>9e15, q+p = q because floating loss,
|
|
141
141
|
} else if (!op1) {
|
|
142
|
+
// thereis not 10^ signs, add directly
|
|
142
143
|
t = new PowiainaNum(x.toNumber() + other.toNumber());
|
|
143
144
|
} else if (op1 == 1) {
|
|
144
|
-
var a = p.operator(1) ? p.operator(0) : Math.log10(p.operator(0));
|
|
145
|
+
var a = p.operator(1) ? p.operator(0) : Math.log10(p.operator(0)); // a is a variable: if has 10^ operator, use x from 10^x, else use log10(x)
|
|
146
|
+
// a is p's log10
|
|
147
|
+
|
|
148
|
+
// It calculates the final results of log10
|
|
145
149
|
t = new PowiainaNum(a + Math.log10(Math.pow(10, op0 - a) + 1));
|
|
146
150
|
t = PowiainaNum.pow(10, t);
|
|
147
151
|
}
|
package/package.json
CHANGED
package/t.d.ts
ADDED
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
declare module 'powiaina_num.js' {
|
|
2
|
+
export type PowiainaNumSource = PowiainaNum | number | string
|
|
3
|
+
export default class PowiainaNum {
|
|
4
|
+
constructor(value?: PowiainaNumSource)
|
|
5
|
+
|
|
6
|
+
static readonly ZERO: PowiainaNum
|
|
7
|
+
static readonly ONE: PowiainaNum
|
|
8
|
+
static readonly NaN: PowiainaNum
|
|
9
|
+
static readonly E: PowiainaNum
|
|
10
|
+
static readonly LN2: PowiainaNum
|
|
11
|
+
static readonly LN10: PowiainaNum
|
|
12
|
+
static readonly LOG2E: PowiainaNum
|
|
13
|
+
static readonly LOG10E: PowiainaNum
|
|
14
|
+
static readonly PI: PowiainaNum
|
|
15
|
+
static readonly SQRT1_2: PowiainaNum
|
|
16
|
+
static readonly SQRT2: PowiainaNum
|
|
17
|
+
static readonly MAX_SAFE_INTEGER: PowiainaNum
|
|
18
|
+
static readonly MIN_SAFE_INTEGER: PowiainaNum
|
|
19
|
+
static readonly NEGATIVE_INFINITY: PowiainaNum
|
|
20
|
+
static readonly POSITIVE_INFINITY: PowiainaNum
|
|
21
|
+
static readonly E_MAX_SAFE_INTEGER: PowiainaNum
|
|
22
|
+
static readonly EE_MAX_SAFE_INTEGER: PowiainaNum
|
|
23
|
+
static readonly TETRATED_MAX_SAFE_INTEGER: PowiainaNum
|
|
24
|
+
static readonly PENTATED_MAX_SAFE_INTEGER: PowiainaNum
|
|
25
|
+
static readonly GRAHAMS_NUMBER: PowiainaNum
|
|
26
|
+
static readonly THROOTRIADEKOL: PowiainaNum
|
|
27
|
+
|
|
28
|
+
abs(): PowiainaNum
|
|
29
|
+
static abs(x: PowiainaNumSource): PowiainaNum
|
|
30
|
+
plus(other: PowiainaNumSource): PowiainaNum
|
|
31
|
+
static plus(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
32
|
+
add(other: PowiainaNumSource): PowiainaNum
|
|
33
|
+
static add(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
34
|
+
minus(other: PowiainaNumSource): PowiainaNum
|
|
35
|
+
static minus(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
36
|
+
sub(other: PowiainaNumSource): PowiainaNum
|
|
37
|
+
static sub(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
38
|
+
times(other: PowiainaNumSource): PowiainaNum
|
|
39
|
+
static times(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
40
|
+
mul(other: PowiainaNumSource): PowiainaNum
|
|
41
|
+
static mul(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
42
|
+
divide(other: PowiainaNumSource): PowiainaNum
|
|
43
|
+
static divide(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
44
|
+
div(other: PowiainaNumSource): PowiainaNum
|
|
45
|
+
static div(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
46
|
+
reciprocate(): PowiainaNum
|
|
47
|
+
static reciprocate(x: PowiainaNumSource): PowiainaNum
|
|
48
|
+
rec(): PowiainaNum
|
|
49
|
+
static rec(x: PowiainaNumSource): PowiainaNum
|
|
50
|
+
|
|
51
|
+
toPower(other: PowiainaNumSource): PowiainaNum
|
|
52
|
+
static toPower(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
53
|
+
pow(other: PowiainaNumSource): PowiainaNum
|
|
54
|
+
static pow(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
55
|
+
|
|
56
|
+
exponential(): PowiainaNum
|
|
57
|
+
static exponential(x: PowiainaNumSource): PowiainaNum
|
|
58
|
+
exp(): PowiainaNum
|
|
59
|
+
static exp(x: PowiainaNumSource): PowiainaNum
|
|
60
|
+
|
|
61
|
+
squareRoot(): PowiainaNum
|
|
62
|
+
static squareRoot(x: PowiainaNumSource): PowiainaNum
|
|
63
|
+
sqrt(): PowiainaNum
|
|
64
|
+
static sqrt(x: PowiainaNumSource): PowiainaNum
|
|
65
|
+
cubeRoot(): PowiainaNum
|
|
66
|
+
static cubeRoot(x: PowiainaNumSource): PowiainaNum
|
|
67
|
+
cbrt(): PowiainaNum
|
|
68
|
+
static cbrt(x: PowiainaNumSource): PowiainaNum
|
|
69
|
+
root(other: PowiainaNumSource): PowiainaNum
|
|
70
|
+
static root(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
71
|
+
|
|
72
|
+
generalLogarithm(): PowiainaNum
|
|
73
|
+
static generalLogarithm(x: PowiainaNumSource): PowiainaNum
|
|
74
|
+
log10(): PowiainaNum
|
|
75
|
+
static log10(x: PowiainaNumSource): PowiainaNum
|
|
76
|
+
|
|
77
|
+
logarithm(other: PowiainaNumSource): PowiainaNum
|
|
78
|
+
static logarithm(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
79
|
+
logBase(other: PowiainaNumSource): PowiainaNum
|
|
80
|
+
static logBase(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
81
|
+
|
|
82
|
+
naturalLogarithm(): PowiainaNum
|
|
83
|
+
static naturalLogarithm(x: PowiainaNumSource): PowiainaNum
|
|
84
|
+
log(): PowiainaNum
|
|
85
|
+
static log(x: PowiainaNumSource): PowiainaNum
|
|
86
|
+
ln(): PowiainaNum
|
|
87
|
+
static ln(x: PowiainaNumSource): PowiainaNum
|
|
88
|
+
|
|
89
|
+
iteratedexp(other: PowiainaNumSource, payload?: PowiainaNumSource): PowiainaNum
|
|
90
|
+
static iteratedexp(
|
|
91
|
+
x: PowiainaNumSource,
|
|
92
|
+
other: PowiainaNumSource,
|
|
93
|
+
payload?: PowiainaNumSource,
|
|
94
|
+
): PowiainaNum
|
|
95
|
+
|
|
96
|
+
iteratedlog(base: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
97
|
+
static iteratedlog(
|
|
98
|
+
x: PowiainaNumSource,
|
|
99
|
+
y: PowiainaNumSource,
|
|
100
|
+
z: PowiainaNumSource,
|
|
101
|
+
): PowiainaNum
|
|
102
|
+
|
|
103
|
+
iteratedslog(other: PowiainaNumSource): PowiainaNum
|
|
104
|
+
|
|
105
|
+
tetrate(other: PowiainaNumSource, payload?: PowiainaNumSource): PowiainaNum
|
|
106
|
+
static tetrate(
|
|
107
|
+
x: PowiainaNumSource,
|
|
108
|
+
y: PowiainaNumSource,
|
|
109
|
+
payload?: PowiainaNumSource,
|
|
110
|
+
): PowiainaNum
|
|
111
|
+
|
|
112
|
+
ssqrt(): PowiainaNum
|
|
113
|
+
ssrt(): PowiainaNum
|
|
114
|
+
static ssqrt(x: PowiainaNumSource): PowiainaNum
|
|
115
|
+
static ssrt(x: PowiainaNumSource): PowiainaNum
|
|
116
|
+
|
|
117
|
+
slog(base: PowiainaNumSource): PowiainaNum
|
|
118
|
+
static slog(): PowiainaNum
|
|
119
|
+
|
|
120
|
+
pentate(other: PowiainaNumSource): PowiainaNum
|
|
121
|
+
static pentate(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
122
|
+
pent(other: PowiainaNumSource): PowiainaNum
|
|
123
|
+
static pent(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
124
|
+
|
|
125
|
+
arrow(other: PowiainaNumSource): (other: PowiainaNumSource) => PowiainaNum
|
|
126
|
+
static arrow(x: PowiainaNumSource, z: PowiainaNumSource, y: PowiainaNumSource): PowiainaNum
|
|
127
|
+
|
|
128
|
+
add1J(): PowiainaNum
|
|
129
|
+
|
|
130
|
+
chain(other: PowiainaNumSource, arrows: PowiainaNumSource): PowiainaNum
|
|
131
|
+
static chain(
|
|
132
|
+
x: PowiainaNumSource,
|
|
133
|
+
y: PowiainaNumSource,
|
|
134
|
+
z: PowiainaNumSource,
|
|
135
|
+
): PowiainaNumSource
|
|
136
|
+
|
|
137
|
+
static hyper(z: PowiainaNumSource): (x: PowiainaNumSource, y: PowiainaNumSource) => PowiainaNum
|
|
138
|
+
|
|
139
|
+
expansion(other: PowiainaNumSource): PowiainaNum
|
|
140
|
+
static expansion(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
141
|
+
eps(other: PowiainaNumSource): PowiainaNum
|
|
142
|
+
static eps(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
143
|
+
|
|
144
|
+
multiExpansion(other: PowiainaNumSource): PowiainaNum
|
|
145
|
+
static multiExpansion(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
146
|
+
mulEps(other: PowiainaNumSource): PowiainaNum
|
|
147
|
+
static mulEps(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
148
|
+
|
|
149
|
+
powerExpansion(other: PowiainaNumSource): PowiainaNum
|
|
150
|
+
static powerExpansion(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
151
|
+
powEps(other: PowiainaNumSource): PowiainaNum
|
|
152
|
+
static powEps(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
153
|
+
|
|
154
|
+
static expansionArrow(other: PowiainaNumSource, array: PowiainaNumSource): PowiainaNum
|
|
155
|
+
static epsArrow(other: PowiainaNumSource, array: PowiainaNumSource): PowiainaNum
|
|
156
|
+
|
|
157
|
+
explosion(other: PowiainaNumSource): PowiainaNum
|
|
158
|
+
static explosion(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
159
|
+
els(other: PowiainaNumSource): PowiainaNum
|
|
160
|
+
static els(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
161
|
+
|
|
162
|
+
compareTo(other: PowiainaNumSource): -1 | 0 | 1
|
|
163
|
+
cmp(other: PowiainaNumSource): -1 | 0 | 1
|
|
164
|
+
static compareTo(x: PowiainaNumSource, y: PowiainaNumSource): -1 | 0 | 1
|
|
165
|
+
static cmp(x: PowiainaNumSource, y: PowiainaNumSource): -1 | 0 | 1
|
|
166
|
+
|
|
167
|
+
static explosionArrow(other: PowiainaNumSource, array: PowiainaNumSource): PowiainaNum
|
|
168
|
+
static elsArrow(other: PowiainaNumSource, array: PowiainaNumSource): PowiainaNum
|
|
169
|
+
|
|
170
|
+
isInteger(): boolean
|
|
171
|
+
isint(): boolean
|
|
172
|
+
static isInteger(x: PowiainaNumSource): boolean
|
|
173
|
+
static isint(x: PowiainaNumSource): boolean
|
|
174
|
+
|
|
175
|
+
floor(): PowiainaNum
|
|
176
|
+
static floor(x: PowiainaNumSource): PowiainaNum
|
|
177
|
+
ceiling(): PowiainaNum
|
|
178
|
+
static ceiling(x: PowiainaNumSource): PowiainaNum
|
|
179
|
+
ceil(): PowiainaNum
|
|
180
|
+
static ceil(x: PowiainaNumSource): PowiainaNum
|
|
181
|
+
round(): PowiainaNum
|
|
182
|
+
static round(x: PowiainaNumSource): PowiainaNum
|
|
183
|
+
|
|
184
|
+
greaterThan(other: PowiainaNumSource): boolean
|
|
185
|
+
static greaterThan(x: PowiainaNumSource, y: PowiainaNumSource): boolean
|
|
186
|
+
gt(other: PowiainaNumSource): boolean
|
|
187
|
+
static gt(x: PowiainaNumSource, y: PowiainaNumSource): boolean
|
|
188
|
+
|
|
189
|
+
greaterThanOrEqualTo(other: PowiainaNumSource): boolean
|
|
190
|
+
static greaterThanOrEqualTo(x: PowiainaNumSource, y: PowiainaNumSource): boolean
|
|
191
|
+
gte(other: PowiainaNumSource): boolean
|
|
192
|
+
static gte(x: PowiainaNumSource, y: PowiainaNumSource): boolean
|
|
193
|
+
|
|
194
|
+
lessThan(other: PowiainaNumSource): boolean
|
|
195
|
+
static lessThan(x: PowiainaNumSource, y: PowiainaNumSource): boolean
|
|
196
|
+
lt(other: PowiainaNumSource): boolean
|
|
197
|
+
static lt(x: PowiainaNumSource, y: PowiainaNumSource): boolean
|
|
198
|
+
|
|
199
|
+
lessThanOrEqualTo(other: PowiainaNumSource): boolean
|
|
200
|
+
static lessThanOrEqualTo(x: PowiainaNumSource, y: PowiainaNumSource): boolean
|
|
201
|
+
lte(other: PowiainaNumSource): boolean
|
|
202
|
+
static lte(x: PowiainaNumSource, y: PowiainaNumSource): boolean
|
|
203
|
+
|
|
204
|
+
equalsTo(other: PowiainaNumSource): boolean
|
|
205
|
+
static equalsTo(x: PowiainaNumSource, y: PowiainaNumSource): boolean
|
|
206
|
+
eq(other: PowiainaNumSource): boolean
|
|
207
|
+
static eq(x: PowiainaNumSource, y: PowiainaNumSource): boolean
|
|
208
|
+
notEqualsTo(other: PowiainaNumSource): boolean
|
|
209
|
+
static notEqualsTo(x: PowiainaNumSource, y: PowiainaNumSource): boolean
|
|
210
|
+
neq(other: PowiainaNumSource): boolean
|
|
211
|
+
static neq(x: PowiainaNumSource, y: PowiainaNumSource): boolean
|
|
212
|
+
|
|
213
|
+
minimum(other: PowiainaNumSource): PowiainaNum
|
|
214
|
+
min(other: PowiainaNumSource): PowiainaNum
|
|
215
|
+
static minimum(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
216
|
+
static min(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
217
|
+
|
|
218
|
+
maximum(other: PowiainaNumSource): PowiainaNum
|
|
219
|
+
max(other: PowiainaNumSource): PowiainaNum
|
|
220
|
+
static maximum(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
221
|
+
static max(x: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum
|
|
222
|
+
|
|
223
|
+
toNumber(): number
|
|
224
|
+
|
|
225
|
+
toString(type: undefined | 1): string
|
|
226
|
+
operator(i: number, j: number, k: number): number
|
|
227
|
+
operator(i: number, j: number, k: number, val: number): void
|
|
228
|
+
overflow(
|
|
229
|
+
start: PowiainaNumSource,
|
|
230
|
+
power: PowiainaNumSource,
|
|
231
|
+
meta: PowiainaNumSource,
|
|
232
|
+
): PowiainaNum
|
|
233
|
+
clone(): PowiainaNum
|
|
234
|
+
|
|
235
|
+
isNaN(): boolean
|
|
236
|
+
array: [number, ...([number | string, number, number, number]|[never, number, string, number])[]]
|
|
237
|
+
layer: number
|
|
238
|
+
sign: 1 | 0 | -1
|
|
239
|
+
}
|
|
240
|
+
}
|