@justinelliottcobb/amari-wasm 0.9.9 → 0.10.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 CHANGED
@@ -1,4 +1,4 @@
1
- # @justinelliottcobb/amari-wasm v0.9.8
1
+ # @justinelliottcobb/amari-wasm v0.9.10
2
2
 
3
3
  **Unified Mathematical Computing Library with High-Precision WebAssembly Support**
4
4
 
@@ -15,6 +15,7 @@ Amari is a comprehensive mathematical computing library that brings advanced alg
15
15
  - **Geometric Algebra (Clifford Algebra)**: Multivectors, rotors, and geometric products for 3D rotations and spatial transformations
16
16
  - **Tropical Algebra**: Max-plus semiring operations for optimization and neural network applications
17
17
  - **Automatic Differentiation**: Forward-mode AD with dual numbers for exact derivatives
18
+ - **Measure Theory** *(new in v0.10.0)*: Lebesgue integration, probability measures, and measure-theoretic foundations
18
19
  - **Relativistic Physics**: Spacetime algebra (Cl(1,3)) with WebAssembly-compatible precision
19
20
  - **Spacecraft Orbital Mechanics**: Full-precision trajectory calculations in browsers
20
21
  - **Cellular Automata**: Geometric cellular automata with multivector states
@@ -186,6 +187,27 @@ for (let i = 0; i < 100; i++) {
186
187
  console.log(`Generation: ${ca.generation()}`);
187
188
  ```
188
189
 
190
+ ### Measure Theory and Integration *(new in v0.10.0)*
191
+
192
+ Perform numerical integration and work with probability measures:
193
+
194
+ ```typescript
195
+ import { WasmLebesgueMeasure, WasmProbabilityMeasure, integrate } from '@justinelliottcobb/amari-wasm';
196
+
197
+ // Lebesgue measure - compute volumes
198
+ const measure = new WasmLebesgueMeasure(3); // 3D space
199
+ const volume = measure.measureBox([2.0, 3.0, 4.0]); // 2×3×4 box = 24
200
+
201
+ // Numerical integration
202
+ const f = (x) => x * x; // Function to integrate
203
+ const result = integrate(f, 0, 2, 1000, WasmIntegrationMethod.Riemann);
204
+ console.log(`∫₀² x² dx ≈ ${result}`); // ≈ 2.667
205
+
206
+ // Probability measures
207
+ const prob = WasmProbabilityMeasure.uniform(0, 1);
208
+ const p = prob.probabilityInterval(0.25, 0.75, 0, 1); // P(0.25 ≤ X ≤ 0.75) = 0.5
209
+ ```
210
+
189
211
  ## Use Cases
190
212
 
191
213
  - Computer Graphics: 3D rotations and transformations using rotors
@@ -193,6 +215,7 @@ console.log(`Generation: ${ca.generation()}`);
193
215
  - Machine Learning: Tropical neural networks and automatic differentiation
194
216
  - Optimization: Tropical algebra for shortest path and scheduling problems
195
217
  - Scientific Computing: High-performance mathematical operations with orbital-grade precision
218
+ - Probability & Statistics: Measure theory and numerical integration for statistical computations
196
219
  - Game Development: Efficient spatial transformations and physics
197
220
  - Spacecraft Trajectory Planning: High-precision orbital mechanics in web applications
198
221
 
package/amari_wasm.d.ts CHANGED
@@ -1,37 +1,99 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
+ /**
4
+ * Initialize the WASM module
5
+ */
6
+ export function init(): void;
3
7
  /**
4
8
  * Initialize the enumerative geometry module
5
9
  */
6
10
  export function initEnumerative(): void;
7
11
  /**
8
- * Validate that this module loaded correctly
12
+ * Calculate light deflection angle for photon grazing massive object
9
13
  */
10
- export function validate_relativistic_module(): boolean;
14
+ export function light_deflection_angle(impact_parameter: number, mass: number): number;
11
15
  /**
12
16
  * Convert velocity to Lorentz factor
13
17
  */
14
18
  export function velocity_to_gamma(velocity_magnitude: number): number;
15
- /**
16
- * Calculate light deflection angle for photon grazing massive object
17
- */
18
- export function light_deflection_angle(impact_parameter: number, mass: number): number;
19
19
  /**
20
20
  * Convert Lorentz factor to velocity
21
21
  */
22
22
  export function gamma_to_velocity(gamma: number): number;
23
23
  /**
24
- * Initialize the WASM module
24
+ * Validate that this module loaded correctly
25
25
  */
26
- export function init(): void;
26
+ export function validate_relativistic_module(): boolean;
27
27
  /**
28
28
  * Initialize the fusion module
29
29
  */
30
30
  export function initFusion(): void;
31
+ /**
32
+ * Integrate a JavaScript function over an interval
33
+ *
34
+ * This function provides numerical integration capabilities to JavaScript.
35
+ *
36
+ * # Arguments
37
+ * * `f` - JavaScript function to integrate (must accept a number and return a number)
38
+ * * `a` - Lower bound of integration
39
+ * * `b` - Upper bound of integration
40
+ * * `points` - Number of sample points to use
41
+ * * `method` - Integration method to use
42
+ *
43
+ * # Returns
44
+ * Approximate value of the integral ∫_a^b f(x) dx
45
+ */
46
+ export function integrate(f: Function, a: number, b: number, points: number, method: WasmIntegrationMethod): number;
47
+ /**
48
+ * Compute expectation E[f(X)] for uniform distribution on [a, b]
49
+ *
50
+ * # Arguments
51
+ * * `f` - JavaScript function (must accept a number and return a number)
52
+ * * `a` - Lower bound
53
+ * * `b` - Upper bound
54
+ * * `samples` - Number of Monte Carlo samples
55
+ */
56
+ export function expectation(f: Function, a: number, b: number, samples: number): number;
57
+ /**
58
+ * Compute KL divergence D_KL(P||Q) between two distributions
59
+ *
60
+ * # Arguments
61
+ * * `p_density` - First distribution
62
+ * * `q_density` - Second distribution
63
+ * * `p_params` - Parameters for P
64
+ * * `q_params` - Parameters for Q
65
+ * * `sample_points` - Points to evaluate at
66
+ */
67
+ export function klDivergence(p_density: WasmParametricDensity, q_density: WasmParametricDensity, p_params: Float64Array, q_params: Float64Array, sample_points: Float64Array): number;
31
68
  /**
32
69
  * Initialize the automata module
33
70
  */
34
71
  export function initAutomata(): void;
72
+ /**
73
+ * Integration methods available in WASM
74
+ */
75
+ export enum WasmIntegrationMethod {
76
+ /**
77
+ * Riemann sum approximation
78
+ */
79
+ Riemann = 0,
80
+ /**
81
+ * Monte Carlo integration
82
+ */
83
+ MonteCarlo = 1,
84
+ /**
85
+ * Trapezoidal rule
86
+ */
87
+ Trapezoidal = 2,
88
+ /**
89
+ * Simpson's rule
90
+ */
91
+ Simpson = 3,
92
+ /**
93
+ * Adaptive quadrature
94
+ */
95
+ Adaptive = 4,
96
+ }
35
97
  /**
36
98
  * Automatic differentiation utilities
37
99
  */
@@ -480,6 +542,31 @@ export class WasmCommunity {
480
542
  */
481
543
  readonly nodes: Uint32Array;
482
544
  }
545
+ /**
546
+ * WASM wrapper for counting measure
547
+ *
548
+ * The counting measure assigns to each set the number of elements it contains.
549
+ */
550
+ export class WasmCountingMeasure {
551
+ free(): void;
552
+ [Symbol.dispose](): void;
553
+ /**
554
+ * Check if a set is measurable under counting measure
555
+ * (all sets are measurable under counting measure)
556
+ */
557
+ isMeasurable(): boolean;
558
+ /**
559
+ * Measure a finite set (returns its cardinality)
560
+ *
561
+ * # Arguments
562
+ * * `set_size` - The number of elements in the set
563
+ */
564
+ measureFiniteSet(set_size: number): number;
565
+ /**
566
+ * Create a new counting measure
567
+ */
568
+ constructor();
569
+ }
483
570
  /**
484
571
  * WASM wrapper for single-variable dual numbers
485
572
  */
@@ -670,6 +757,26 @@ export class WasmFisherInformationMatrix {
670
757
  */
671
758
  isPositiveDefinite(): boolean;
672
759
  }
760
+ /**
761
+ * Fisher-Riemannian geometry on statistical manifolds
762
+ */
763
+ export class WasmFisherMeasure {
764
+ private constructor();
765
+ free(): void;
766
+ [Symbol.dispose](): void;
767
+ /**
768
+ * Create Fisher measure from a parametric density
769
+ */
770
+ static fromDensity(density: WasmParametricDensity): WasmFisherMeasure;
771
+ /**
772
+ * Compute the Fisher information metric at parameter point θ
773
+ */
774
+ fisherMetric(data: Float64Array, params: Float64Array): Float64Array;
775
+ /**
776
+ * Compute the Riemannian volume element √det(g(θ))
777
+ */
778
+ volumeElement(data: Float64Array, params: Float64Array): number;
779
+ }
673
780
  /**
674
781
  * WASM wrapper for four-velocity
675
782
  */
@@ -913,14 +1020,14 @@ export class WasmGpuOptimizer {
913
1020
  * Batch optimization with parallel processing simulation
914
1021
  */
915
1022
  optimizeBatch(problems_data: Float64Array, problem_size: number, num_problems: number, max_iterations: number, tolerance: number): Promise<Float64Array>;
916
- /**
917
- * Check if GPU acceleration is available
918
- */
919
- isGpuAvailable(): boolean;
920
1023
  /**
921
1024
  * Optimize a quadratic function with GPU acceleration
922
1025
  */
923
1026
  optimizeQuadraticGpu(coefficients: Float64Array, initial_point: Float64Array, max_iterations: number, tolerance: number): Promise<WasmOptimizationResult>;
1027
+ /**
1028
+ * Check if GPU acceleration is available
1029
+ */
1030
+ isGpuAvailable(): boolean;
924
1031
  /**
925
1032
  * Create a new GPU optimizer
926
1033
  */
@@ -968,6 +1075,38 @@ export class WasmInverseCADesigner {
968
1075
  */
969
1076
  findSeed(_max_generations: number, max_attempts: number): Float64Array;
970
1077
  }
1078
+ /**
1079
+ * WASM wrapper for Lebesgue measure
1080
+ *
1081
+ * The Lebesgue measure generalizes the notion of length, area, and volume
1082
+ * to higher dimensions and more complex sets.
1083
+ */
1084
+ export class WasmLebesgueMeasure {
1085
+ free(): void;
1086
+ [Symbol.dispose](): void;
1087
+ /**
1088
+ * Compute the measure of a box (hyper-rectangle) with given side lengths
1089
+ */
1090
+ measureBox(sides: Float64Array): number;
1091
+ /**
1092
+ * Get the dimension of this measure
1093
+ */
1094
+ getDimension(): number;
1095
+ /**
1096
+ * Compute the measure of an interval [a, b]
1097
+ *
1098
+ * For 1D: returns length (b - a)
1099
+ * For higher dimensions: returns the product of interval lengths
1100
+ */
1101
+ measureInterval(lower: Float64Array, upper: Float64Array): number;
1102
+ /**
1103
+ * Create a new Lebesgue measure for the specified dimension
1104
+ *
1105
+ * # Arguments
1106
+ * * `dimension` - The dimension of the space (1 for length, 2 for area, 3 for volume, etc.)
1107
+ */
1108
+ constructor(dimension: number);
1109
+ }
971
1110
  /**
972
1111
  * WASM wrapper for moduli spaces (simplified)
973
1112
  */
@@ -1245,6 +1384,75 @@ export class WasmOptimizationUtils {
1245
1384
  */
1246
1385
  static dominates(objectives1: Float64Array, objectives2: Float64Array): boolean;
1247
1386
  }
1387
+ /**
1388
+ * Parametric probability density families
1389
+ */
1390
+ export class WasmParametricDensity {
1391
+ private constructor();
1392
+ free(): void;
1393
+ [Symbol.dispose](): void;
1394
+ /**
1395
+ * Create an Exponential density Exp(λ)
1396
+ */
1397
+ static exponential(): WasmParametricDensity;
1398
+ /**
1399
+ * Compute log-density log p(x|θ)
1400
+ */
1401
+ logDensity(x: number, params: Float64Array): number;
1402
+ /**
1403
+ * Compute Fisher information matrix from data samples
1404
+ */
1405
+ fisherInformation(data: Float64Array, params: Float64Array): Float64Array;
1406
+ /**
1407
+ * Create a Cauchy density Cauchy(x₀, γ)
1408
+ */
1409
+ static cauchy(): WasmParametricDensity;
1410
+ /**
1411
+ * Create a Laplace density Laplace(μ, b)
1412
+ */
1413
+ static laplace(): WasmParametricDensity;
1414
+ /**
1415
+ * Evaluate density at point x with parameters
1416
+ *
1417
+ * # Arguments
1418
+ * * `x` - Point to evaluate
1419
+ * * `params` - Parameters (Gaussian: [μ, σ], Exponential: [λ], etc.)
1420
+ */
1421
+ evaluate(x: number, params: Float64Array): number;
1422
+ /**
1423
+ * Create a Gaussian density N(μ, σ²)
1424
+ */
1425
+ static gaussian(): WasmParametricDensity;
1426
+ /**
1427
+ * Compute numerical gradient ∇_θ p(x|θ)
1428
+ */
1429
+ gradient(x: number, params: Float64Array): Float64Array;
1430
+ }
1431
+ /**
1432
+ * WASM wrapper for probability measures
1433
+ *
1434
+ * A probability measure assigns total measure 1 to the entire space.
1435
+ */
1436
+ export class WasmProbabilityMeasure {
1437
+ free(): void;
1438
+ [Symbol.dispose](): void;
1439
+ /**
1440
+ * Get a description of this probability measure
1441
+ */
1442
+ getDescription(): string;
1443
+ /**
1444
+ * Compute P(X ∈ [a, b]) for uniform distribution
1445
+ */
1446
+ probabilityInterval(a: number, b: number, lower: number, upper: number): number;
1447
+ /**
1448
+ * Create a new uniform probability measure on [0, 1]
1449
+ */
1450
+ constructor();
1451
+ /**
1452
+ * Create a uniform probability measure on [a, b]
1453
+ */
1454
+ static uniform(a: number, b: number): WasmProbabilityMeasure;
1455
+ }
1248
1456
  /**
1249
1457
  * WASM wrapper for projective spaces
1250
1458
  */
@@ -1547,14 +1755,14 @@ export class WasmTrajectoryPoint {
1547
1755
  private constructor();
1548
1756
  free(): void;
1549
1757
  [Symbol.dispose](): void;
1550
- /**
1551
- * Get position
1552
- */
1553
- readonly position: WasmSpacetimeVector;
1554
1758
  /**
1555
1759
  * Time coordinate
1556
1760
  */
1557
1761
  time: number;
1762
+ /**
1763
+ * Get position
1764
+ */
1765
+ readonly position: WasmSpacetimeVector;
1558
1766
  }
1559
1767
  /**
1560
1768
  * WASM wrapper for tropical curves (simplified)
@@ -1697,6 +1905,33 @@ export class WasmTropicalDualDistribution {
1697
1905
  */
1698
1906
  constructor(logits: Float64Array);
1699
1907
  }
1908
+ /**
1909
+ * Tropical (max-plus) algebra operations for optimization
1910
+ */
1911
+ export class WasmTropicalMeasure {
1912
+ free(): void;
1913
+ [Symbol.dispose](): void;
1914
+ /**
1915
+ * Tropical integration (supremum over region)
1916
+ */
1917
+ tropicalIntegrate(f: Function, a: number, b: number, samples: number): number;
1918
+ /**
1919
+ * Create a new tropical measure
1920
+ */
1921
+ constructor();
1922
+ /**
1923
+ * Compute tropical infimum (minimum) of function over sample points
1924
+ *
1925
+ * Returns the minimum value and the point where it occurs
1926
+ */
1927
+ infimum(f: Function, points: Float64Array): Float64Array;
1928
+ /**
1929
+ * Compute tropical supremum (maximum) of function over sample points
1930
+ *
1931
+ * Returns the maximum value and the point where it occurs
1932
+ */
1933
+ supremum(f: Function, points: Float64Array): Float64Array;
1934
+ }
1700
1935
  /**
1701
1936
  * WASM wrapper for tropical networks
1702
1937
  */
@@ -1857,17 +2092,18 @@ export interface InitOutput {
1857
2092
  readonly __wbg_wasmduallyflatmanifold_free: (a: number, b: number) => void;
1858
2093
  readonly __wbg_wasmevaluationresult_free: (a: number, b: number) => void;
1859
2094
  readonly __wbg_wasmfisherinformationmatrix_free: (a: number, b: number) => void;
2095
+ readonly __wbg_wasmfishermeasure_free: (a: number, b: number) => void;
1860
2096
  readonly __wbg_wasmgeodesicintegrator_free: (a: number, b: number) => void;
1861
2097
  readonly __wbg_wasmgeometricca_free: (a: number, b: number) => void;
1862
2098
  readonly __wbg_wasmgeometricnetwork_free: (a: number, b: number) => void;
1863
2099
  readonly __wbg_wasmgrassmannian_free: (a: number, b: number) => void;
1864
2100
  readonly __wbg_wasminversecadesigner_free: (a: number, b: number) => void;
2101
+ readonly __wbg_wasmlebesguemeasure_free: (a: number, b: number) => void;
1865
2102
  readonly __wbg_wasmmodulispace_free: (a: number, b: number) => void;
1866
2103
  readonly __wbg_wasmmultidualnumber_free: (a: number, b: number) => void;
1867
2104
  readonly __wbg_wasmmultivector_free: (a: number, b: number) => void;
1868
2105
  readonly __wbg_wasmnodemetadata_free: (a: number, b: number) => void;
1869
2106
  readonly __wbg_wasmoptimizationresult_free: (a: number, b: number) => void;
1870
- readonly __wbg_wasmprojectivespace_free: (a: number, b: number) => void;
1871
2107
  readonly __wbg_wasmpropagationanalysis_free: (a: number, b: number) => void;
1872
2108
  readonly __wbg_wasmrelativisticparticle_free: (a: number, b: number) => void;
1873
2109
  readonly __wbg_wasmschwarzschildmetric_free: (a: number, b: number) => void;
@@ -1904,6 +2140,7 @@ export interface InitOutput {
1904
2140
  readonly enumerativeutils_eulerCharacteristic: (a: number) => number;
1905
2141
  readonly enumerativeutils_expectedRationalCurves: (a: number, b: number) => [number, number, number];
1906
2142
  readonly enumerativeutils_validatePartition: (a: number, b: number, c: number, d: number) => number;
2143
+ readonly expectation: (a: any, b: number, c: number, d: number) => [number, number, number];
1907
2144
  readonly fusionbatchoperations_batchDistance: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1908
2145
  readonly fusionbatchoperations_batchEvaluate: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1909
2146
  readonly fusionbatchoperations_batchSensitivity: (a: number, b: number, c: number) => [number, number, number, number];
@@ -1925,6 +2162,8 @@ export interface InitOutput {
1925
2162
  readonly initAutomata: () => void;
1926
2163
  readonly initEnumerative: () => void;
1927
2164
  readonly initFusion: () => void;
2165
+ readonly integrate: (a: any, b: number, c: number, d: number, e: number) => [number, number, number];
2166
+ readonly klDivergence: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number];
1928
2167
  readonly light_deflection_angle: (a: number, b: number) => number;
1929
2168
  readonly mlops_batchActivation: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1930
2169
  readonly mlops_crossEntropyLoss: (a: number, b: number, c: number, d: number) => [number, number, number];
@@ -1962,6 +2201,9 @@ export interface InitOutput {
1962
2201
  readonly wasmchowclass_power: (a: number, b: number) => number;
1963
2202
  readonly wasmcommunity_centroid_coefficients: (a: number) => [number, number];
1964
2203
  readonly wasmcommunity_nodes: (a: number) => [number, number];
2204
+ readonly wasmcountingmeasure_isMeasurable: (a: number) => number;
2205
+ readonly wasmcountingmeasure_measureFiniteSet: (a: number, b: number) => number;
2206
+ readonly wasmcountingmeasure_new: () => number;
1965
2207
  readonly wasmduallyflatmanifold_bregmanDivergence: (a: number, b: number, c: number, d: number, e: number) => number;
1966
2208
  readonly wasmduallyflatmanifold_fisherMetricAt: (a: number, b: number, c: number) => number;
1967
2209
  readonly wasmduallyflatmanifold_jsDivergence: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
@@ -1999,6 +2241,9 @@ export interface InitOutput {
1999
2241
  readonly wasmfisherinformationmatrix_conditionNumber: (a: number) => number;
2000
2242
  readonly wasmfisherinformationmatrix_getEigenvalues: (a: number) => [number, number];
2001
2243
  readonly wasmfisherinformationmatrix_isPositiveDefinite: (a: number) => number;
2244
+ readonly wasmfishermeasure_fisherMetric: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
2245
+ readonly wasmfishermeasure_fromDensity: (a: number) => number;
2246
+ readonly wasmfishermeasure_volumeElement: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
2002
2247
  readonly wasmfourvelocity_as_spacetime_vector: (a: number) => number;
2003
2248
  readonly wasmfourvelocity_from_velocity: (a: number, b: number, c: number) => [number, number, number];
2004
2249
  readonly wasmfourvelocity_gamma: (a: number) => number;
@@ -2048,7 +2293,6 @@ export interface InitOutput {
2048
2293
  readonly wasmgeometricnetwork_withCapacity: (a: number, b: number) => number;
2049
2294
  readonly wasmgpuoptimizer_initializeGpu: (a: number) => any;
2050
2295
  readonly wasmgpuoptimizer_isGpuAvailable: (a: number) => number;
2051
- readonly wasmgpuoptimizer_new: () => number;
2052
2296
  readonly wasmgpuoptimizer_optimizeBatch: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => any;
2053
2297
  readonly wasmgpuoptimizer_optimizeQuadraticGpu: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => any;
2054
2298
  readonly wasmgrassmannian_getDimension: (a: number) => number;
@@ -2058,8 +2302,11 @@ export interface InitOutput {
2058
2302
  readonly wasminversecadesigner_findSeed: (a: number, b: number, c: number) => [number, number, number, number];
2059
2303
  readonly wasminversecadesigner_new: (a: number, b: number) => number;
2060
2304
  readonly wasminversecadesigner_setTarget: (a: number, b: number, c: number) => [number, number];
2305
+ readonly wasmlebesguemeasure_getDimension: (a: number) => number;
2306
+ readonly wasmlebesguemeasure_measureBox: (a: number, b: number, c: number) => [number, number, number];
2307
+ readonly wasmlebesguemeasure_measureInterval: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
2308
+ readonly wasmlebesguemeasure_new: (a: number) => [number, number, number];
2061
2309
  readonly wasmmodulispace_expectedDimension: (a: number) => number;
2062
- readonly wasmmodulispace_getGenus: (a: number) => number;
2063
2310
  readonly wasmmodulispace_getMarkedPoints: (a: number) => number;
2064
2311
  readonly wasmmodulispace_isProper: (a: number) => number;
2065
2312
  readonly wasmmodulispace_ofCurves: (a: number, b: number) => number;
@@ -2108,6 +2355,18 @@ export interface InitOutput {
2108
2355
  readonly wasmoptimizationresult_solution: (a: number) => [number, number];
2109
2356
  readonly wasmoptimizationutils_dominates: (a: number, b: number, c: number, d: number) => number;
2110
2357
  readonly wasmoptimizationutils_numericalGradient: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
2358
+ readonly wasmparametricdensity_cauchy: () => number;
2359
+ readonly wasmparametricdensity_evaluate: (a: number, b: number, c: number, d: number) => [number, number, number];
2360
+ readonly wasmparametricdensity_exponential: () => number;
2361
+ readonly wasmparametricdensity_fisherInformation: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
2362
+ readonly wasmparametricdensity_gaussian: () => number;
2363
+ readonly wasmparametricdensity_gradient: (a: number, b: number, c: number, d: number) => [number, number, number, number];
2364
+ readonly wasmparametricdensity_laplace: () => number;
2365
+ readonly wasmparametricdensity_logDensity: (a: number, b: number, c: number, d: number) => [number, number, number];
2366
+ readonly wasmprobabilitymeasure_getDescription: (a: number) => [number, number];
2367
+ readonly wasmprobabilitymeasure_new: () => number;
2368
+ readonly wasmprobabilitymeasure_probabilityInterval: (a: number, b: number, c: number, d: number, e: number) => number;
2369
+ readonly wasmprobabilitymeasure_uniform: (a: number, b: number) => [number, number, number];
2111
2370
  readonly wasmprojectivespace_bezoutIntersection: (a: number, b: number, c: number) => number;
2112
2371
  readonly wasmprojectivespace_hasDimension: (a: number, b: number) => number;
2113
2372
  readonly wasmprojectivespace_new: (a: number) => number;
@@ -2183,6 +2442,9 @@ export interface InitOutput {
2183
2442
  readonly wasmtropicaldualdistribution_klDivergence: (a: number, b: number) => [number, number, number];
2184
2443
  readonly wasmtropicaldualdistribution_mostLikelySequence: (a: number, b: number) => [number, number];
2185
2444
  readonly wasmtropicaldualdistribution_new: (a: number, b: number) => number;
2445
+ readonly wasmtropicalmeasure_infimum: (a: number, b: any, c: number, d: number) => [number, number, number, number];
2446
+ readonly wasmtropicalmeasure_supremum: (a: number, b: any, c: number, d: number) => [number, number, number, number];
2447
+ readonly wasmtropicalmeasure_tropicalIntegrate: (a: number, b: any, c: number, d: number, e: number) => [number, number, number];
2186
2448
  readonly wasmtropicalnetwork_fromWeights: (a: number, b: number, c: number) => [number, number, number];
2187
2449
  readonly wasmtropicalnetwork_new: (a: number) => number;
2188
2450
  readonly wasmtropicalnetwork_setEdge: (a: number, b: number, c: number, d: number) => [number, number];
@@ -2211,12 +2473,15 @@ export interface InitOutput {
2211
2473
  readonly wasmtropicalnumber_tropicalMul: (a: number, b: number) => number;
2212
2474
  readonly wasmtrajectorypoint_position: (a: number) => number;
2213
2475
  readonly wasmtropicalpolynomial_coefficients_count: (a: number) => number;
2476
+ readonly __wbg_wasmparametricdensity_free: (a: number, b: number) => void;
2477
+ readonly __wbg_wasmprobabilitymeasure_free: (a: number, b: number) => void;
2214
2478
  readonly wasmtropicalnumber_tropicalAdd: (a: number, b: number) => number;
2215
2479
  readonly wasmcommunity_cohesion_score: (a: number) => number;
2216
2480
  readonly wasmdualnumber_getReal: (a: number) => number;
2217
2481
  readonly wasmevaluationresult_getBestPathScore: (a: number) => number;
2218
2482
  readonly wasmevaluationresult_getGradientNorm: (a: number) => number;
2219
2483
  readonly wasmgeometricedge_weight: (a: number) => number;
2484
+ readonly wasmmodulispace_getGenus: (a: number) => number;
2220
2485
  readonly wasmmultidualnumber_getReal: (a: number) => number;
2221
2486
  readonly wasmoptimizationresult_objective_value: (a: number) => number;
2222
2487
  readonly wasmprojectivespace_getDimension: (a: number) => number;
@@ -2242,25 +2507,30 @@ export interface InitOutput {
2242
2507
  readonly __wbg_performanceoperations_free: (a: number, b: number) => void;
2243
2508
  readonly __wbg_tropicalbatch_free: (a: number, b: number) => void;
2244
2509
  readonly __wbg_tropicalmlops_free: (a: number, b: number) => void;
2510
+ readonly __wbg_wasmcountingmeasure_free: (a: number, b: number) => void;
2245
2511
  readonly __wbg_wasmdualnumber_free: (a: number, b: number) => void;
2246
2512
  readonly __wbg_wasmfourvelocity_free: (a: number, b: number) => void;
2247
2513
  readonly __wbg_wasmgeometricedge_free: (a: number, b: number) => void;
2248
2514
  readonly __wbg_wasmgpuoptimizer_free: (a: number, b: number) => void;
2249
2515
  readonly __wbg_wasmmultiobjectiveoptimizer_free: (a: number, b: number) => void;
2250
2516
  readonly __wbg_wasmoptimizationutils_free: (a: number, b: number) => void;
2517
+ readonly __wbg_wasmprojectivespace_free: (a: number, b: number) => void;
2251
2518
  readonly __wbg_wasmrelativisticconstants_free: (a: number, b: number) => void;
2252
2519
  readonly __wbg_wasmsimpleoptimizer_free: (a: number, b: number) => void;
2253
2520
  readonly __wbg_wasmspacetimevector_free: (a: number, b: number) => void;
2254
2521
  readonly __wbg_wasmtropicalcurve_free: (a: number, b: number) => void;
2522
+ readonly __wbg_wasmtropicalmeasure_free: (a: number, b: number) => void;
2255
2523
  readonly __wbg_wasmtropicalnumber_free: (a: number, b: number) => void;
2256
2524
  readonly __wbg_wasmmultiobjectiveresult_free: (a: number, b: number) => void;
2257
2525
  readonly wasmrotor_inverse: (a: number) => number;
2258
2526
  readonly __wbg_wasmrotor_free: (a: number, b: number) => void;
2527
+ readonly wasmgpuoptimizer_new: () => number;
2259
2528
  readonly wasmmultiobjectiveoptimizer_new: () => number;
2260
2529
  readonly wasmsimpleoptimizer_new: () => number;
2261
- readonly wasm_bindgen__convert__closures_____invoke__h79d0d9c6410c14e7: (a: number, b: number, c: any) => void;
2262
- readonly wasm_bindgen__closure__destroy__h1dd832fb828dedcc: (a: number, b: number) => void;
2263
- readonly wasm_bindgen__convert__closures_____invoke__h0bb870c532b1b216: (a: number, b: number, c: any, d: any) => void;
2530
+ readonly wasmtropicalmeasure_new: () => number;
2531
+ readonly wasm_bindgen_83f782f110bf2942___convert__closures_____invoke___wasm_bindgen_83f782f110bf2942___JsValue_____: (a: number, b: number, c: any) => void;
2532
+ readonly wasm_bindgen_83f782f110bf2942___closure__destroy___dyn_core_f622c628fd7f704e___ops__function__FnMut__wasm_bindgen_83f782f110bf2942___JsValue____Output_______: (a: number, b: number) => void;
2533
+ readonly wasm_bindgen_83f782f110bf2942___convert__closures_____invoke___wasm_bindgen_83f782f110bf2942___JsValue__wasm_bindgen_83f782f110bf2942___JsValue_____: (a: number, b: number, c: any, d: any) => void;
2264
2534
  readonly __wbindgen_malloc: (a: number, b: number) => number;
2265
2535
  readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
2266
2536
  readonly __wbindgen_exn_store: (a: number) => void;