pragmastat 9.0.0 → 10.0.0
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 +43 -68
- package/dist/constants.d.ts +2 -2
- package/dist/constants.js +2 -2
- package/dist/distributions/additive.js +2 -2
- package/dist/distributions/additive.js.map +1 -1
- package/dist/distributions/exp.js +1 -1
- package/dist/distributions/exp.js.map +1 -1
- package/dist/distributions/power.js +1 -1
- package/dist/distributions/power.js.map +1 -1
- package/dist/distributions/uniform.js +1 -1
- package/dist/distributions/uniform.js.map +1 -1
- package/dist/estimators.d.ts +27 -0
- package/dist/estimators.d.ts.map +1 -1
- package/dist/estimators.js +115 -0
- package/dist/estimators.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/rng.d.ts +17 -17
- package/dist/rng.d.ts.map +1 -1
- package/dist/rng.js +42 -34
- package/dist/rng.js.map +1 -1
- package/dist/signMargin.js +1 -1
- package/dist/signMargin.js.map +1 -1
- package/dist/xoshiro256.d.ts +8 -4
- package/dist/xoshiro256.d.ts.map +1 -1
- package/dist/xoshiro256.js +14 -9
- package/dist/xoshiro256.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
Install from npm:
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
npm i pragmastat@
|
|
6
|
+
npm i pragmastat@10.0.0
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Source code: https://github.com/AndreyAkinshin/pragmastat/tree/
|
|
9
|
+
Source code: https://github.com/AndreyAkinshin/pragmastat/tree/v10.0.0/ts
|
|
10
10
|
|
|
11
11
|
Pragmastat on npm: https://www.npmjs.com/package/pragmastat
|
|
12
12
|
|
|
@@ -14,93 +14,68 @@ Pragmastat on npm: https://www.npmjs.com/package/pragmastat
|
|
|
14
14
|
|
|
15
15
|
```typescript
|
|
16
16
|
import {
|
|
17
|
-
center, spread,
|
|
17
|
+
center, spread, shift, ratio, disparity,
|
|
18
18
|
centerBounds, shiftBounds, ratioBounds,
|
|
19
|
-
|
|
19
|
+
spreadBounds, disparityBounds,
|
|
20
|
+
Rng, Additive, Multiplic, Exp, Power, Uniform
|
|
20
21
|
} from '../src';
|
|
21
22
|
|
|
22
23
|
function main() {
|
|
23
|
-
// ---
|
|
24
|
-
|
|
25
|
-
let rng = new Rng("demo-uniform");
|
|
26
|
-
console.log(rng.uniform()); // 0.2640554428629759
|
|
27
|
-
console.log(rng.uniform()); // 0.9348534835582796
|
|
24
|
+
// --- One-Sample ---
|
|
28
25
|
|
|
29
|
-
|
|
30
|
-
console.log(rng.sample([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 3)); // [3, 8, 9]
|
|
26
|
+
let x = Array.from({ length: 20 }, (_, i) => i + 1);
|
|
31
27
|
|
|
32
|
-
|
|
33
|
-
console.log(
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
console.log(rng.resample([1, 2, 3, 4, 5], 7)); // [5, 1, 1, 3, 3, 4, 5]
|
|
28
|
+
console.log(center(x)); // 10.5
|
|
29
|
+
console.log(centerBounds(x, 0.05)); // { lower: 7.5, upper: 13.5 }
|
|
30
|
+
console.log(spread(x)); // 6
|
|
31
|
+
console.log(spreadBounds(x, 0.05, "demo")); // { lower: 2, upper: 10 }
|
|
37
32
|
|
|
38
|
-
// ---
|
|
39
|
-
|
|
40
|
-
rng = new Rng("demo-dist-uniform");
|
|
41
|
-
let dist = new Uniform(0, 10);
|
|
42
|
-
console.log(dist.sample(rng)); // 6.54043657816832
|
|
43
|
-
|
|
44
|
-
rng = new Rng("demo-dist-additive");
|
|
45
|
-
let addDist = new Additive(0, 1);
|
|
46
|
-
console.log(addDist.sample(rng)); // 0.17410448679568188
|
|
47
|
-
|
|
48
|
-
rng = new Rng("demo-dist-exp");
|
|
49
|
-
let expDist = new Exp(1);
|
|
50
|
-
console.log(expDist.sample(rng)); // 0.6589065267276553
|
|
51
|
-
|
|
52
|
-
rng = new Rng("demo-dist-power");
|
|
53
|
-
let powDist = new Power(1, 2);
|
|
54
|
-
console.log(powDist.sample(rng)); // 1.023677535537084
|
|
33
|
+
// --- Two-Sample ---
|
|
55
34
|
|
|
56
|
-
|
|
57
|
-
let
|
|
58
|
-
console.log(mulDist.sample(rng)); // 1.1273244602673853
|
|
59
|
-
|
|
60
|
-
// --- Single-Sample Statistics ---
|
|
35
|
+
x = Array.from({ length: 30 }, (_, i) => i + 1);
|
|
36
|
+
let y = Array.from({ length: 30 }, (_, i) => i + 21);
|
|
61
37
|
|
|
62
|
-
|
|
38
|
+
console.log(shift(x, y)); // -20
|
|
39
|
+
console.log(shiftBounds(x, y, 0.05)); // { lower: -25, upper: -15 }
|
|
40
|
+
console.log(ratio(x, y)); // 0.4366979828269513
|
|
41
|
+
console.log(ratioBounds(x, y, 0.05)); // { lower: 0.31250000000000006, upper: 0.5600000000000003 }
|
|
42
|
+
console.log(disparity(x, y)); // -2.2222222222222223
|
|
43
|
+
console.log(disparityBounds(x, y, 0.05, "demo")); // { lower: -13, upper: -0.8235294117647058 }
|
|
63
44
|
|
|
64
|
-
|
|
65
|
-
console.log(spread(x)); // 4
|
|
66
|
-
console.log(spread(x.map(v => v + 10))); // 4
|
|
67
|
-
console.log(spread(x.map(v => v * 2))); // 8
|
|
68
|
-
console.log(relSpread(x)); // 0.8
|
|
45
|
+
// --- Randomization ---
|
|
69
46
|
|
|
70
|
-
|
|
47
|
+
let rng = new Rng("demo-uniform");
|
|
48
|
+
console.log(rng.uniformFloat()); // 0.2640554428629759
|
|
49
|
+
console.log(rng.uniformFloat()); // 0.9348534835582796
|
|
71
50
|
|
|
72
|
-
|
|
73
|
-
|
|
51
|
+
rng = new Rng("demo-uniform-int");
|
|
52
|
+
console.log(rng.uniformInt(0, 100)); // 41
|
|
74
53
|
|
|
75
|
-
|
|
76
|
-
console.log(
|
|
77
|
-
console.log(avgSpread(x, y)); // 5
|
|
78
|
-
console.log(disparity(x, y)); // 0.4
|
|
79
|
-
console.log(disparity(y, x)); // -0.4
|
|
54
|
+
rng = new Rng("demo-sample");
|
|
55
|
+
console.log(rng.sample([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 3)); // [3, 8, 9]
|
|
80
56
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
console.log(ratio(x, y)); // 0.5
|
|
84
|
-
console.log(ratio(y, x)); // 2
|
|
57
|
+
rng = new Rng("demo-resample");
|
|
58
|
+
console.log(rng.resample([1, 2, 3, 4, 5], 7)); // [3, 1, 3, 2, 4, 1, 2]
|
|
85
59
|
|
|
86
|
-
|
|
60
|
+
rng = new Rng("demo-shuffle");
|
|
61
|
+
console.log(rng.shuffle([1, 2, 3, 4, 5])); // [4, 2, 3, 5, 1]
|
|
87
62
|
|
|
88
|
-
|
|
63
|
+
// --- Distributions ---
|
|
89
64
|
|
|
90
|
-
|
|
91
|
-
console.log(
|
|
65
|
+
rng = new Rng("demo-dist-additive");
|
|
66
|
+
console.log(new Additive(0, 1).sample(rng)); // 0.17410448679568188
|
|
92
67
|
|
|
93
|
-
|
|
68
|
+
rng = new Rng("demo-dist-multiplic");
|
|
69
|
+
console.log(new Multiplic(0, 1).sample(rng)); // 1.1273244602673853
|
|
94
70
|
|
|
95
|
-
|
|
96
|
-
|
|
71
|
+
rng = new Rng("demo-dist-exp");
|
|
72
|
+
console.log(new Exp(1).sample(rng)); // 0.6589065267276553
|
|
97
73
|
|
|
98
|
-
|
|
99
|
-
console.log(
|
|
74
|
+
rng = new Rng("demo-dist-power");
|
|
75
|
+
console.log(new Power(1, 2).sample(rng)); // 1.023677535537084
|
|
100
76
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
console.log(ratioBounds(x, y, 0.05)); // { lower: 0.333..., upper: 1.5 }
|
|
77
|
+
rng = new Rng("demo-dist-uniform");
|
|
78
|
+
console.log(new Uniform(0, 10).sample(rng)); // 6.54043657816832
|
|
104
79
|
}
|
|
105
80
|
|
|
106
81
|
main();
|
package/dist/constants.d.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* This is the smallest ε such that 1.0 + ε ≠ 1.0 in float64 arithmetic.
|
|
10
10
|
* Represents the distance between 1.0 and the next representable number.
|
|
11
11
|
*
|
|
12
|
-
* Used to avoid log(0) or division by zero when
|
|
12
|
+
* Used to avoid log(0) or division by zero when uniformFloat() returns exactly 1.0.
|
|
13
13
|
* All language implementations use this same value to ensure cross-language
|
|
14
14
|
* determinism in distribution sampling.
|
|
15
15
|
*/
|
|
@@ -23,7 +23,7 @@ export declare const MACHINE_EPSILON = 2.220446049250313e-16;
|
|
|
23
23
|
* Unlike machine epsilon (which is the smallest ε where 1+ε ≠ 1), this is the
|
|
24
24
|
* absolute smallest positive number before underflow to zero.
|
|
25
25
|
*
|
|
26
|
-
* Used to avoid log(0) in Box-Muller transform when
|
|
26
|
+
* Used to avoid log(0) in Box-Muller transform when uniformFloat() returns exactly 0.
|
|
27
27
|
* All language implementations use this same value to ensure cross-language
|
|
28
28
|
* determinism in distribution sampling.
|
|
29
29
|
*/
|
package/dist/constants.js
CHANGED
|
@@ -12,7 +12,7 @@ exports.SMALLEST_POSITIVE_SUBNORMAL = exports.MACHINE_EPSILON = void 0;
|
|
|
12
12
|
* This is the smallest ε such that 1.0 + ε ≠ 1.0 in float64 arithmetic.
|
|
13
13
|
* Represents the distance between 1.0 and the next representable number.
|
|
14
14
|
*
|
|
15
|
-
* Used to avoid log(0) or division by zero when
|
|
15
|
+
* Used to avoid log(0) or division by zero when uniformFloat() returns exactly 1.0.
|
|
16
16
|
* All language implementations use this same value to ensure cross-language
|
|
17
17
|
* determinism in distribution sampling.
|
|
18
18
|
*/
|
|
@@ -26,7 +26,7 @@ exports.MACHINE_EPSILON = 2.220446049250313e-16;
|
|
|
26
26
|
* Unlike machine epsilon (which is the smallest ε where 1+ε ≠ 1), this is the
|
|
27
27
|
* absolute smallest positive number before underflow to zero.
|
|
28
28
|
*
|
|
29
|
-
* Used to avoid log(0) in Box-Muller transform when
|
|
29
|
+
* Used to avoid log(0) in Box-Muller transform when uniformFloat() returns exactly 0.
|
|
30
30
|
* All language implementations use this same value to ensure cross-language
|
|
31
31
|
* determinism in distribution sampling.
|
|
32
32
|
*/
|
|
@@ -32,8 +32,8 @@ class Additive {
|
|
|
32
32
|
}
|
|
33
33
|
sample(rng) {
|
|
34
34
|
// Box-Muller transform
|
|
35
|
-
let u1 = rng.
|
|
36
|
-
const u2 = rng.
|
|
35
|
+
let u1 = rng.uniformFloat();
|
|
36
|
+
const u2 = rng.uniformFloat();
|
|
37
37
|
// Avoid log(0) - use smallest positive subnormal for cross-language consistency
|
|
38
38
|
if (u1 === 0) {
|
|
39
39
|
u1 = constants_1.SMALLEST_POSITIVE_SUBNORMAL;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"additive.js","sourceRoot":"","sources":["../../src/distributions/additive.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,4CAA2D;AAI3D;;;;;;;;;GASG;AACH,MAAa,QAAQ;IAInB;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,MAAc;QACtC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,GAAQ;QACb,uBAAuB;QACvB,IAAI,EAAE,GAAG,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"additive.js","sourceRoot":"","sources":["../../src/distributions/additive.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,4CAA2D;AAI3D;;;;;;;;;GASG;AACH,MAAa,QAAQ;IAInB;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,MAAc;QACtC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,GAAQ;QACb,uBAAuB;QACvB,IAAI,EAAE,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;QAC5B,MAAM,EAAE,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;QAE9B,gFAAgF;QAChF,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YACb,EAAE,GAAG,uCAA2B,CAAC;QACnC,CAAC;QAED,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QAEjC,8CAA8C;QAC9C,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAE9B,OAAO,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;IACrC,CAAC;IAED,OAAO,CAAC,GAAQ,EAAE,KAAa;QAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC;CACF;AAzCD,4BAyCC"}
|
|
@@ -30,7 +30,7 @@ class Exp {
|
|
|
30
30
|
}
|
|
31
31
|
sample(rng) {
|
|
32
32
|
// Inverse CDF method: -ln(1 - U) / rate
|
|
33
|
-
let u = rng.
|
|
33
|
+
let u = rng.uniformFloat();
|
|
34
34
|
// Avoid log(0) - use machine epsilon for cross-language consistency
|
|
35
35
|
if (u === 1.0) {
|
|
36
36
|
u = 1.0 - constants_1.MACHINE_EPSILON;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exp.js","sourceRoot":"","sources":["../../src/distributions/exp.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,4CAA+C;AAI/C;;;;;;;;;GASG;AACH,MAAa,GAAG;IAGd;;;;;OAKG;IACH,YAAY,IAAY;QACtB,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,GAAQ;QACb,wCAAwC;QACxC,IAAI,CAAC,GAAG,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"exp.js","sourceRoot":"","sources":["../../src/distributions/exp.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,4CAA+C;AAI/C;;;;;;;;;GASG;AACH,MAAa,GAAG;IAGd;;;;;OAKG;IACH,YAAY,IAAY;QACtB,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,GAAQ;QACb,wCAAwC;QACxC,IAAI,CAAC,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;QAC3B,oEAAoE;QACpE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,CAAC,GAAG,GAAG,GAAG,2BAAe,CAAC;QAC5B,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;IACxC,CAAC;IAED,OAAO,CAAC,GAAQ,EAAE,KAAa;QAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC;CACF;AA7BD,kBA6BC"}
|
|
@@ -35,7 +35,7 @@ class Power {
|
|
|
35
35
|
}
|
|
36
36
|
sample(rng) {
|
|
37
37
|
// Inverse CDF method: min / (1 - U)^(1/shape)
|
|
38
|
-
let u = rng.
|
|
38
|
+
let u = rng.uniformFloat();
|
|
39
39
|
// Avoid division by zero - use machine epsilon for cross-language consistency
|
|
40
40
|
if (u === 1.0) {
|
|
41
41
|
u = 1.0 - constants_1.MACHINE_EPSILON;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"power.js","sourceRoot":"","sources":["../../src/distributions/power.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,4CAA+C;AAI/C;;;;;;;;;GASG;AACH,MAAa,KAAK;IAIhB;;;;;;OAMG;IACH,YAAY,GAAW,EAAE,KAAa;QACpC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,GAAQ;QACb,8CAA8C;QAC9C,IAAI,CAAC,GAAG,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"power.js","sourceRoot":"","sources":["../../src/distributions/power.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,4CAA+C;AAI/C;;;;;;;;;GASG;AACH,MAAa,KAAK;IAIhB;;;;;;OAMG;IACH,YAAY,GAAW,EAAE,KAAa;QACpC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,GAAQ;QACb,8CAA8C;QAC9C,IAAI,CAAC,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;QAC3B,8EAA8E;QAC9E,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,CAAC,GAAG,GAAG,GAAG,2BAAe,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,CAAC,GAAQ,EAAE,KAAa;QAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC;CACF;AAnCD,sBAmCC"}
|
|
@@ -28,7 +28,7 @@ class Uniform {
|
|
|
28
28
|
this.max = max;
|
|
29
29
|
}
|
|
30
30
|
sample(rng) {
|
|
31
|
-
return this.min + rng.
|
|
31
|
+
return this.min + rng.uniformFloat() * (this.max - this.min);
|
|
32
32
|
}
|
|
33
33
|
samples(rng, count) {
|
|
34
34
|
return Array.from({ length: count }, () => this.sample(rng));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uniform.js","sourceRoot":"","sources":["../../src/distributions/uniform.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAKH;;;;;;;GAOG;AACH,MAAa,OAAO;IAIlB;;;;;;OAMG;IACH,YAAY,GAAW,EAAE,GAAW;QAClC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,GAAQ;QACb,OAAO,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"uniform.js","sourceRoot":"","sources":["../../src/distributions/uniform.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAKH;;;;;;;GAOG;AACH,MAAa,OAAO;IAIlB;;;;;;OAMG;IACH,YAAY,GAAW,EAAE,GAAW;QAClC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,GAAQ;QACb,OAAO,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,CAAC,GAAQ,EAAE,KAAa;QAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC;CACF;AA1BD,0BA0BC"}
|
package/dist/estimators.d.ts
CHANGED
|
@@ -23,6 +23,8 @@ export declare function spread(x: number[]): number;
|
|
|
23
23
|
/**
|
|
24
24
|
* Calculate the RelSpread - ratio of Spread to absolute Center
|
|
25
25
|
*
|
|
26
|
+
* @deprecated Use `spread(x) / Math.abs(center(x))` instead.
|
|
27
|
+
*
|
|
26
28
|
* Assumptions:
|
|
27
29
|
* positivity(x) - all values must be strictly positive (ensures Center > 0)
|
|
28
30
|
*
|
|
@@ -61,6 +63,7 @@ export declare function ratio(x: number[], y: number[]): number;
|
|
|
61
63
|
* sparity(x) - first sample must be non tie-dominant (Spread > 0)
|
|
62
64
|
* sparity(y) - second sample must be non tie-dominant (Spread > 0)
|
|
63
65
|
*
|
|
66
|
+
* @internal
|
|
64
67
|
* @param x First sample
|
|
65
68
|
* @param y Second sample
|
|
66
69
|
* @returns The combined spread estimate
|
|
@@ -140,4 +143,28 @@ export declare function centerBounds(x: number[], misrate?: number): Bounds;
|
|
|
140
143
|
* @throws AssumptionError if sample is invalid, misrate is out of domain, or sample is tie-dominant
|
|
141
144
|
*/
|
|
142
145
|
export declare function spreadBounds(x: number[], misrate?: number, seed?: string): Bounds;
|
|
146
|
+
/**
|
|
147
|
+
* Provides distribution-free bounds for AvgSpread using Bonferroni combination.
|
|
148
|
+
*
|
|
149
|
+
* @internal
|
|
150
|
+
* @param x First sample array
|
|
151
|
+
* @param y Second sample array
|
|
152
|
+
* @param misrate Misclassification rate (probability that true avg_spread falls outside bounds)
|
|
153
|
+
* @param seed Optional string seed for deterministic randomization
|
|
154
|
+
* @returns An object containing the lower and upper bounds
|
|
155
|
+
* @throws AssumptionError if input is invalid, misrate is out of domain, or sample is tie-dominant
|
|
156
|
+
*/
|
|
157
|
+
export declare function avgSpreadBounds(x: number[], y: number[], misrate?: number, seed?: string): Bounds;
|
|
158
|
+
/**
|
|
159
|
+
* Provides distribution-free bounds for the Disparity estimator (Shift / AvgSpread)
|
|
160
|
+
* using Bonferroni combination of ShiftBounds and AvgSpreadBounds.
|
|
161
|
+
*
|
|
162
|
+
* @param x First sample
|
|
163
|
+
* @param y Second sample
|
|
164
|
+
* @param misrate Misclassification rate
|
|
165
|
+
* @param seed Optional string seed for deterministic randomization
|
|
166
|
+
* @returns An object containing the lower and upper bounds
|
|
167
|
+
* @throws AssumptionError if inputs are invalid, misrate is out of domain, or samples are tie-dominant
|
|
168
|
+
*/
|
|
169
|
+
export declare function disparityBounds(x: number[], y: number[], misrate?: number, seed?: string): Bounds;
|
|
143
170
|
//# sourceMappingURL=estimators.d.ts.map
|
package/dist/estimators.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"estimators.d.ts","sourceRoot":"","sources":["../src/estimators.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAI1C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAM1C;AAED
|
|
1
|
+
{"version":3,"file":"estimators.d.ts","sourceRoot":"","sources":["../src/estimators.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAI1C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAM1C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAW7C;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAMtD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAWtD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAkB1D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAqB1D;AAED,eAAO,MAAM,eAAe,QAAO,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,MAAwB,GAAG,MAAM,CA8C/F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,MAAwB,GAAG,MAAM,CAyB/F;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,MAAwB,GAAG,MAAM,CAmCnF;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,CAAC,EAAE,MAAM,EAAE,EACX,OAAO,GAAE,MAAwB,EACjC,IAAI,CAAC,EAAE,MAAM,GACZ,MAAM,CA4BR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,CAAC,EAAE,MAAM,EAAE,EACX,CAAC,EAAE,MAAM,EAAE,EACX,OAAO,GAAE,MAAwB,EACjC,IAAI,CAAC,EAAE,MAAM,GACZ,MAAM,CA4BR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,CAAC,EAAE,MAAM,EAAE,EACX,CAAC,EAAE,MAAM,EAAE,EACX,OAAO,GAAE,MAAwB,EACjC,IAAI,CAAC,EAAE,MAAM,GACZ,MAAM,CA4DR"}
|
package/dist/estimators.js
CHANGED
|
@@ -15,6 +15,8 @@ exports.shiftBounds = shiftBounds;
|
|
|
15
15
|
exports.ratioBounds = ratioBounds;
|
|
16
16
|
exports.centerBounds = centerBounds;
|
|
17
17
|
exports.spreadBounds = spreadBounds;
|
|
18
|
+
exports.avgSpreadBounds = avgSpreadBounds;
|
|
19
|
+
exports.disparityBounds = disparityBounds;
|
|
18
20
|
const fastCenter_1 = require("./fastCenter");
|
|
19
21
|
const fastSpread_1 = require("./fastSpread");
|
|
20
22
|
const fastShift_1 = require("./fastShift");
|
|
@@ -57,6 +59,8 @@ function spread(x) {
|
|
|
57
59
|
/**
|
|
58
60
|
* Calculate the RelSpread - ratio of Spread to absolute Center
|
|
59
61
|
*
|
|
62
|
+
* @deprecated Use `spread(x) / Math.abs(center(x))` instead.
|
|
63
|
+
*
|
|
60
64
|
* Assumptions:
|
|
61
65
|
* positivity(x) - all values must be strictly positive (ensures Center > 0)
|
|
62
66
|
*
|
|
@@ -121,6 +125,7 @@ function ratio(x, y) {
|
|
|
121
125
|
* sparity(x) - first sample must be non tie-dominant (Spread > 0)
|
|
122
126
|
* sparity(y) - second sample must be non tie-dominant (Spread > 0)
|
|
123
127
|
*
|
|
128
|
+
* @internal
|
|
124
129
|
* @param x First sample
|
|
125
130
|
* @param y Second sample
|
|
126
131
|
* @returns The combined spread estimate
|
|
@@ -336,4 +341,114 @@ function spreadBounds(x, misrate = exports.DEFAULT_MISRATE, seed) {
|
|
|
336
341
|
diffs.sort((a, b) => a - b);
|
|
337
342
|
return { lower: diffs[kLeft - 1], upper: diffs[kRight - 1] };
|
|
338
343
|
}
|
|
344
|
+
/**
|
|
345
|
+
* Provides distribution-free bounds for AvgSpread using Bonferroni combination.
|
|
346
|
+
*
|
|
347
|
+
* @internal
|
|
348
|
+
* @param x First sample array
|
|
349
|
+
* @param y Second sample array
|
|
350
|
+
* @param misrate Misclassification rate (probability that true avg_spread falls outside bounds)
|
|
351
|
+
* @param seed Optional string seed for deterministic randomization
|
|
352
|
+
* @returns An object containing the lower and upper bounds
|
|
353
|
+
* @throws AssumptionError if input is invalid, misrate is out of domain, or sample is tie-dominant
|
|
354
|
+
*/
|
|
355
|
+
function avgSpreadBounds(x, y, misrate = exports.DEFAULT_MISRATE, seed) {
|
|
356
|
+
(0, assumptions_1.checkValidity)(x, 'x');
|
|
357
|
+
(0, assumptions_1.checkValidity)(y, 'y');
|
|
358
|
+
if (isNaN(misrate) || misrate < 0 || misrate > 1)
|
|
359
|
+
throw assumptions_1.AssumptionError.domain('misrate');
|
|
360
|
+
const n = x.length;
|
|
361
|
+
const m = y.length;
|
|
362
|
+
if (n < 2)
|
|
363
|
+
throw assumptions_1.AssumptionError.domain('x');
|
|
364
|
+
if (m < 2)
|
|
365
|
+
throw assumptions_1.AssumptionError.domain('y');
|
|
366
|
+
const alpha = misrate / 2;
|
|
367
|
+
const minX = (0, minMisrate_1.minAchievableMisrateOneSample)(Math.floor(n / 2));
|
|
368
|
+
const minY = (0, minMisrate_1.minAchievableMisrateOneSample)(Math.floor(m / 2));
|
|
369
|
+
if (alpha < minX || alpha < minY)
|
|
370
|
+
throw assumptions_1.AssumptionError.domain('misrate');
|
|
371
|
+
(0, assumptions_1.checkSparity)(x, 'x');
|
|
372
|
+
(0, assumptions_1.checkSparity)(y, 'y');
|
|
373
|
+
const boundsX = spreadBounds(x, alpha, seed);
|
|
374
|
+
const boundsY = spreadBounds(y, alpha, seed);
|
|
375
|
+
const weightX = n / (n + m);
|
|
376
|
+
const weightY = m / (n + m);
|
|
377
|
+
return {
|
|
378
|
+
lower: weightX * boundsX.lower + weightY * boundsY.lower,
|
|
379
|
+
upper: weightX * boundsX.upper + weightY * boundsY.upper,
|
|
380
|
+
};
|
|
381
|
+
}
|
|
382
|
+
/**
|
|
383
|
+
* Provides distribution-free bounds for the Disparity estimator (Shift / AvgSpread)
|
|
384
|
+
* using Bonferroni combination of ShiftBounds and AvgSpreadBounds.
|
|
385
|
+
*
|
|
386
|
+
* @param x First sample
|
|
387
|
+
* @param y Second sample
|
|
388
|
+
* @param misrate Misclassification rate
|
|
389
|
+
* @param seed Optional string seed for deterministic randomization
|
|
390
|
+
* @returns An object containing the lower and upper bounds
|
|
391
|
+
* @throws AssumptionError if inputs are invalid, misrate is out of domain, or samples are tie-dominant
|
|
392
|
+
*/
|
|
393
|
+
function disparityBounds(x, y, misrate = exports.DEFAULT_MISRATE, seed) {
|
|
394
|
+
// Check validity (priority 0)
|
|
395
|
+
(0, assumptions_1.checkValidity)(x, 'x');
|
|
396
|
+
(0, assumptions_1.checkValidity)(y, 'y');
|
|
397
|
+
if (isNaN(misrate) || misrate < 0 || misrate > 1)
|
|
398
|
+
throw assumptions_1.AssumptionError.domain('misrate');
|
|
399
|
+
const n = x.length;
|
|
400
|
+
const m = y.length;
|
|
401
|
+
if (n < 2)
|
|
402
|
+
throw assumptions_1.AssumptionError.domain('x');
|
|
403
|
+
if (m < 2)
|
|
404
|
+
throw assumptions_1.AssumptionError.domain('y');
|
|
405
|
+
const minShift = (0, minMisrate_1.minAchievableMisrateTwoSample)(n, m);
|
|
406
|
+
const minX = (0, minMisrate_1.minAchievableMisrateOneSample)(Math.floor(n / 2));
|
|
407
|
+
const minY = (0, minMisrate_1.minAchievableMisrateOneSample)(Math.floor(m / 2));
|
|
408
|
+
const minAvg = 2.0 * Math.max(minX, minY);
|
|
409
|
+
if (misrate < minShift + minAvg)
|
|
410
|
+
throw assumptions_1.AssumptionError.domain('misrate');
|
|
411
|
+
const extra = misrate - (minShift + minAvg);
|
|
412
|
+
const alphaShift = minShift + extra / 2.0;
|
|
413
|
+
const alphaAvg = minAvg + extra / 2.0;
|
|
414
|
+
// Check sparity (priority 2)
|
|
415
|
+
(0, assumptions_1.checkSparity)(x, 'x');
|
|
416
|
+
(0, assumptions_1.checkSparity)(y, 'y');
|
|
417
|
+
const sb = shiftBounds(x, y, alphaShift);
|
|
418
|
+
const ab = avgSpreadBounds(x, y, alphaAvg, seed);
|
|
419
|
+
const la = ab.lower;
|
|
420
|
+
const ua = ab.upper;
|
|
421
|
+
const ls = sb.lower;
|
|
422
|
+
const us = sb.upper;
|
|
423
|
+
if (la > 0.0) {
|
|
424
|
+
const r1 = ls / la;
|
|
425
|
+
const r2 = ls / ua;
|
|
426
|
+
const r3 = us / la;
|
|
427
|
+
const r4 = us / ua;
|
|
428
|
+
const lower = Math.min(r1, r2, r3, r4);
|
|
429
|
+
const upper = Math.max(r1, r2, r3, r4);
|
|
430
|
+
return { lower, upper };
|
|
431
|
+
}
|
|
432
|
+
if (ua <= 0.0) {
|
|
433
|
+
if (ls === 0.0 && us === 0.0)
|
|
434
|
+
return { lower: 0.0, upper: 0.0 };
|
|
435
|
+
if (ls >= 0.0)
|
|
436
|
+
return { lower: 0.0, upper: Infinity };
|
|
437
|
+
if (us <= 0.0)
|
|
438
|
+
return { lower: -Infinity, upper: 0.0 };
|
|
439
|
+
return { lower: -Infinity, upper: Infinity };
|
|
440
|
+
}
|
|
441
|
+
// Default: ua > 0 && la <= 0
|
|
442
|
+
if (ls > 0.0)
|
|
443
|
+
return { lower: ls / ua, upper: Infinity };
|
|
444
|
+
if (us < 0.0)
|
|
445
|
+
return { lower: -Infinity, upper: us / ua };
|
|
446
|
+
if (ls === 0.0 && us === 0.0)
|
|
447
|
+
return { lower: 0.0, upper: 0.0 };
|
|
448
|
+
if (ls === 0.0 && us > 0.0)
|
|
449
|
+
return { lower: 0.0, upper: Infinity };
|
|
450
|
+
if (ls < 0.0 && us === 0.0)
|
|
451
|
+
return { lower: -Infinity, upper: 0.0 };
|
|
452
|
+
return { lower: -Infinity, upper: Infinity };
|
|
453
|
+
}
|
|
339
454
|
//# sourceMappingURL=estimators.js.map
|
package/dist/estimators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"estimators.js","sourceRoot":"","sources":["../src/estimators.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"estimators.js","sourceRoot":"","sources":["../src/estimators.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* A collection of robust statistical estimators for real-world data analysis.
|
|
5
5
|
*/
|
|
6
6
|
export { AssumptionId, AssumptionError, type Subject, type Violation } from './assumptions';
|
|
7
|
-
export { DEFAULT_MISRATE, center, spread, relSpread, shift, ratio,
|
|
7
|
+
export { DEFAULT_MISRATE, center, spread, relSpread, shift, ratio, disparity, shiftBounds, ratioBounds, centerBounds, spreadBounds, disparityBounds, type Bounds, } from './estimators';
|
|
8
8
|
export { Rng } from './rng';
|
|
9
9
|
export { type Distribution, Uniform, Additive, Multiplic, Exp, Power } from './distributions/index';
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAG5F,OAAO,EACL,eAAe,EACf,MAAM,EACN,MAAM,EACN,SAAS,EACT,KAAK,EACL,KAAK,EACL,SAAS,EACT,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAG5F,OAAO,EACL,eAAe,EACf,MAAM,EACN,MAAM,EACN,SAAS,EACT,KAAK,EACL,KAAK,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,KAAK,MAAM,GACZ,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,EAAE,KAAK,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* A collection of robust statistical estimators for real-world data analysis.
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.Power = exports.Exp = exports.Multiplic = exports.Additive = exports.Uniform = exports.Rng = exports.spreadBounds = exports.centerBounds = exports.ratioBounds = exports.shiftBounds = exports.disparity = exports.
|
|
8
|
+
exports.Power = exports.Exp = exports.Multiplic = exports.Additive = exports.Uniform = exports.Rng = exports.disparityBounds = exports.spreadBounds = exports.centerBounds = exports.ratioBounds = exports.shiftBounds = exports.disparity = exports.ratio = exports.shift = exports.relSpread = exports.spread = exports.center = exports.DEFAULT_MISRATE = exports.AssumptionError = exports.AssumptionId = void 0;
|
|
9
9
|
// Assumptions
|
|
10
10
|
var assumptions_1 = require("./assumptions");
|
|
11
11
|
Object.defineProperty(exports, "AssumptionId", { enumerable: true, get: function () { return assumptions_1.AssumptionId; } });
|
|
@@ -18,12 +18,12 @@ Object.defineProperty(exports, "spread", { enumerable: true, get: function () {
|
|
|
18
18
|
Object.defineProperty(exports, "relSpread", { enumerable: true, get: function () { return estimators_1.relSpread; } });
|
|
19
19
|
Object.defineProperty(exports, "shift", { enumerable: true, get: function () { return estimators_1.shift; } });
|
|
20
20
|
Object.defineProperty(exports, "ratio", { enumerable: true, get: function () { return estimators_1.ratio; } });
|
|
21
|
-
Object.defineProperty(exports, "avgSpread", { enumerable: true, get: function () { return estimators_1.avgSpread; } });
|
|
22
21
|
Object.defineProperty(exports, "disparity", { enumerable: true, get: function () { return estimators_1.disparity; } });
|
|
23
22
|
Object.defineProperty(exports, "shiftBounds", { enumerable: true, get: function () { return estimators_1.shiftBounds; } });
|
|
24
23
|
Object.defineProperty(exports, "ratioBounds", { enumerable: true, get: function () { return estimators_1.ratioBounds; } });
|
|
25
24
|
Object.defineProperty(exports, "centerBounds", { enumerable: true, get: function () { return estimators_1.centerBounds; } });
|
|
26
25
|
Object.defineProperty(exports, "spreadBounds", { enumerable: true, get: function () { return estimators_1.spreadBounds; } });
|
|
26
|
+
Object.defineProperty(exports, "disparityBounds", { enumerable: true, get: function () { return estimators_1.disparityBounds; } });
|
|
27
27
|
var rng_1 = require("./rng");
|
|
28
28
|
Object.defineProperty(exports, "Rng", { enumerable: true, get: function () { return rng_1.Rng; } });
|
|
29
29
|
var index_1 = require("./distributions/index");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,cAAc;AACd,6CAA4F;AAAnF,2GAAA,YAAY,OAAA;AAAE,8GAAA,eAAe,OAAA;AAEtC,aAAa;AACb,2CAcsB;AAbpB,6GAAA,eAAe,OAAA;AACf,oGAAA,MAAM,OAAA;AACN,oGAAA,MAAM,OAAA;AACN,uGAAA,SAAS,OAAA;AACT,mGAAA,KAAK,OAAA;AACL,mGAAA,KAAK,OAAA;AACL,uGAAA,SAAS,OAAA;AACT,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,cAAc;AACd,6CAA4F;AAAnF,2GAAA,YAAY,OAAA;AAAE,8GAAA,eAAe,OAAA;AAEtC,aAAa;AACb,2CAcsB;AAbpB,6GAAA,eAAe,OAAA;AACf,oGAAA,MAAM,OAAA;AACN,oGAAA,MAAM,OAAA;AACN,uGAAA,SAAS,OAAA;AACT,mGAAA,KAAK,OAAA;AACL,mGAAA,KAAK,OAAA;AACL,uGAAA,SAAS,OAAA;AACT,yGAAA,WAAW,OAAA;AACX,yGAAA,WAAW,OAAA;AACX,0GAAA,YAAY,OAAA;AACZ,0GAAA,YAAY,OAAA;AACZ,6GAAA,eAAe,OAAA;AAIjB,6BAA4B;AAAnB,0FAAA,GAAG,OAAA;AAEZ,+CAAoG;AAAxE,gGAAA,OAAO,OAAA;AAAE,iGAAA,QAAQ,OAAA;AAAE,kGAAA,SAAS,OAAA;AAAE,4FAAA,GAAG,OAAA;AAAE,8FAAA,KAAK,OAAA"}
|
package/dist/rng.d.ts
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* @example
|
|
14
14
|
* // Create from string seed
|
|
15
15
|
* const rng = new Rng("demo-uniform");
|
|
16
|
-
* const value = rng.
|
|
16
|
+
* const value = rng.uniformFloat();
|
|
17
17
|
*
|
|
18
18
|
* @example
|
|
19
19
|
* // Shuffle an array
|
|
@@ -42,7 +42,7 @@ export declare class Rng {
|
|
|
42
42
|
*
|
|
43
43
|
* @returns Random value in [0, 1).
|
|
44
44
|
*/
|
|
45
|
-
|
|
45
|
+
uniformFloat(): number;
|
|
46
46
|
/**
|
|
47
47
|
* Generate a uniform random float in [min, max).
|
|
48
48
|
*
|
|
@@ -50,7 +50,7 @@ export declare class Rng {
|
|
|
50
50
|
* @param max - Maximum value (exclusive).
|
|
51
51
|
* @returns Random value in [min, max). Returns min if min >= max.
|
|
52
52
|
*/
|
|
53
|
-
|
|
53
|
+
uniformFloatRange(min: number, max: number): number;
|
|
54
54
|
/**
|
|
55
55
|
* Generate a uniform random integer in [min, max).
|
|
56
56
|
*
|
|
@@ -81,16 +81,6 @@ export declare class Rng {
|
|
|
81
81
|
* @returns Random boolean value.
|
|
82
82
|
*/
|
|
83
83
|
uniformBool(): boolean;
|
|
84
|
-
/**
|
|
85
|
-
* Return a shuffled copy of the input array.
|
|
86
|
-
*
|
|
87
|
-
* Uses the Fisher-Yates shuffle algorithm for uniform distribution.
|
|
88
|
-
* The original array is not modified.
|
|
89
|
-
*
|
|
90
|
-
* @param x - Input array to shuffle.
|
|
91
|
-
* @returns Shuffled copy of the input.
|
|
92
|
-
*/
|
|
93
|
-
shuffle<T>(x: T[]): T[];
|
|
94
84
|
/**
|
|
95
85
|
* Sample k elements from the input array without replacement.
|
|
96
86
|
*
|
|
@@ -98,9 +88,9 @@ export declare class Rng {
|
|
|
98
88
|
* Returns up to k elements; if k >= x.length, returns all elements.
|
|
99
89
|
*
|
|
100
90
|
* @param x - Input array to sample from.
|
|
101
|
-
* @param k - Number of elements to sample. Must be
|
|
91
|
+
* @param k - Number of elements to sample. Must be positive.
|
|
102
92
|
* @returns Array of k sampled elements.
|
|
103
|
-
* @throws Error if k is
|
|
93
|
+
* @throws Error if k is not positive.
|
|
104
94
|
*/
|
|
105
95
|
sample<T>(x: T[], k: number): T[];
|
|
106
96
|
/**
|
|
@@ -109,10 +99,20 @@ export declare class Rng {
|
|
|
109
99
|
* Each element in the result is independently drawn from the input array.
|
|
110
100
|
*
|
|
111
101
|
* @param x - Input array to sample from.
|
|
112
|
-
* @param k - Number of elements to sample. Must be
|
|
102
|
+
* @param k - Number of elements to sample. Must be positive.
|
|
113
103
|
* @returns Array of k sampled elements with replacement.
|
|
114
|
-
* @throws Error if k is
|
|
104
|
+
* @throws Error if k is not positive.
|
|
115
105
|
*/
|
|
116
106
|
resample<T>(x: T[], k: number): T[];
|
|
107
|
+
/**
|
|
108
|
+
* Return a shuffled copy of the input array.
|
|
109
|
+
*
|
|
110
|
+
* Uses the Fisher-Yates shuffle algorithm for uniform distribution.
|
|
111
|
+
* The original array is not modified.
|
|
112
|
+
*
|
|
113
|
+
* @param x - Input array to shuffle.
|
|
114
|
+
* @returns Shuffled copy of the input.
|
|
115
|
+
*/
|
|
116
|
+
shuffle<T>(x: T[]): T[];
|
|
117
117
|
}
|
|
118
118
|
//# sourceMappingURL=rng.d.ts.map
|
package/dist/rng.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rng.d.ts","sourceRoot":"","sources":["../src/rng.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,GAAG;IACd,OAAO,CAAC,KAAK,CAAqB;IAElC;;;;;;OAMG;gBACS,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"rng.d.ts","sourceRoot":"","sources":["../src/rng.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,GAAG;IACd,OAAO,CAAC,KAAK,CAAqB;IAElC;;;;;;OAMG;gBACS,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM;IAqBlC;;;;;;OAMG;IACH,YAAY,IAAI,MAAM;IAItB;;;;;;OAMG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAQnD;;;;;;;;;;OAUG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAK5C;;;;;;;;;;OAUG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAQ/C;;;;OAIG;IACH,WAAW,IAAI,OAAO;IAItB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE;IA2BjC;;;;;;;;;OASG;IACH,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE;IAiBnC;;;;;;;;OAQG;IACH,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE;CAexB"}
|
package/dist/rng.js
CHANGED
|
@@ -17,7 +17,7 @@ const xoshiro256_1 = require("./xoshiro256");
|
|
|
17
17
|
* @example
|
|
18
18
|
* // Create from string seed
|
|
19
19
|
* const rng = new Rng("demo-uniform");
|
|
20
|
-
* const value = rng.
|
|
20
|
+
* const value = rng.uniformFloat();
|
|
21
21
|
*
|
|
22
22
|
* @example
|
|
23
23
|
* // Shuffle an array
|
|
@@ -46,7 +46,9 @@ class Rng {
|
|
|
46
46
|
seedBigInt = (0, xoshiro256_1.fnv1aHash)(seed);
|
|
47
47
|
}
|
|
48
48
|
else {
|
|
49
|
-
// Convert number to bigint, handling negative numbers via two's complement
|
|
49
|
+
// Convert number to bigint, handling negative numbers via two's complement.
|
|
50
|
+
// Note: Number seeds > 2^53 lose precision in the Number→BigInt conversion;
|
|
51
|
+
// use a string seed or BigInt literal for large integer seeds.
|
|
50
52
|
seedBigInt = BigInt.asIntN(64, BigInt(seed));
|
|
51
53
|
}
|
|
52
54
|
this.inner = new xoshiro256_1.Xoshiro256PlusPlus(seedBigInt);
|
|
@@ -61,8 +63,8 @@ class Rng {
|
|
|
61
63
|
*
|
|
62
64
|
* @returns Random value in [0, 1).
|
|
63
65
|
*/
|
|
64
|
-
|
|
65
|
-
return this.inner.
|
|
66
|
+
uniformFloat() {
|
|
67
|
+
return this.inner.uniformFloat();
|
|
66
68
|
}
|
|
67
69
|
/**
|
|
68
70
|
* Generate a uniform random float in [min, max).
|
|
@@ -71,8 +73,8 @@ class Rng {
|
|
|
71
73
|
* @param max - Maximum value (exclusive).
|
|
72
74
|
* @returns Random value in [min, max). Returns min if min >= max.
|
|
73
75
|
*/
|
|
74
|
-
|
|
75
|
-
return this.inner.
|
|
76
|
+
uniformFloatRange(min, max) {
|
|
77
|
+
return this.inner.uniformFloatRange(min, max);
|
|
76
78
|
}
|
|
77
79
|
// ========================================================================
|
|
78
80
|
// Integer Methods
|
|
@@ -117,25 +119,6 @@ class Rng {
|
|
|
117
119
|
uniformBool() {
|
|
118
120
|
return this.inner.uniformBool();
|
|
119
121
|
}
|
|
120
|
-
/**
|
|
121
|
-
* Return a shuffled copy of the input array.
|
|
122
|
-
*
|
|
123
|
-
* Uses the Fisher-Yates shuffle algorithm for uniform distribution.
|
|
124
|
-
* The original array is not modified.
|
|
125
|
-
*
|
|
126
|
-
* @param x - Input array to shuffle.
|
|
127
|
-
* @returns Shuffled copy of the input.
|
|
128
|
-
*/
|
|
129
|
-
shuffle(x) {
|
|
130
|
-
const result = [...x];
|
|
131
|
-
const n = result.length;
|
|
132
|
-
// Fisher-Yates shuffle (backwards)
|
|
133
|
-
for (let i = n - 1; i > 0; i--) {
|
|
134
|
-
const j = this.uniformInt(0, i + 1);
|
|
135
|
-
[result[i], result[j]] = [result[j], result[i]];
|
|
136
|
-
}
|
|
137
|
-
return result;
|
|
138
|
-
}
|
|
139
122
|
/**
|
|
140
123
|
* Sample k elements from the input array without replacement.
|
|
141
124
|
*
|
|
@@ -143,13 +126,16 @@ class Rng {
|
|
|
143
126
|
* Returns up to k elements; if k >= x.length, returns all elements.
|
|
144
127
|
*
|
|
145
128
|
* @param x - Input array to sample from.
|
|
146
|
-
* @param k - Number of elements to sample. Must be
|
|
129
|
+
* @param k - Number of elements to sample. Must be positive.
|
|
147
130
|
* @returns Array of k sampled elements.
|
|
148
|
-
* @throws Error if k is
|
|
131
|
+
* @throws Error if k is not positive.
|
|
149
132
|
*/
|
|
150
133
|
sample(x, k) {
|
|
151
|
-
if (k
|
|
152
|
-
throw new Error('sample: k must be
|
|
134
|
+
if (k <= 0) {
|
|
135
|
+
throw new Error('sample: k must be positive');
|
|
136
|
+
}
|
|
137
|
+
if (x.length === 0) {
|
|
138
|
+
throw new Error('sample: cannot sample from empty array');
|
|
153
139
|
}
|
|
154
140
|
const n = x.length;
|
|
155
141
|
if (k >= n) {
|
|
@@ -160,7 +146,7 @@ class Rng {
|
|
|
160
146
|
for (let i = 0; i < n && remaining > 0; i++) {
|
|
161
147
|
const available = n - i;
|
|
162
148
|
// Probability of selecting this item: remaining / available
|
|
163
|
-
if (this.
|
|
149
|
+
if (this.uniformFloat() * available < remaining) {
|
|
164
150
|
result.push(x[i]);
|
|
165
151
|
remaining--;
|
|
166
152
|
}
|
|
@@ -173,13 +159,13 @@ class Rng {
|
|
|
173
159
|
* Each element in the result is independently drawn from the input array.
|
|
174
160
|
*
|
|
175
161
|
* @param x - Input array to sample from.
|
|
176
|
-
* @param k - Number of elements to sample. Must be
|
|
162
|
+
* @param k - Number of elements to sample. Must be positive.
|
|
177
163
|
* @returns Array of k sampled elements with replacement.
|
|
178
|
-
* @throws Error if k is
|
|
164
|
+
* @throws Error if k is not positive.
|
|
179
165
|
*/
|
|
180
166
|
resample(x, k) {
|
|
181
|
-
if (k
|
|
182
|
-
throw new Error('resample: k must be
|
|
167
|
+
if (k <= 0) {
|
|
168
|
+
throw new Error('resample: k must be positive');
|
|
183
169
|
}
|
|
184
170
|
const n = x.length;
|
|
185
171
|
if (n === 0) {
|
|
@@ -192,6 +178,28 @@ class Rng {
|
|
|
192
178
|
}
|
|
193
179
|
return result;
|
|
194
180
|
}
|
|
181
|
+
/**
|
|
182
|
+
* Return a shuffled copy of the input array.
|
|
183
|
+
*
|
|
184
|
+
* Uses the Fisher-Yates shuffle algorithm for uniform distribution.
|
|
185
|
+
* The original array is not modified.
|
|
186
|
+
*
|
|
187
|
+
* @param x - Input array to shuffle.
|
|
188
|
+
* @returns Shuffled copy of the input.
|
|
189
|
+
*/
|
|
190
|
+
shuffle(x) {
|
|
191
|
+
if (x.length === 0) {
|
|
192
|
+
throw new Error('shuffle: cannot shuffle empty array');
|
|
193
|
+
}
|
|
194
|
+
const result = [...x];
|
|
195
|
+
const n = result.length;
|
|
196
|
+
// Fisher-Yates shuffle (backwards)
|
|
197
|
+
for (let i = n - 1; i > 0; i--) {
|
|
198
|
+
const j = this.uniformInt(0, i + 1);
|
|
199
|
+
[result[i], result[j]] = [result[j], result[i]];
|
|
200
|
+
}
|
|
201
|
+
return result;
|
|
202
|
+
}
|
|
195
203
|
}
|
|
196
204
|
exports.Rng = Rng;
|
|
197
205
|
//# sourceMappingURL=rng.js.map
|
package/dist/rng.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rng.js","sourceRoot":"","sources":["../src/rng.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,6CAA6D;AAE7D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAa,GAAG;IAGd;;;;;;OAMG;IACH,YAAY,IAAsB;QAChC,IAAI,UAAkB,CAAC;QAEvB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,UAAU,GAAG,IAAA,sBAAS,EAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,
|
|
1
|
+
{"version":3,"file":"rng.js","sourceRoot":"","sources":["../src/rng.ts"],"names":[],"mappings":"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"}
|
package/dist/signMargin.js
CHANGED
|
@@ -24,7 +24,7 @@ function signMarginRandomized(n, misrate, rng) {
|
|
|
24
24
|
const logNum = logTarget > logCdfLow ? logSubExp(logTarget, logCdfLow) : -Infinity;
|
|
25
25
|
let p = isFinite(logPmfHigh) && isFinite(logNum) ? Math.exp(logNum - logPmfHigh) : 0;
|
|
26
26
|
p = Math.max(0, Math.min(1, p));
|
|
27
|
-
const u = rng.
|
|
27
|
+
const u = rng.uniformFloat();
|
|
28
28
|
const r = u < p ? rLow + 1 : rLow;
|
|
29
29
|
return r * 2;
|
|
30
30
|
}
|
package/dist/signMargin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signMargin.js","sourceRoot":"","sources":["../src/signMargin.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAMH,oDAoBC;AAxBD,6CAA6D;AAC7D,+CAAgD;AAGhD,SAAgB,oBAAoB,CAAC,CAAS,EAAE,OAAe,EAAE,GAAQ;IACvE,IAAI,CAAC,IAAI,CAAC;QAAE,MAAM,6BAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC;QAAE,MAAM,6BAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1F,MAAM,UAAU,GAAG,IAAA,0CAA6B,EAAC,CAAC,CAAC,CAAC;IACpD,IAAI,OAAO,GAAG,UAAU;QAAE,MAAM,6BAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAElE,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,CAAC;IAC3B,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAC1B,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAE9B,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEnF,IAAI,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEhC,MAAM,CAAC,GAAG,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"signMargin.js","sourceRoot":"","sources":["../src/signMargin.ts"],"names":[],"mappings":"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"}
|
package/dist/xoshiro256.d.ts
CHANGED
|
@@ -10,22 +10,26 @@
|
|
|
10
10
|
*
|
|
11
11
|
* This is the jump-free version of the algorithm. It passes BigCrush
|
|
12
12
|
* and is used by .NET 6+, Julia, and Rust's rand crate.
|
|
13
|
+
*
|
|
14
|
+
* @internal Not part of the public API — use {@link Rng} instead.
|
|
13
15
|
*/
|
|
14
16
|
export declare class Xoshiro256PlusPlus {
|
|
15
17
|
private state;
|
|
16
18
|
constructor(seed: bigint);
|
|
17
19
|
nextU64(): bigint;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
uniformFloat(): number;
|
|
21
|
+
uniformFloatRange(min: number, max: number): number;
|
|
20
22
|
/**
|
|
21
23
|
* Generate a uniform integer in [min, max).
|
|
22
|
-
* @throws RangeError if max - min exceeds
|
|
24
|
+
* @throws RangeError if max - min exceeds u64 range.
|
|
23
25
|
*/
|
|
24
26
|
uniformInt(min: bigint, max: bigint): bigint;
|
|
25
27
|
uniformBool(): boolean;
|
|
26
28
|
}
|
|
27
29
|
/**
|
|
28
|
-
* Compute FNV-1a 64-bit hash of a string
|
|
30
|
+
* Compute FNV-1a 64-bit hash of a string.
|
|
31
|
+
*
|
|
32
|
+
* @internal Not part of the public API — used by {@link Rng} for string seeds.
|
|
29
33
|
*/
|
|
30
34
|
export declare function fnv1aHash(s: string): bigint;
|
|
31
35
|
//# sourceMappingURL=xoshiro256.d.ts.map
|
package/dist/xoshiro256.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xoshiro256.d.ts","sourceRoot":"","sources":["../src/xoshiro256.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA2BH
|
|
1
|
+
{"version":3,"file":"xoshiro256.d.ts","sourceRoot":"","sources":["../src/xoshiro256.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA2BH;;;;;;;GAOG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,KAAK,CAAmC;gBAEpC,IAAI,EAAE,MAAM;IAKxB,OAAO,IAAI,MAAM;IAqBjB,YAAY,IAAI,MAAM;IAQtB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IASnD;;;OAGG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAe5C,WAAW,IAAI,OAAO;CAGvB;AAMD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAW3C"}
|
package/dist/xoshiro256.js
CHANGED
|
@@ -33,6 +33,8 @@ class SplitMix64 {
|
|
|
33
33
|
*
|
|
34
34
|
* This is the jump-free version of the algorithm. It passes BigCrush
|
|
35
35
|
* and is used by .NET 6+, Julia, and Rust's rand crate.
|
|
36
|
+
*
|
|
37
|
+
* @internal Not part of the public API — use {@link Rng} instead.
|
|
36
38
|
*/
|
|
37
39
|
class Xoshiro256PlusPlus {
|
|
38
40
|
constructor(seed) {
|
|
@@ -54,31 +56,32 @@ class Xoshiro256PlusPlus {
|
|
|
54
56
|
// ========================================================================
|
|
55
57
|
// Floating Point Methods
|
|
56
58
|
// ========================================================================
|
|
57
|
-
|
|
59
|
+
uniformFloat() {
|
|
58
60
|
// Use upper 53 bits for maximum precision in float64
|
|
59
61
|
const u64 = this.nextU64();
|
|
60
62
|
return Number(u64 >> 11n) * (1.0 / Number(1n << 53n));
|
|
61
63
|
}
|
|
62
|
-
|
|
64
|
+
// Note: FP rounding in min + (max-min)*u can theoretically yield max
|
|
65
|
+
// for extreme values of (max-min). Acceptable for statistical use.
|
|
66
|
+
uniformFloatRange(min, max) {
|
|
63
67
|
if (min >= max)
|
|
64
68
|
return min;
|
|
65
|
-
return min + (max - min) * this.
|
|
69
|
+
return min + (max - min) * this.uniformFloat();
|
|
66
70
|
}
|
|
67
71
|
// ========================================================================
|
|
68
72
|
// Integer Methods
|
|
69
73
|
// ========================================================================
|
|
70
74
|
/**
|
|
71
75
|
* Generate a uniform integer in [min, max).
|
|
72
|
-
* @throws RangeError if max - min exceeds
|
|
76
|
+
* @throws RangeError if max - min exceeds u64 range.
|
|
73
77
|
*/
|
|
74
78
|
uniformInt(min, max) {
|
|
75
79
|
if (min >= max) {
|
|
76
80
|
return min;
|
|
77
81
|
}
|
|
78
82
|
const range = max - min;
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
throw new RangeError('uniform_int: range overflow (max - min exceeds i64)');
|
|
83
|
+
if (range > 0xffffffffffffffffn) {
|
|
84
|
+
throw new RangeError('uniform_int: range overflow (max - min exceeds u64)');
|
|
82
85
|
}
|
|
83
86
|
return min + (this.nextU64() % range);
|
|
84
87
|
}
|
|
@@ -86,7 +89,7 @@ class Xoshiro256PlusPlus {
|
|
|
86
89
|
// Boolean Methods
|
|
87
90
|
// ========================================================================
|
|
88
91
|
uniformBool() {
|
|
89
|
-
return this.
|
|
92
|
+
return this.uniformFloat() < 0.5;
|
|
90
93
|
}
|
|
91
94
|
}
|
|
92
95
|
exports.Xoshiro256PlusPlus = Xoshiro256PlusPlus;
|
|
@@ -94,7 +97,9 @@ exports.Xoshiro256PlusPlus = Xoshiro256PlusPlus;
|
|
|
94
97
|
const FNV_OFFSET_BASIS = 0xcbf29ce484222325n;
|
|
95
98
|
const FNV_PRIME = 0x00000100000001b3n;
|
|
96
99
|
/**
|
|
97
|
-
* Compute FNV-1a 64-bit hash of a string
|
|
100
|
+
* Compute FNV-1a 64-bit hash of a string.
|
|
101
|
+
*
|
|
102
|
+
* @internal Not part of the public API — used by {@link Rng} for string seeds.
|
|
98
103
|
*/
|
|
99
104
|
function fnv1aHash(s) {
|
|
100
105
|
let hash = FNV_OFFSET_BASIS;
|
package/dist/xoshiro256.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xoshiro256.js","sourceRoot":"","sources":["../src/xoshiro256.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;
|
|
1
|
+
{"version":3,"file":"xoshiro256.js","sourceRoot":"","sources":["../src/xoshiro256.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAkHH,8BAWC;AA3HD,MAAM,OAAO,GAAG,mBAAmB,CAAC;AAEpC,SAAS,IAAI,CAAC,CAAS,EAAE,CAAS;IAChC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU;IAGd,YAAY,IAAY;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC;IAC9B,CAAC;IAED,IAAI;QACF,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,mBAAmB,CAAC,GAAG,OAAO,CAAC;QAC1D,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACnB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,mBAAmB,CAAC,GAAG,OAAO,CAAC;QACvD,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,mBAAmB,CAAC,GAAG,OAAO,CAAC;QACvD,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;IACpC,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAa,kBAAkB;IAG7B,YAAY,IAAY;QACtB,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO;QACL,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACrB,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QAErE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC;QAElC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAEb,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACV,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAEvB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,2EAA2E;IAC3E,yBAAyB;IACzB,2EAA2E;IAE3E,YAAY;QACV,qDAAqD;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,qEAAqE;IACrE,mEAAmE;IACnE,iBAAiB,CAAC,GAAW,EAAE,GAAW;QACxC,IAAI,GAAG,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;QAC3B,OAAO,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACjD,CAAC;IAED,2EAA2E;IAC3E,kBAAkB;IAClB,2EAA2E;IAE3E;;;OAGG;IACH,UAAU,CAAC,GAAW,EAAE,GAAW;QACjC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;YACf,OAAO,GAAG,CAAC;QACb,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC;QACxB,IAAI,KAAK,GAAG,mBAAmB,EAAE,CAAC;YAChC,MAAM,IAAI,UAAU,CAAC,qDAAqD,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,2EAA2E;IAC3E,kBAAkB;IAClB,2EAA2E;IAE3E,WAAW;QACT,OAAO,IAAI,CAAC,YAAY,EAAE,GAAG,GAAG,CAAC;IACnC,CAAC;CACF;AApED,gDAoEC;AAED,wBAAwB;AACxB,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAC7C,MAAM,SAAS,GAAG,mBAAmB,CAAC;AAEtC;;;;GAIG;AACH,SAAgB,SAAS,CAAC,CAAS;IACjC,IAAI,IAAI,GAAG,gBAAgB,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAEhC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC;IACtC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|