@johnhenry/math 0.1.0 → 0.3.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.
Files changed (62) hide show
  1. package/README.md +5 -4
  2. package/dist/Distributions.d.ts +86 -16
  3. package/dist/Distributions.d.ts.map +1 -1
  4. package/dist/Distributions.js +340 -89
  5. package/dist/Distributions.js.map +1 -1
  6. package/dist/EigenGeneral.d.ts +22 -0
  7. package/dist/EigenGeneral.d.ts.map +1 -0
  8. package/dist/EigenGeneral.js +327 -0
  9. package/dist/EigenGeneral.js.map +1 -0
  10. package/dist/Frobenius.d.ts +60 -0
  11. package/dist/Frobenius.d.ts.map +1 -0
  12. package/dist/Frobenius.js +162 -0
  13. package/dist/Frobenius.js.map +1 -0
  14. package/dist/Graph.d.ts +26 -0
  15. package/dist/Graph.d.ts.map +1 -1
  16. package/dist/Graph.js +75 -0
  17. package/dist/Graph.js.map +1 -1
  18. package/dist/MatrixMath.d.ts +10 -0
  19. package/dist/MatrixMath.d.ts.map +1 -1
  20. package/dist/MatrixMath.js +11 -0
  21. package/dist/MatrixMath.js.map +1 -1
  22. package/dist/MonteCarlo.d.ts +106 -0
  23. package/dist/MonteCarlo.d.ts.map +1 -0
  24. package/dist/MonteCarlo.js +183 -0
  25. package/dist/MonteCarlo.js.map +1 -0
  26. package/dist/Random.d.ts +31 -0
  27. package/dist/Random.d.ts.map +1 -0
  28. package/dist/Random.js +95 -0
  29. package/dist/Random.js.map +1 -0
  30. package/dist/Regression.d.ts +114 -0
  31. package/dist/Regression.d.ts.map +1 -0
  32. package/dist/Regression.js +338 -0
  33. package/dist/Regression.js.map +1 -0
  34. package/dist/Shader.d.ts +41 -0
  35. package/dist/Shader.d.ts.map +1 -0
  36. package/dist/Shader.js +758 -0
  37. package/dist/Shader.js.map +1 -0
  38. package/dist/SpecialFunctions.d.ts +3 -3
  39. package/dist/SpecialFunctions.d.ts.map +1 -1
  40. package/dist/SpecialFunctions.js +61 -51
  41. package/dist/SpecialFunctions.js.map +1 -1
  42. package/dist/Symbolic.d.ts +12 -0
  43. package/dist/Symbolic.d.ts.map +1 -1
  44. package/dist/Symbolic.js +16 -0
  45. package/dist/Symbolic.js.map +1 -1
  46. package/dist/index.d.ts +7 -1
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +5 -0
  49. package/dist/index.js.map +1 -1
  50. package/package.json +1 -1
  51. package/src/Distributions.ts +391 -94
  52. package/src/EigenGeneral.ts +342 -0
  53. package/src/Frobenius.ts +203 -0
  54. package/src/Graph.ts +68 -0
  55. package/src/MatrixMath.ts +13 -0
  56. package/src/MonteCarlo.ts +257 -0
  57. package/src/Random.ts +104 -0
  58. package/src/Regression.ts +423 -0
  59. package/src/Shader.ts +837 -0
  60. package/src/SpecialFunctions.ts +52 -48
  61. package/src/Symbolic.ts +18 -0
  62. package/src/index.ts +34 -0
package/README.md CHANGED
@@ -138,17 +138,18 @@ Well beyond the original ActionScript scope, the library now spans:
138
138
 
139
139
  | Area | Module(s) | Highlights |
140
140
  |------|-----------|------------|
