powiaina_num.js 0.2.0-alpha.3.2 → 0.2.0-alpha.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,6 +18,10 @@ export default class PowiainaNum implements IPowiainaNum {
18
18
  small: boolean;
19
19
  sign: -1 | 0 | 1;
20
20
  layer: number;
21
+ /**
22
+ * Constructor of PowiainaNum class,
23
+ * If no arguments, return `PowiainaNum.NaN`.
24
+ */
21
25
  constructor(arg1?: PowiainaNumSource);
22
26
  /**
23
27
  * Addition
@@ -31,6 +35,9 @@ export default class PowiainaNum implements IPowiainaNum {
31
35
  static mul(t: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum;
32
36
  div(other: PowiainaNumSource): PowiainaNum;
33
37
  static div(t: PowiainaNumSource, other: PowiainaNumSource): PowiainaNum;
38
+ /**
39
+ * @returns 10 to the power of `this`
40
+ */
34
41
  pow10(): PowiainaNum;
35
42
  pow(x: PowiainaNumSource): PowiainaNum;
36
43
  pow_base(x: PowiainaNumSource): PowiainaNum;
@@ -50,6 +57,26 @@ export default class PowiainaNum implements IPowiainaNum {
50
57
  log(base?: PowiainaNumSource): PowiainaNum;
51
58
  static log(t: PowiainaNumSource, base?: PowiainaNumSource): PowiainaNum;
52
59
  ln(): PowiainaNum;
60
+ /**
61
+ * plog10, beware unexpected errors.
62
+ */
63
+ plog10(): PowiainaNum;
64
+ /**
65
+ * plog10, beware unexpected errors.
66
+ */
67
+ static plog10(t: PowiainaNumSource): PowiainaNum;
68
+ /**
69
+ * plog, beware unexpected errors.
70
+ */
71
+ plog(base?: PowiainaNumSource): PowiainaNum;
72
+ /**
73
+ * plog, beware unexpected errors.
74
+ */
75
+ static plog(t: PowiainaNumSource, base?: PowiainaNumSource): PowiainaNum;
76
+ /**
77
+ * pln, beware unexpected errors.
78
+ */
79
+ pln(): PowiainaNum;
53
80
  static exp(x: PowiainaNumSource): PowiainaNum;
54
81
  exp(): PowiainaNum;
55
82
  mod(x: PowiainaNumSource): PowiainaNum;
@@ -77,10 +104,39 @@ export default class PowiainaNum implements IPowiainaNum {
77
104
  lambertw(princ?: boolean): PowiainaNum;
78
105
  static lambertw(x: PowiainaNumSource, principal?: boolean): PowiainaNum;
79
106
  static tetrate_10(other2: PowiainaNumSource): PowiainaNum;
80
- max(x: PowiainaNumSource): PowiainaNum;
81
- min(x: PowiainaNumSource): PowiainaNum;
82
- maxabs(x: PowiainaNumSource): PowiainaNum;
83
- minabs(x: PowiainaNumSource): PowiainaNum;
107
+ arrow(arrows2: PowiainaNumSource): (other: PowiainaNumSource, depth?: number) => PowiainaNum;
108
+ chain(other: PowiainaNumSource, arrows: PowiainaNumSource): PowiainaNum;
109
+ /**
110
+ * Select the largest number of arguments.
111
+ */
112
+ static max(...args: PowiainaNumSource[]): PowiainaNum;
113
+ /**
114
+ * Select the smallest number of arguments.
115
+ */
116
+ static min(...args: PowiainaNumSource[]): PowiainaNum;
117
+ /**
118
+ * Restrict a number be not lower than a number
119
+ *
120
+ * It's also an alias of `PowiainaNum.max`.
121
+ * @returns restricted number
122
+ */
123
+ static clampMin(...args: PowiainaNumSource[]): PowiainaNum;
124
+ /**
125
+ * Restrict a number be not higher than a number
126
+ *
127
+ * It's also an alias of `PowiainaNum.min`.
128
+ * @returns restricted number
129
+ */
130
+ static clampMax(...args: PowiainaNumSource[]): PowiainaNum;
131
+ max(...args: PowiainaNumSource[]): PowiainaNum;
132
+ min(...args: PowiainaNumSource[]): PowiainaNum;
133
+ /**
134
+ * Compare what PowiainaNum's absolute value is max
135
+ * @param args
136
+ * @returns absolute value max number's absolute value
137
+ */
138
+ maxabs(...args: PowiainaNumSource[]): PowiainaNum;
139
+ minabs(...args: PowiainaNumSource[]): PowiainaNum;
84
140
  cmpabs(x: PowiainaNumSource): -1 | 0 | 1 | 2;
85
141
  neg(): PowiainaNum;
86
142
  rec(): PowiainaNum;
@@ -111,6 +167,7 @@ export default class PowiainaNum implements IPowiainaNum {
111
167
  lte(other: PowiainaNumSource): boolean;
112
168
  gt(other: PowiainaNumSource): boolean;
113
169
  gte(other: PowiainaNumSource): boolean;
170
+ static sign(a: PowiainaNum): -1 | 0 | 1;
114
171
  isNaN(): boolean;
115
172
  isZero(): boolean;
116
173
  isFinite(): boolean;
@@ -125,6 +182,7 @@ export default class PowiainaNum implements IPowiainaNum {
125
182
  * @returns normalized number
126
183
  */
127
184
  normalize(): PowiainaNum;
185
+ private static arrowMSI;
128
186
  /**
129
187
  * @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.
130
188
  */
@@ -163,22 +221,99 @@ export default class PowiainaNum implements IPowiainaNum {
163
221
  static fromString(input: string): PowiainaNum;
164
222
  static fromObject(powlikeObject: IPowiainaNum | ExpantaNumArray): PowiainaNum;
165
223
  /**
166
- * A property arary value for version 0.1.x PowiainaNum.
224
+ * A property array value for version 0.1.x PowiainaNum.
167
225
  */
168
226
  get arr01(): [number, ...([number, number, number, number] | ["x", number, number, number] | [number, number, "x", number])[]];
227
+ /**
228
+ * Zero
229
+ */
169
230
  static readonly ZERO: PowiainaNum;
231
+ /**
232
+ * One
233
+ */
170
234
  static readonly ONE: PowiainaNum;
235
+ /**
236
+ * The value of the largest integer n such that n and n + 1 are both
237
+ * exactly representable as a Number value = 9007199254740991 = 2^53 − 1.
238
+ */
171
239
  static readonly MSI: PowiainaNum;
240
+ /**
241
+ * MSI's reciprocate value, = 1/9007199254740991.
242
+ */
172
243
  static readonly MSI_REC: PowiainaNum;
244
+ /**
245
+ * 10^(MSI) = 10^9007199254740991.
246
+ */
173
247
  static readonly E_MSI: PowiainaNum;
248
+ /**
249
+ * 10^(MSI) 's reciprocate value, = 10^-9007199254740991.
250
+ */
174
251
  static readonly E_MSI_REC: PowiainaNum;
252
+ /**
253
+ * Tetrated MSI, = 10↑↑9007199254740991.
254
+ */
175
255
  static readonly TETRATED_MSI: PowiainaNum;
256
+ /**
257
+ * Pentated MSI, = 10↑↑↑9007199254740991.
258
+ */
176
259
  static readonly PENTATED_MSI: PowiainaNum;
260
+ /**
261
+ * Tritri, = 3↑↑↑3 = power tower with height 7625597484987 base 3.
262
+ */
177
263
  static readonly TRITRI: PowiainaNum;
264
+ /**
265
+ * The Graham's Number, = G^64(4)
266
+ *
267
+ * = 3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{
268
+ * 3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3{3↑↑↑↑3
269
+ * }3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3
270
+ * }3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3}3
271
+ */
178
272
  static readonly GRAHAMS_NUMBER: PowiainaNum;
273
+ /**
274
+ * Positive Infinity.
275
+ */
179
276
  static readonly POSITIVE_INFINITY: PowiainaNum;
277
+ /**
278
+ * Negative Infinity.
279
+ */
180
280
  static readonly NEGATIVE_INFINITY: PowiainaNum;
181
281
  static readonly NaN: PowiainaNum;
282
+ /**
283
+ * The mathematical constant e. This is Euler's number, the base of natural logarithms.
284
+ */
285
+ static readonly E: PowiainaNum;
286
+ /**
287
+ * The natural logarithm of 2 = ln(2).
288
+ */
289
+ static readonly LN2: PowiainaNum;
290
+ /**
291
+ * The natural logarithm of 10.
292
+ */
293
+ static readonly LN10: PowiainaNum;
294
+ /**
295
+ * The base-2 logarithm of e = log_2(e).
296
+ */
297
+ static readonly LOG2E: PowiainaNum;
298
+ /**
299
+ * The base-10 logarithm of e = log_10(e).
300
+ */
301
+ static readonly LOG10E: PowiainaNum;
302
+ /**
303
+ * Pi(). This is the ratio of the circumference of a circle to its diameter.
304
+ */
305
+ static readonly PI: PowiainaNum;
306
+ /**
307
+ * The square root of 0.5, or, equivalently, one divided by the square root of 2.
308
+ *
309
+ * = (√2)/2 = √(0.5)
310
+ */
311
+ static readonly SQRT1_2: PowiainaNum;
312
+ /**
313
+ * The square root of 2 = √2.
314
+ */
315
+ static readonly SQRT2: PowiainaNum;
182
316
  static readonly maxOps = 100;
317
+ static arrowFuncMap: Map<string, PowiainaNum>;
183
318
  }
184
319
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "powiaina_num.js",
3
- "version": "0.2.0-alpha.3.2",
3
+ "version": "0.2.0-alpha.3.4",
4
4
  "description": "A JavaScript library that handles arithmetic for numbers as large as {10,9e15,1,1,1,2}.",
5
5
  "type": "module",
6
6
  "main": "dist/PowiainaNum.cjs.js",