powiaina_num.js 0.2.0-alpha.4.2 → 0.2.0-beta.1

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/README.md CHANGED
@@ -1,28 +1,30 @@
1
1
  # PowiainaNum.js
2
2
 
3
+ [![npm](https://img.shields.io/npm/v/powiaina_num.js.svg)](https://www.npmjs.com/package/powiaina_num.js)
4
+
3
5
  A JavaScript library that handles arithmetic for numbers as large as {10,9e15,1,1,1,2}.
4
6
 
5
- This reaches level f<sub>ω<sup>3</sup>+1</sub>.
7
+ This reaches level f<sub>ω<sup>3</sup>+1</sub>, which the operation [powiaination](https://googology.fandom.com/wiki/Powiaination) also is at, hence the name.
6
8
 
7
9
  Internally, it is represented as an sign, array, small, and layer. Sign is 1 or -1. . Layer is a non-negative integer.
8
10
 
9
- The operator interface is `interface {arrow: number; expans: number; megota: number; repeat: number;}`, which respents {10, {10, ...{10, X, arrow, expans, megota}..., arrow, expans, megota}, arrow, expans, megota} (repeat means counts of 10's);
11
+ The operator interface is `interface {arrow: number; expans: number; megota: number; repeat: number;}`;
10
12
 
11
- The array is `Operator[]`
13
+ The array is an array types `Operator[]`
12
14
 
13
- when $$f(x) = \{10, 10, 10, 10, 10, x\}$$
14
- $$g_{a,b,c}(x) = \{10,x,a,b,c\}$$
15
+ when $$f(x) = \{10, 10, 10, 10, x\}$$
16
+ $$g_{a,b,c}(x) = \text{a,b is not Infinity}=\{10,x,a,b,c\},\text{a is Infinity}=\{10,10,x,b,c\},\text{b is Infinity}=\{10,10,10,x,c\}$$
15
17
  $$o_x = \text{last }x\text{th operator of array} $$
16
- They together respents $s_{ign}\times f^{l_{ayer}} g_{o_1.arrow, o_1.expans, o_1.megota} g_{o_2.arrow, o_2.expans, o_2.megota} ...$
18
+ $$s_{ign} = \text{PN's sign property}$$
19
+ $$l_{ayer} = \text{PN's layer property}$$
20
+ $$e_{xp} = \text{if PN's small property is false, }e_{xp}=1,\text{Otherwise,}e_{xp}=-1$$
21
+ They together respents $(s_{ign}\times f^{l_{ayer}} g_{o_1.arrow, o_1.expans, o_1.megota}^{o_1.repeat} g_{o_2.arrow, o_2.expans, o_2.megota}^{o_2.repeat} ...)^{e_{xp}}$
17
22
 
18
23
  If arrow count or expans count is Infinite, the count replaces to the next operators.
19
24
 
20
25
  Some codes snippet from [ExpantaNum.js by Naruyoko](https://github.com/Naruyoko/ExpantaNum.js)
21
26
 
22
- Functions are as follows `abs, neg, add, sub, mul, div, rec, pow, pow10, pow_base, sqrt, cbrt, root, log10, log, cmp, rec, gamma, mod, exp, ln, slog, factorial, tetrate_10, isFinite, isInfinite, isNaN, tetrate, lambertw, toString, toJSON, floor, ceil, round, trunc, clampMax, clampMin, arrow, expansion, expansionArrow, multiExpansion, powerExpansion, explosion`(some missing items that have not been fully developed)
23
-
24
- ## Current unstable functions
25
- `megotion, BEAF`
27
+ Functions are as follows `abs, neg, add, sub, mul, div, rec, pow, pow10, pow_base, sqrt, cbrt, root, log10, log, cmp, rec, gamma, mod, exp, ln, slog, factorial, tetrate_10, isFinite, isInfinite, isNaN, tetrate, lambertw, toString, toJSON, floor, ceil, round, trunc, clampMax, clampMin, arrow, expansion, expansionArrow, multiExpansion, powerExpansion, explosion, megotion, BEAF, powiaination`
26
28
 
27
29
  ## Using
28
30
 
@@ -81,6 +83,16 @@ a.gt(b); // a is greater than b
81
83
  a.eq(b); // a is equals to b
82
84
  ```
83
85
 
86
+ ## Developing
87
+
88
+ Clone this project and then run `npm install`.
89
+
90
+ ### Build project
91
+ Run `npm run build` to build this project, js files will produce in `dist` directory.
92
+
93
+ ### Test project
94
+ Run `npm test` to test this project.
95
+
84
96
  ## Future ideas
85
97
 
86
98
  Extend `Operator` to nearly infinite keys to reach level f<sub>ω<sup>ω</sup></sub>