141
- | Numerical linear algebra | `MatrixMath` | LU, QR, Cholesky, symmetric eigen (Jacobi), SVD; `solve`, RREF, rank, null space, least squares, pseudo-inverse, norms, condition number |
142
- | Symbolic calculus | `Symbolic` | expression parser (41 unary elementary functions incl. inverse-trig, reciprocal-trig, hyperbolic/inverse-hyperbolic, `abs`/`log10`/`log2`/`cbrt`/`floor`/`ceil`/`round`/`sign`/`trunc`, and `expm1`/`log1p`/`sigmoid`/`erf`/`relu`, with `arcsin`/`logistic`-style aliases and `\|x\|` bar syntax, plus N-ary `atan2`/`hypot`/`min`/`max`/`gcd`/`lcm`, `log(base, x)`/`clamp(x, lo, hi)`, and `piecewise(cond, expr, ..., otherwise)` with `<`/`<=`/`>`/`>=`/`==`/`!=` comparisons), symbolic differentiation (incl. the multivariate chain rule for the N-ary functions and branch-wise piecewise differentiation) with a u-substitution fallback for `integrate`, algebraic simplification with like-term collection and constant-folding, elementary integration (incl. by-parts, arctan/arcsin forms, and u-substitution), `integrateDefinite` (closed-form first, adaptive-quadrature fallback), `sumSeries` (finite/infinite, closed-form geometric recognition + numeric fallback), Taylor series, `expand`/`substitute`, polynomial `solve`/`factor`, linear `solveSystem`, L'Hopital `limit` (incl. limits at infinity), LaTeX round-trip (`toLatex`/`fromLatex`, incl. `\operatorname{...}`, bracket notation for `abs`/`floor`/`ceil`/`cbrt`, and `\begin{cases}` for piecewise), `evaluateExact` (exact `Rational` evaluation), `evaluateOverStructure` (folds an `Expr` through an arbitrary `Structure`'s own algebra, e.g. for plotting over Z/7Z), and `freeVariables`/`assertVariables` (auto-detect an expression's variables, or opt into strict mode and throw `UndeclaredVariableError` instead of silently resolving an undeclared one to `NaN`) |
141
+ | Numerical linear algebra | `MatrixMath` | LU, QR, Cholesky, symmetric eigen (Jacobi), general eigen with complex eigenvalues/vectors (`MatrixMath.eigen`, Hessenberg + shifted QR), SVD; `solve`, RREF, rank, null space, least squares, pseudo-inverse, norms, condition number |
142
+ | Symbolic calculus | `Symbolic` | expression parser (41 unary elementary functions incl. inverse-trig, reciprocal-trig, hyperbolic/inverse-hyperbolic, `abs`/`log10`/`log2`/`cbrt`/`floor`/`ceil`/`round`/`sign`/`trunc`, and `expm1`/`log1p`/`sigmoid`/`erf`/`relu`, with `arcsin`/`logistic`-style aliases and `\|x\|` bar syntax, plus N-ary `atan2`/`hypot`/`min`/`max`/`gcd`/`lcm`, `log(base, x)`/`clamp(x, lo, hi)`, and `piecewise(cond, expr, ..., otherwise)` with `<`/`<=`/`>`/`>=`/`==`/`!=` comparisons), symbolic differentiation (incl. the multivariate chain rule for the N-ary functions and branch-wise piecewise differentiation) with a u-substitution fallback for `integrate`, algebraic simplification with like-term collection and constant-folding, elementary integration (incl. by-parts, arctan/arcsin forms, and u-substitution), `integrateDefinite` (closed-form first, adaptive-quadrature fallback), `sumSeries` (finite/infinite, closed-form geometric recognition + numeric fallback), Taylor series, `expand`/`substitute`, polynomial `solve`/`factor`, linear `solveSystem`, L'Hopital `limit` (incl. limits at infinity), LaTeX round-trip (`toLatex`/`fromLatex`, incl. `\operatorname{...}`, bracket notation for `abs`/`floor`/`ceil`/`cbrt`, and `\begin{cases}` for piecewise), `toGLSL`/`toWGSL` (compile an `Expr` to a GLSL ES 3.0 / WGSL expression over float or, with `{ complex: true }`, `vec2` complex numbers; deterministic output, unsupported nodes refused with `ShaderUnsupportedError`), `evaluateExact` (exact `Rational` evaluation), `evaluateOverStructure` (folds an `Expr` through an arbitrary `Structure`'s own algebra, e.g. for plotting over Z/7Z), and `freeVariables`/`assertVariables` (auto-detect an expression's variables, or opt into strict mode and throw `UndeclaredVariableError` instead of silently resolving an undeclared one to `NaN`) |
143
143
  | Number types | `Rational`, `Quaternion`, `DualNumber`, `Interval` | exact bigint rationals, 3D-rotation quaternions, forward-mode autodiff, rigorous interval arithmetic — each also a `Structure` preset |
144
144
  | 4D geometric algebra | `Vec4`, `Bivector4`, `Rotor4`, `GeometricAlgebra4` | a genuine fourth *spatial* dimension (not time): 4D vectors, 6-component bivectors (the 2-planes of 4D), and rotors that generalize `Quaternion` to 4D — including 4D-only **double rotations** (simultaneous, independent rotation in two orthogonal planes at once); built on an internal Cl(4,0) blade engine for correctness (verified against `Quaternion` on their shared 3D subspace). `GeometricAlgebra4` also has the `commutatorProduct` and `leftContraction` operations n-dimensional rigid-body dynamics needs (generalized Euler's equation, point velocity). `Rotor4.factor()`/`renormalize()` implement Perwass-style rotor factorization — the proper fix for numerical drift on a double rotation, where naive magnitude normalization silently produces an invalid rotor (verified against 200+ random plane orientations/angles, including the isoclinic and right-isoclinic degenerate cases) |
145
145
  | Number theory | `NumberTheory` | `bigint` modPow, extended GCD, CRT, Miller–Rabin, Pollard-rho factorization, Legendre/Jacobi |
146
146
  | Group theory | `GroupTheory` | Cayley tables, axiom checks, element order, generated subgroups, cosets, Lagrange, orbits, Sₙ/Zₙ |
147
147
  | Numerical methods | `Numerical` | bisection/secant/Newton/Brent; Simpson, adaptive Simpson, Gauss–Legendre; Euler & RK4 ODE solvers |
148
- | Probability & special functions | `SpecialFunctions`, `Distributions` | gamma/beta/erf, incomplete gamma/beta; normal/exponential/uniform/gamma/χ²/t/binomial/Poisson; t-tests, χ² GoF, CIs |
148
+ | Probability & special functions | `SpecialFunctions`, `Distributions` | gamma/beta/erf, incomplete gamma/beta; normal/exponential/uniform/gamma/χ²/t/F/binomial/Poisson with SciPy-style `pdf`/`cdf`/`sf`/`ppf`/`rvs`; one-sample, Welch, pooled and paired t-tests, χ² GoF and independence, CIs (goldens checked against SciPy 1.18) |
149
+ | Monte Carlo & regression | `Rng`, `MonteCarlo`, `Regression`, `Frobenius` helpers | seeded PCG32; π by darts, MC integration with error bands, CLT demo, random walks, bootstrap; Levenberg–Marquardt `leastSquares`/`curveFit` with robust losses, Huber line fit; `frobeniusNormalForm` (SCC block-triangular) and exact `rationalCanonicalForm` |
149
150
  | Signal processing | `FFT` | radix-2 FFT/IFFT, DFT, FFT convolution |
150
151
  | Computational geometry | `Geometry`, `Transform2D` | convex hull, predicates, point-in-polygon, 2D affine transforms |
151
- | Graph theory | `Graph` | BFS/DFS, Dijkstra, Kruskal MST, topological sort, components, Floyd–Warshall |
152
+ | Graph theory | `Graph` | BFS/DFS, Dijkstra, MST (`mst`: Kruskal or Prim, forests), strongly connected components (`scc`) and `condensation`, topological sort, components, Floyd–Warshall |
152
153
  | Counting mathematics | `Combinatorics` | `bigint` factorials, nCk/nPk, multinomial coefficients, Catalan/Stirling/Bell numbers, integer partitions, derangements |
153
154
  | Arbitrary precision | `Decimal` | `bigint`-backed decimal arithmetic — exact add/subtract/multiply, configurable-precision division; also a `Structure` preset |
154
155
  | Abstract algebra | `PolynomialRing` | polynomials over any `Structure` (finite fields, rationals, ...) — long division, monic GCD, Horner evaluation, derivative/antiderivative |
@@ -5,6 +5,10 @@
5
5
  * gamma/beta functions from {@link SpecialFunctions} rather than numeric
6
6
  * integration, so they are accurate in the tails.
7
7
  *
8
+ * Names follow SciPy (`pdf`/`pmf`, `cdf`, `sf`, `ppf`, `rvs`) with the
9
+ * `scipy.stats` parameterisations noted per factory, except where noted
10
+ * (`exponential` takes a *rate*, `gamma` a *scale*).
11
+ *
8
12
  * Every factory takes an optional trailing `rng: () => number` (default
9
13
  * `Math.random`), threaded through to every nested distribution it samples
10
14
  * from — pass a seeded generator to make `sample()` deterministic in tests.
@@ -12,44 +16,110 @@
12
16
  export interface ContinuousDistribution {
13
17
  pdf(x: number): number;
14
18
  cdf(x: number): number;
19
+ /** Survival function `1 - cdf(x)`, accurate in the upper tail. */
20
+ sf(x: number): number;
21
+ /** Percent-point function (inverse CDF) for `p` in `[0, 1]`. */
22
+ ppf(p: number): number;
23
+ /** Alias of {@link ppf}. */
24
+ quantile(p: number): number;
15
25
  mean(): number;
16
26
  variance(): number;
27
+ std(): number;
17
28
  sample(): number;
29
+ /** `n` independent draws (SciPy's `rvs(size=n)`). */
30
+ rvs(n: number): number[];
18
31
  }
19
32
  export interface DiscreteDistribution {
20
33
  pmf(k: number): number;
21
34
  cdf(k: number): number;
35
+ sf(k: number): number;
36
+ /** Smallest integer `k` with `cdf(k) >= p`. */
37
+ ppf(p: number): number;
38
+ quantile(p: number): number;
22
39
  mean(): number;
23
40
  variance(): number;
41
+ std(): number;
24
42
  sample(): number;
43
+ rvs(n: number): number[];
25
44
  }
45
+ type Rng = () => number;
26
46
  export declare class Distributions {
27
- /** The inverse standard-normal CDF (quantile / probit function). */
47
+ /** The inverse standard-normal CDF (quantile / probit function), to ~1e-15 after one Halley refinement. */
28
48
  static normalQuantile(p: number, mean?: number, sd?: number): number;
29
- static normal(mean?: number, sd?: number, rng?: () => number): ContinuousDistribution;
30
- static exponential(rate?: number, rng?: () => number): ContinuousDistribution;
31
- static uniform(a?: number, b?: number, rng?: () => number): ContinuousDistribution;
32
- static gamma(shape: number, scale?: number, rng?: () => number): ContinuousDistribution;
33
- static chiSquare(df: number, rng?: () => number): ContinuousDistribution;
34
- static studentT(df: number, rng?: () => number): ContinuousDistribution;
35
- static binomial(n: number, p: number, rng?: () => number): DiscreteDistribution;
36
- static poisson(lambda: number, rng?: () => number): DiscreteDistribution;
49
+ /** Normal(`mean`, `sd`) -- `scipy.stats.norm(loc=mean, scale=sd)`. */
50
+ static normal(mean?: number, sd?: number, rng?: Rng): ContinuousDistribution;
51
+ /** Exponential with the given `rate` -- `scipy.stats.expon(scale=1/rate)`. */
52
+ static exponential(rate?: number, rng?: Rng): ContinuousDistribution;
53
+ /** Uniform on `[a, b]` -- `scipy.stats.uniform(loc=a, scale=b-a)`. */
54
+ static uniform(a?: number, b?: number, rng?: Rng): ContinuousDistribution;
55
+ /** Gamma with `shape` and `scale` -- `scipy.stats.gamma(a=shape, scale=scale)`. */
56
+ static gamma(shape: number, scale?: number, rng?: Rng): ContinuousDistribution;
57
+ /** Chi-square with `df` degrees of freedom -- `scipy.stats.chi2(df)`. */
58
+ static chiSquare(df: number, rng?: Rng): ContinuousDistribution;
59
+ /** Student's t with `df` degrees of freedom -- `scipy.stats.t(df)`. */
60
+ static studentT(df: number, rng?: Rng): ContinuousDistribution;
61
+ /** Fisher-Snedecor F with numerator `d1` and denominator `d2` degrees of freedom -- `scipy.stats.f(d1, d2)`. */
62
+ static fisherF(d1: number, d2: number, rng?: Rng): ContinuousDistribution;
63
+ /** Binomial(`n`, `p`) -- `scipy.stats.binom(n, p)`. */
64
+ static binomial(n: number, p: number, rng?: Rng): DiscreteDistribution;
65
+ /** Poisson(`lambda`) -- `scipy.stats.poisson(mu=lambda)`. */
66
+ static poisson(lambda: number, rng?: Rng): DiscreteDistribution;
37
67
  /** Marsaglia-Tsang gamma sampler (shape ≥ 0). */
38
68
  private static sampleGamma;
39
69
  }
70
+ /** Result of a hypothesis test. `df` is `NaN` for tests without a single degrees-of-freedom value. */
40
71
  export interface TestResult {
41
72
  statistic: number;
42
73
  df: number;
43
74
  pValue: number;
44
75
  }
76
+ export type Alternative = "two-sided" | "less" | "greater";
77
+ export interface TTestOptions {
78
+ /** Alternative hypothesis (SciPy's `alternative`). Default `"two-sided"`. */
79
+ alternative?: Alternative;
80
+ }
81
+ export interface TTestIndependentOptions extends TTestOptions {
82
+ /** Pooled-variance Student test when true (SciPy's `ttest_ind` default), Welch's when false. Default `true`. */
83
+ equalVar?: boolean;
84
+ }
85
+ export interface ChiSquareIndependenceResult extends TestResult {
86
+ /** Expected frequencies under independence. */
87
+ expected: number[][];
88
+ }
45
89
  export declare class HypothesisTests {
46
- /** One-sample two-tailed Student t-test against a hypothesised mean `mu0`. */
47
- static tTestOneSample(sample: number[], mu0?: number): TestResult;
48
- /** Welch's two-sample t-test (unequal variances). */
49
- static tTestTwoSample(a: number[], b: number[]): TestResult;
50
- /** Pearson chi-square goodness-of-fit test. */
51
- static chiSquareGoodnessOfFit(observed: number[], expected: number[]): TestResult;
52
- /** Confidence interval for the mean of a sample at the given level (t-based). */
90
+ /** One-sample Student t-test against a hypothesised mean `mu0` -- `scipy.stats.ttest_1samp`. */
91
+ static tTestOneSample(sample: number[], mu0?: number, options?: TTestOptions): TestResult;
92
+ /**
93
+ * Welch's two-sample t-test (unequal variances) -- `scipy.stats.ttest_ind(a, b, equal_var=False)`.
94
+ * This is the mallory behaviour; for SciPy's pooled default see {@link tTestIndependent}.
95
+ */
96
+ static tTestTwoSample(a: number[], b: number[], options?: TTestOptions): TestResult;
97
+ /** Alias of Welch's test (`tTestTwoSample`). */
98
+ static welch(a: number[], b: number[], options?: TTestOptions): TestResult;
99
+ /** Independent two-sample t-test -- `scipy.stats.ttest_ind`. Pooled-variance (`equalVar: true`) by default, like SciPy. */
100
+ static tTestIndependent(a: number[], b: number[], options?: TTestIndependentOptions): TestResult;
101
+ /** Paired t-test on matched samples -- `scipy.stats.ttest_rel`. */
102
+ static tTestPaired(a: number[], b: number[], options?: TTestOptions): TestResult;
103
+ /**
104
+ * Pearson chi-square goodness-of-fit test -- `scipy.stats.chisquare`.
105
+ * `expected` defaults to uniform; `ddof` is SciPy's delta degrees of freedom
106
+ * (the p-value uses `k - 1 - ddof`). Throws when the totals disagree.
107
+ */
108
+ static chiSquareGoodnessOfFit(observed: number[], expected?: number[], ddof?: number): TestResult;
109
+ /**
110
+ * Chi-square test of independence on a contingency table --
111
+ * `scipy.stats.chi2_contingency`. Like SciPy, applies Yates' continuity
112
+ * correction by default when there is one degree of freedom.
113
+ */
114
+ static chiSquareIndependence(table: number[][], options?: {
115
+ correction?: boolean;
116
+ }): ChiSquareIndependenceResult;
117
+ /** t-based confidence interval for the mean of a sample. */
53
118
  static confidenceIntervalMean(sample: number[], level?: number): [number, number];
119
+ /** Welch confidence interval for `mean(a) - mean(b)`. */
120
+ static confidenceIntervalDifference(a: number[], b: number[], level?: number): [number, number];
121
+ /** Wilson score interval for a binomial proportion (`scipy.stats.binomtest(...).proportion_ci(method="wilson", ...)` without continuity correction). */
122
+ static confidenceIntervalProportion(successes: number, n: number, level?: number): [number, number];
54
123
  }
124
+ export {};
55
125
  //# sourceMappingURL=Distributions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Distributions.d.ts","sourceRoot":"","sources":["../src/Distributions.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,sBAAsB;IACrC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,IAAI,MAAM,CAAC;IACf,QAAQ,IAAI,MAAM,CAAC;IACnB,MAAM,IAAI,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,IAAI,MAAM,CAAC;IACf,QAAQ,IAAI,MAAM,CAAC;IACnB,MAAM,IAAI,MAAM,CAAC;CAClB;AA0CD,qBAAa,aAAa;IACxB,oEAAoE;IACpE,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,SAAI,EAAE,EAAE,SAAI,GAAG,MAAM;IAI1D,MAAM,CAAC,MAAM,CAAC,IAAI,SAAI,EAAE,EAAE,SAAI,EAAE,GAAG,GAAE,MAAM,MAAoB,GAAG,sBAAsB;IAUxF,MAAM,CAAC,WAAW,CAAC,IAAI,SAAI,EAAE,GAAG,GAAE,MAAM,MAAoB,GAAG,sBAAsB;IAUrF,MAAM,CAAC,OAAO,CAAC,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,GAAG,GAAE,MAAM,MAAoB,GAAG,sBAAsB;IAUrF,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,EAAE,GAAG,GAAE,MAAM,MAAoB,GAAG,sBAAsB;IAU/F,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,MAAoB,GAAG,sBAAsB;IAKrF,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,MAAoB,GAAG,sBAAsB;IAkBpF,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,MAAoB,GAAG,oBAAoB;IAuB5F,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,MAAoB,GAAG,oBAAoB;IAmBrF,iDAAiD;IACjD,OAAO,CAAC,MAAM,CAAC,WAAW;CAiB3B;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,eAAe;IAC1B,8EAA8E;IAC9E,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,SAAI,GAAG,UAAU;IAW5D,qDAAqD;IACrD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,UAAU;IAc3D,+CAA+C;IAC/C,MAAM,CAAC,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAU;IAOjF,iFAAiF;IACjF,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,SAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;CAShF"}
1
+ {"version":3,"file":"Distributions.d.ts","sourceRoot":"","sources":["../src/Distributions.ts"],"names":[],"mappings":"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"}