@justinelliottcobb/amari-wasm 0.19.1 → 0.21.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 +13 -3
- package/amari_wasm.d.ts +475 -3
- package/amari_wasm.js +1989 -825
- package/amari_wasm_bg.wasm +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# @justinelliottcobb/amari-wasm v0.
|
|
1
|
+
# @justinelliottcobb/amari-wasm v0.21.0
|
|
2
2
|
|
|
3
3
|
**Unified Mathematical Computing Library with High-Precision WebAssembly Support**
|
|
4
4
|
|
|
@@ -13,8 +13,8 @@ Amari is a comprehensive mathematical computing library that brings advanced alg
|
|
|
13
13
|
| Module | Crate | Since | Description |
|
|
14
14
|
|--------|-------|-------|-------------|
|
|
15
15
|
| [Geometric Algebra](docs/geometric-algebra.md) | amari-core | v0.1 | Multivectors, rotors, geometric products for 3D rotations and spatial transformations |
|
|
16
|
-
| [Tropical Algebra](docs/tropical-algebra.md) | amari-tropical | v0.9.3 | Max-plus semiring operations
|
|
17
|
-
| [Automatic Differentiation](docs/automatic-differentiation.md) | amari-dual | v0.9.3 | Forward-mode AD with dual
|
|
16
|
+
| [Tropical Algebra](docs/tropical-algebra.md) | amari-tropical | v0.9.3 | Max-plus semiring operations plus `0.21.0` ordinal-weighted optimization carriers below ε₀ |
|
|
17
|
+
| [Automatic Differentiation](docs/automatic-differentiation.md) | amari-dual | v0.9.3 | Forward-mode AD with `0.21.0` branch policies, multi-dual seeding, and fixed-size gradient wrappers |
|
|
18
18
|
| [Cellular Automata](docs/cellular-automata.md) | amari-automata | v0.9.4 | Geometric cellular automata with multivector states |
|
|
19
19
|
| [Holographic Memory](docs/holographic-memory.md) | amari-fusion | v0.12.3 | Vector Symbolic Architecture for associative memory with binding and bundling |
|
|
20
20
|
| [Measure Theory](docs/measure-theory.md) | amari-measure | v0.10.0 | Lebesgue integration, probability measures, and measure-theoretic foundations |
|
|
@@ -30,6 +30,16 @@ Amari is a comprehensive mathematical computing library that brings advanced alg
|
|
|
30
30
|
|
|
31
31
|
Also includes bindings for: amari-network (geometric network analysis), amari-optimization (gradient descent, NSGA-II), amari-info-geom (Fisher metrics, statistical manifolds), amari-calculus (differential geometry, manifolds).
|
|
32
32
|
|
|
33
|
+
### v0.21.0 Tropical / Dual WASM Surface
|
|
34
|
+
|
|
35
|
+
The `0.21.0` release exposes the new optimization-oriented Rust APIs to JavaScript/TypeScript:
|
|
36
|
+
|
|
37
|
+
- `TropicalBatch.foldOplus(...)` and `TropicalBatch.foldOtimes(...)` for semiring folds.
|
|
38
|
+
- `WasmOrdinalArena`, `WasmOrdinal`, and `WasmOrdinalWeight` for bounded ordinals below ε₀, ordinal formatting/inspection, and ordinal-weight `oplus` / `otimes` helpers.
|
|
39
|
+
- `WasmBranchPolicy` plus `maxByPolicy(...)` / `minByPolicy(...)` on dual and multi-dual numbers for explicit tie behavior.
|
|
40
|
+
- `WasmMultiDualNumber.variables(...)` for basis-seeded gradient setup.
|
|
41
|
+
- `WasmStaticMultiDual2`, `WasmStaticMultiDual3`, and `WasmStaticMultiDual4` for small fixed-size forward-mode AD loops in browser-facing workloads.
|
|
42
|
+
|
|
33
43
|
### High-Precision Arithmetic
|
|
34
44
|
|
|
35
45
|
- **Pure Rust Backend**: dashu-powered arithmetic with no native dependencies
|
package/amari_wasm.d.ts
CHANGED
|
@@ -178,6 +178,23 @@ export function ripsFromDistances(num_points: number, max_dim: number, distances
|
|
|
178
178
|
* - `evaluator`: Function that takes (x, y) and returns f(x, y)
|
|
179
179
|
*/
|
|
180
180
|
export function findCriticalPoints2D(resolution: number, x_min: number, x_max: number, y_min: number, y_max: number, tolerance: number, values: Float64Array): WasmCriticalPoint[];
|
|
181
|
+
/**
|
|
182
|
+
* Tie-handling policy for branch-sensitive dual-number min/max operations.
|
|
183
|
+
*/
|
|
184
|
+
export enum WasmBranchPolicy {
|
|
185
|
+
/**
|
|
186
|
+
* Preserve the left operand derivative on ties.
|
|
187
|
+
*/
|
|
188
|
+
Left = 0,
|
|
189
|
+
/**
|
|
190
|
+
* Preserve the right operand derivative on ties.
|
|
191
|
+
*/
|
|
192
|
+
Right = 1,
|
|
193
|
+
/**
|
|
194
|
+
* Average derivatives on ties.
|
|
195
|
+
*/
|
|
196
|
+
Average = 2,
|
|
197
|
+
}
|
|
181
198
|
/**
|
|
182
199
|
* Integration methods available in WASM
|
|
183
200
|
*/
|
|
@@ -992,6 +1009,14 @@ export class SchubertBatch {
|
|
|
992
1009
|
export class TropicalBatch {
|
|
993
1010
|
private constructor();
|
|
994
1011
|
free(): void;
|
|
1012
|
+
/**
|
|
1013
|
+
* Fold values with tropical addition (`max`).
|
|
1014
|
+
*/
|
|
1015
|
+
static foldOplus(values: Float64Array): number;
|
|
1016
|
+
/**
|
|
1017
|
+
* Fold values with tropical multiplication (`+`).
|
|
1018
|
+
*/
|
|
1019
|
+
static foldOtimes(values: Float64Array): number;
|
|
995
1020
|
/**
|
|
996
1021
|
* Convert array of log probabilities to tropical numbers and find maximum
|
|
997
1022
|
*/
|
|
@@ -1575,6 +1600,14 @@ export class WasmCriticalPoint {
|
|
|
1575
1600
|
*/
|
|
1576
1601
|
export class WasmDualNumber {
|
|
1577
1602
|
free(): void;
|
|
1603
|
+
/**
|
|
1604
|
+
* Maximum with explicit derivative tie handling.
|
|
1605
|
+
*/
|
|
1606
|
+
maxByPolicy(other: WasmDualNumber, policy: WasmBranchPolicy): WasmDualNumber;
|
|
1607
|
+
/**
|
|
1608
|
+
* Minimum with explicit derivative tie handling.
|
|
1609
|
+
*/
|
|
1610
|
+
minByPolicy(other: WasmDualNumber, policy: WasmBranchPolicy): WasmDualNumber;
|
|
1578
1611
|
/**
|
|
1579
1612
|
* Natural logarithm
|
|
1580
1613
|
*/
|
|
@@ -3021,6 +3054,14 @@ export class WasmMultiDualNumber {
|
|
|
3021
3054
|
* Get number of variables
|
|
3022
3055
|
*/
|
|
3023
3056
|
getNumVars(): number;
|
|
3057
|
+
/**
|
|
3058
|
+
* Maximum with explicit derivative tie handling.
|
|
3059
|
+
*/
|
|
3060
|
+
maxByPolicy(other: WasmMultiDualNumber, policy: WasmBranchPolicy): WasmMultiDualNumber;
|
|
3061
|
+
/**
|
|
3062
|
+
* Minimum with explicit derivative tie handling.
|
|
3063
|
+
*/
|
|
3064
|
+
minByPolicy(other: WasmMultiDualNumber, policy: WasmBranchPolicy): WasmMultiDualNumber;
|
|
3024
3065
|
/**
|
|
3025
3066
|
* Addition
|
|
3026
3067
|
*/
|
|
@@ -3049,6 +3090,10 @@ export class WasmMultiDualNumber {
|
|
|
3049
3090
|
* Create a variable with derivative 1 at the specified index
|
|
3050
3091
|
*/
|
|
3051
3092
|
static variable(value: number, num_vars: number, var_index: number): WasmMultiDualNumber;
|
|
3093
|
+
/**
|
|
3094
|
+
* Create one basis-seeded variable per input coordinate.
|
|
3095
|
+
*/
|
|
3096
|
+
static variables(values: Float64Array): Array<any>;
|
|
3052
3097
|
}
|
|
3053
3098
|
/**
|
|
3054
3099
|
* Simple multi-objective optimizer for WASM
|
|
@@ -3548,6 +3593,154 @@ export class WasmOptimizationUtils {
|
|
|
3548
3593
|
*/
|
|
3549
3594
|
static dominates(objectives1: Float64Array, objectives2: Float64Array): boolean;
|
|
3550
3595
|
}
|
|
3596
|
+
/**
|
|
3597
|
+
* Arena-bound handle for an ordinal below ε₀.
|
|
3598
|
+
*/
|
|
3599
|
+
export class WasmOrdinal {
|
|
3600
|
+
private constructor();
|
|
3601
|
+
free(): void;
|
|
3602
|
+
/**
|
|
3603
|
+
* Raw arena-local ordinal index.
|
|
3604
|
+
*/
|
|
3605
|
+
getIndex(): number;
|
|
3606
|
+
}
|
|
3607
|
+
/**
|
|
3608
|
+
* Arena-backed store for canonical ordinals below ε₀.
|
|
3609
|
+
*/
|
|
3610
|
+
export class WasmOrdinalArena {
|
|
3611
|
+
free(): void;
|
|
3612
|
+
/**
|
|
3613
|
+
* Number of interned ordinal nodes.
|
|
3614
|
+
*/
|
|
3615
|
+
nodeCount(): number;
|
|
3616
|
+
/**
|
|
3617
|
+
* Number of CNF terms.
|
|
3618
|
+
*/
|
|
3619
|
+
termCount(ordinal: WasmOrdinal): number;
|
|
3620
|
+
/**
|
|
3621
|
+
* Select the best of two weights using semiring-style `max`.
|
|
3622
|
+
*/
|
|
3623
|
+
bestWeight2(left: WasmOrdinalWeight, right: WasmOrdinalWeight): WasmOrdinalWeight;
|
|
3624
|
+
/**
|
|
3625
|
+
* Select the best of three weights using semiring-style `max`.
|
|
3626
|
+
*/
|
|
3627
|
+
bestWeight3(first: WasmOrdinalWeight, second: WasmOrdinalWeight, third: WasmOrdinalWeight): WasmOrdinalWeight;
|
|
3628
|
+
/**
|
|
3629
|
+
* Finite value when the ordinal is finite.
|
|
3630
|
+
*/
|
|
3631
|
+
finiteValue(ordinal: WasmOrdinal): number | undefined;
|
|
3632
|
+
/**
|
|
3633
|
+
* Return true if this is a successor ordinal.
|
|
3634
|
+
*/
|
|
3635
|
+
isSuccessor(ordinal: WasmOrdinal): boolean;
|
|
3636
|
+
/**
|
|
3637
|
+
* Semiring-style additive combination (`max`) for ordinal weights.
|
|
3638
|
+
*/
|
|
3639
|
+
oplusWeight(left: WasmOrdinalWeight, right: WasmOrdinalWeight): WasmOrdinalWeight;
|
|
3640
|
+
/**
|
|
3641
|
+
* Format an ordinal weight.
|
|
3642
|
+
*/
|
|
3643
|
+
formatWeight(weight: WasmOrdinalWeight): string;
|
|
3644
|
+
/**
|
|
3645
|
+
* Semiring-style multiplicative composition (ordinal addition) for weights.
|
|
3646
|
+
*/
|
|
3647
|
+
otimesWeight(left: WasmOrdinalWeight, right: WasmOrdinalWeight): WasmOrdinalWeight;
|
|
3648
|
+
/**
|
|
3649
|
+
* Compare two weights: -1 for less, 0 for equal, 1 for greater.
|
|
3650
|
+
*/
|
|
3651
|
+
compareWeight(left: WasmOrdinalWeight, right: WasmOrdinalWeight): number;
|
|
3652
|
+
/**
|
|
3653
|
+
* Format an ordinal in Cantor normal form.
|
|
3654
|
+
*/
|
|
3655
|
+
formatOrdinal(ordinal: WasmOrdinal): string;
|
|
3656
|
+
/**
|
|
3657
|
+
* Compose two weights using ordinal addition with bottom annihilation.
|
|
3658
|
+
*/
|
|
3659
|
+
composeWeight2(left: WasmOrdinalWeight, right: WasmOrdinalWeight): WasmOrdinalWeight;
|
|
3660
|
+
/**
|
|
3661
|
+
* Compose three weights using ordinal addition with bottom annihilation.
|
|
3662
|
+
*/
|
|
3663
|
+
composeWeight3(first: WasmOrdinalWeight, second: WasmOrdinalWeight, third: WasmOrdinalWeight): WasmOrdinalWeight;
|
|
3664
|
+
/**
|
|
3665
|
+
* Build a JavaScript object with ordinal inspection metadata.
|
|
3666
|
+
*/
|
|
3667
|
+
inspectOrdinal(ordinal: WasmOrdinal): any;
|
|
3668
|
+
/**
|
|
3669
|
+
* Return true if the ordinal is zero.
|
|
3670
|
+
*/
|
|
3671
|
+
isZeroOrdinal(ordinal: WasmOrdinal): boolean;
|
|
3672
|
+
/**
|
|
3673
|
+
* Construct a weight from an ordinal.
|
|
3674
|
+
*/
|
|
3675
|
+
weightFromOrdinal(ordinal: WasmOrdinal): WasmOrdinalWeight;
|
|
3676
|
+
/**
|
|
3677
|
+
* Ordinal addition.
|
|
3678
|
+
*/
|
|
3679
|
+
add(left: WasmOrdinal, right: WasmOrdinal): WasmOrdinal;
|
|
3680
|
+
/**
|
|
3681
|
+
* Create an ordinal arena containing zero.
|
|
3682
|
+
*/
|
|
3683
|
+
constructor();
|
|
3684
|
+
/**
|
|
3685
|
+
* Finite ordinal one.
|
|
3686
|
+
*/
|
|
3687
|
+
one(): WasmOrdinal;
|
|
3688
|
+
/**
|
|
3689
|
+
* Structural kind: zero, finite, successor, or limit.
|
|
3690
|
+
*/
|
|
3691
|
+
kind(ordinal: WasmOrdinal): string;
|
|
3692
|
+
/**
|
|
3693
|
+
* Canonical zero ordinal.
|
|
3694
|
+
*/
|
|
3695
|
+
zero(): WasmOrdinal;
|
|
3696
|
+
/**
|
|
3697
|
+
* The ordinal ω.
|
|
3698
|
+
*/
|
|
3699
|
+
omega(): WasmOrdinal;
|
|
3700
|
+
/**
|
|
3701
|
+
* Finite natural ordinal `n`.
|
|
3702
|
+
*/
|
|
3703
|
+
finite(n: number): WasmOrdinal;
|
|
3704
|
+
/**
|
|
3705
|
+
* Compare two ordinals: -1 for less, 0 for equal, 1 for greater.
|
|
3706
|
+
*/
|
|
3707
|
+
compare(left: WasmOrdinal, right: WasmOrdinal): number;
|
|
3708
|
+
/**
|
|
3709
|
+
* Return true if this is a nonzero limit ordinal.
|
|
3710
|
+
*/
|
|
3711
|
+
isLimit(ordinal: WasmOrdinal): boolean;
|
|
3712
|
+
/**
|
|
3713
|
+
* Leading-exponent valuation of a weight, if any.
|
|
3714
|
+
*/
|
|
3715
|
+
valuation(weight: WasmOrdinalWeight): number | undefined;
|
|
3716
|
+
}
|
|
3717
|
+
/**
|
|
3718
|
+
* Bottom-extended ordinal optimization weight.
|
|
3719
|
+
*/
|
|
3720
|
+
export class WasmOrdinalWeight {
|
|
3721
|
+
private constructor();
|
|
3722
|
+
free(): void;
|
|
3723
|
+
/**
|
|
3724
|
+
* Arena-local ordinal index when this weight wraps an ordinal.
|
|
3725
|
+
*/
|
|
3726
|
+
ordinalIndex(): number | undefined;
|
|
3727
|
+
/**
|
|
3728
|
+
* Construct the semiring one element, i.e. ordinal zero.
|
|
3729
|
+
*/
|
|
3730
|
+
static one(): WasmOrdinalWeight;
|
|
3731
|
+
/**
|
|
3732
|
+
* Alias for the semiring zero element.
|
|
3733
|
+
*/
|
|
3734
|
+
static zero(): WasmOrdinalWeight;
|
|
3735
|
+
/**
|
|
3736
|
+
* Construct the bottom element.
|
|
3737
|
+
*/
|
|
3738
|
+
static bottom(): WasmOrdinalWeight;
|
|
3739
|
+
/**
|
|
3740
|
+
* Whether this weight is bottom.
|
|
3741
|
+
*/
|
|
3742
|
+
isBottom(): boolean;
|
|
3743
|
+
}
|
|
3551
3744
|
/**
|
|
3552
3745
|
* Parametric probability density families
|
|
3553
3746
|
*/
|
|
@@ -4414,6 +4607,195 @@ export class WasmStabilityCondition {
|
|
|
4414
4607
|
*/
|
|
4415
4608
|
isStable(capability: WasmCapability): boolean;
|
|
4416
4609
|
}
|
|
4610
|
+
export class WasmStaticMultiDual2 {
|
|
4611
|
+
free(): void;
|
|
4612
|
+
/**
|
|
4613
|
+
* Get the fixed-size gradient as a JavaScript array-compatible vector.
|
|
4614
|
+
*/
|
|
4615
|
+
getGradient(): Float64Array;
|
|
4616
|
+
/**
|
|
4617
|
+
* Maximum with explicit derivative tie handling.
|
|
4618
|
+
*/
|
|
4619
|
+
maxByPolicy(other: WasmStaticMultiDual2, policy: WasmBranchPolicy): WasmStaticMultiDual2;
|
|
4620
|
+
/**
|
|
4621
|
+
* Minimum with explicit derivative tie handling.
|
|
4622
|
+
*/
|
|
4623
|
+
minByPolicy(other: WasmStaticMultiDual2, policy: WasmBranchPolicy): WasmStaticMultiDual2;
|
|
4624
|
+
/**
|
|
4625
|
+
* Convert to the heap-backed multi-dual wrapper.
|
|
4626
|
+
*/
|
|
4627
|
+
toMultiDual(): WasmMultiDualNumber;
|
|
4628
|
+
/**
|
|
4629
|
+
* Addition.
|
|
4630
|
+
*/
|
|
4631
|
+
add(other: WasmStaticMultiDual2): WasmStaticMultiDual2;
|
|
4632
|
+
/**
|
|
4633
|
+
* Division.
|
|
4634
|
+
*/
|
|
4635
|
+
div(other: WasmStaticMultiDual2): WasmStaticMultiDual2;
|
|
4636
|
+
/**
|
|
4637
|
+
* Multiplication.
|
|
4638
|
+
*/
|
|
4639
|
+
mul(other: WasmStaticMultiDual2): WasmStaticMultiDual2;
|
|
4640
|
+
/**
|
|
4641
|
+
* Negation.
|
|
4642
|
+
*/
|
|
4643
|
+
neg(): WasmStaticMultiDual2;
|
|
4644
|
+
/**
|
|
4645
|
+
* Create a fixed-size multi-dual number from a value and gradient.
|
|
4646
|
+
*/
|
|
4647
|
+
constructor(value: number, gradient: Float64Array);
|
|
4648
|
+
/**
|
|
4649
|
+
* Subtraction.
|
|
4650
|
+
*/
|
|
4651
|
+
sub(other: WasmStaticMultiDual2): WasmStaticMultiDual2;
|
|
4652
|
+
/**
|
|
4653
|
+
* Number of derivative variables.
|
|
4654
|
+
*/
|
|
4655
|
+
nVars(): number;
|
|
4656
|
+
/**
|
|
4657
|
+
* Create a constant with zero gradient.
|
|
4658
|
+
*/
|
|
4659
|
+
static constant(value: number): WasmStaticMultiDual2;
|
|
4660
|
+
/**
|
|
4661
|
+
* Create a basis-seeded variable.
|
|
4662
|
+
*/
|
|
4663
|
+
static variable(value: number, var_index: number): WasmStaticMultiDual2;
|
|
4664
|
+
/**
|
|
4665
|
+
* Get the function value.
|
|
4666
|
+
*/
|
|
4667
|
+
getValue(): number;
|
|
4668
|
+
/**
|
|
4669
|
+
* Create one fixed-size variable per coordinate.
|
|
4670
|
+
*/
|
|
4671
|
+
static variables(values: Float64Array): Array<any>;
|
|
4672
|
+
}
|
|
4673
|
+
export class WasmStaticMultiDual3 {
|
|
4674
|
+
free(): void;
|
|
4675
|
+
/**
|
|
4676
|
+
* Get the fixed-size gradient as a JavaScript array-compatible vector.
|
|
4677
|
+
*/
|
|
4678
|
+
getGradient(): Float64Array;
|
|
4679
|
+
/**
|
|
4680
|
+
* Maximum with explicit derivative tie handling.
|
|
4681
|
+
*/
|
|
4682
|
+
maxByPolicy(other: WasmStaticMultiDual3, policy: WasmBranchPolicy): WasmStaticMultiDual3;
|
|
4683
|
+
/**
|
|
4684
|
+
* Minimum with explicit derivative tie handling.
|
|
4685
|
+
*/
|
|
4686
|
+
minByPolicy(other: WasmStaticMultiDual3, policy: WasmBranchPolicy): WasmStaticMultiDual3;
|
|
4687
|
+
/**
|
|
4688
|
+
* Convert to the heap-backed multi-dual wrapper.
|
|
4689
|
+
*/
|
|
4690
|
+
toMultiDual(): WasmMultiDualNumber;
|
|
4691
|
+
/**
|
|
4692
|
+
* Addition.
|
|
4693
|
+
*/
|
|
4694
|
+
add(other: WasmStaticMultiDual3): WasmStaticMultiDual3;
|
|
4695
|
+
/**
|
|
4696
|
+
* Division.
|
|
4697
|
+
*/
|
|
4698
|
+
div(other: WasmStaticMultiDual3): WasmStaticMultiDual3;
|
|
4699
|
+
/**
|
|
4700
|
+
* Multiplication.
|
|
4701
|
+
*/
|
|
4702
|
+
mul(other: WasmStaticMultiDual3): WasmStaticMultiDual3;
|
|
4703
|
+
/**
|
|
4704
|
+
* Negation.
|
|
4705
|
+
*/
|
|
4706
|
+
neg(): WasmStaticMultiDual3;
|
|
4707
|
+
/**
|
|
4708
|
+
* Create a fixed-size multi-dual number from a value and gradient.
|
|
4709
|
+
*/
|
|
4710
|
+
constructor(value: number, gradient: Float64Array);
|
|
4711
|
+
/**
|
|
4712
|
+
* Subtraction.
|
|
4713
|
+
*/
|
|
4714
|
+
sub(other: WasmStaticMultiDual3): WasmStaticMultiDual3;
|
|
4715
|
+
/**
|
|
4716
|
+
* Number of derivative variables.
|
|
4717
|
+
*/
|
|
4718
|
+
nVars(): number;
|
|
4719
|
+
/**
|
|
4720
|
+
* Create a constant with zero gradient.
|
|
4721
|
+
*/
|
|
4722
|
+
static constant(value: number): WasmStaticMultiDual3;
|
|
4723
|
+
/**
|
|
4724
|
+
* Create a basis-seeded variable.
|
|
4725
|
+
*/
|
|
4726
|
+
static variable(value: number, var_index: number): WasmStaticMultiDual3;
|
|
4727
|
+
/**
|
|
4728
|
+
* Get the function value.
|
|
4729
|
+
*/
|
|
4730
|
+
getValue(): number;
|
|
4731
|
+
/**
|
|
4732
|
+
* Create one fixed-size variable per coordinate.
|
|
4733
|
+
*/
|
|
4734
|
+
static variables(values: Float64Array): Array<any>;
|
|
4735
|
+
}
|
|
4736
|
+
export class WasmStaticMultiDual4 {
|
|
4737
|
+
free(): void;
|
|
4738
|
+
/**
|
|
4739
|
+
* Get the fixed-size gradient as a JavaScript array-compatible vector.
|
|
4740
|
+
*/
|
|
4741
|
+
getGradient(): Float64Array;
|
|
4742
|
+
/**
|
|
4743
|
+
* Maximum with explicit derivative tie handling.
|
|
4744
|
+
*/
|
|
4745
|
+
maxByPolicy(other: WasmStaticMultiDual4, policy: WasmBranchPolicy): WasmStaticMultiDual4;
|
|
4746
|
+
/**
|
|
4747
|
+
* Minimum with explicit derivative tie handling.
|
|
4748
|
+
*/
|
|
4749
|
+
minByPolicy(other: WasmStaticMultiDual4, policy: WasmBranchPolicy): WasmStaticMultiDual4;
|
|
4750
|
+
/**
|
|
4751
|
+
* Convert to the heap-backed multi-dual wrapper.
|
|
4752
|
+
*/
|
|
4753
|
+
toMultiDual(): WasmMultiDualNumber;
|
|
4754
|
+
/**
|
|
4755
|
+
* Addition.
|
|
4756
|
+
*/
|
|
4757
|
+
add(other: WasmStaticMultiDual4): WasmStaticMultiDual4;
|
|
4758
|
+
/**
|
|
4759
|
+
* Division.
|
|
4760
|
+
*/
|
|
4761
|
+
div(other: WasmStaticMultiDual4): WasmStaticMultiDual4;
|
|
4762
|
+
/**
|
|
4763
|
+
* Multiplication.
|
|
4764
|
+
*/
|
|
4765
|
+
mul(other: WasmStaticMultiDual4): WasmStaticMultiDual4;
|
|
4766
|
+
/**
|
|
4767
|
+
* Negation.
|
|
4768
|
+
*/
|
|
4769
|
+
neg(): WasmStaticMultiDual4;
|
|
4770
|
+
/**
|
|
4771
|
+
* Create a fixed-size multi-dual number from a value and gradient.
|
|
4772
|
+
*/
|
|
4773
|
+
constructor(value: number, gradient: Float64Array);
|
|
4774
|
+
/**
|
|
4775
|
+
* Subtraction.
|
|
4776
|
+
*/
|
|
4777
|
+
sub(other: WasmStaticMultiDual4): WasmStaticMultiDual4;
|
|
4778
|
+
/**
|
|
4779
|
+
* Number of derivative variables.
|
|
4780
|
+
*/
|
|
4781
|
+
nVars(): number;
|
|
4782
|
+
/**
|
|
4783
|
+
* Create a constant with zero gradient.
|
|
4784
|
+
*/
|
|
4785
|
+
static constant(value: number): WasmStaticMultiDual4;
|
|
4786
|
+
/**
|
|
4787
|
+
* Create a basis-seeded variable.
|
|
4788
|
+
*/
|
|
4789
|
+
static variable(value: number, var_index: number): WasmStaticMultiDual4;
|
|
4790
|
+
/**
|
|
4791
|
+
* Get the function value.
|
|
4792
|
+
*/
|
|
4793
|
+
getValue(): number;
|
|
4794
|
+
/**
|
|
4795
|
+
* Create one fixed-size variable per coordinate.
|
|
4796
|
+
*/
|
|
4797
|
+
static variables(values: Float64Array): Array<any>;
|
|
4798
|
+
}
|
|
4417
4799
|
/**
|
|
4418
4800
|
* WASM wrapper for torus weights in equivariant localization
|
|
4419
4801
|
*/
|
|
@@ -5124,6 +5506,7 @@ export interface InitOutput {
|
|
|
5124
5506
|
readonly __wbg_wasmopticalcodebook_free: (a: number, b: number) => void;
|
|
5125
5507
|
readonly __wbg_wasmopticalrotorfield_free: (a: number, b: number) => void;
|
|
5126
5508
|
readonly __wbg_wasmoptimizationresult_free: (a: number, b: number) => void;
|
|
5509
|
+
readonly __wbg_wasmordinalarena_free: (a: number, b: number) => void;
|
|
5127
5510
|
readonly __wbg_wasmpersistenthomology_free: (a: number, b: number) => void;
|
|
5128
5511
|
readonly __wbg_wasmpropagationanalysis_free: (a: number, b: number) => void;
|
|
5129
5512
|
readonly __wbg_wasmrelativisticparticle_free: (a: number, b: number) => void;
|
|
@@ -5135,8 +5518,8 @@ export interface InitOutput {
|
|
|
5135
5518
|
readonly __wbg_wasmsimplicialcomplex_free: (a: number, b: number) => void;
|
|
5136
5519
|
readonly __wbg_wasmsmtproofobligation_free: (a: number, b: number) => void;
|
|
5137
5520
|
readonly __wbg_wasmspectraldecomposition_free: (a: number, b: number) => void;
|
|
5521
|
+
readonly __wbg_wasmstaticmultidual4_free: (a: number, b: number) => void;
|
|
5138
5522
|
readonly __wbg_wasmtorusweights_free: (a: number, b: number) => void;
|
|
5139
|
-
readonly __wbg_wasmtrajectorypoint_free: (a: number, b: number) => void;
|
|
5140
5523
|
readonly __wbg_wasmtropicaldualclifford_free: (a: number, b: number) => void;
|
|
5141
5524
|
readonly __wbg_wasmtropicalnetwork_free: (a: number, b: number) => void;
|
|
5142
5525
|
readonly __wbg_wasmtropicalviterbi_free: (a: number, b: number) => void;
|
|
@@ -5271,6 +5654,7 @@ export interface InitOutput {
|
|
|
5271
5654
|
readonly schubertbatch_multiIntersectBatch: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
5272
5655
|
readonly tropicalbatch_batchTropicalAdd: (a: number, b: number) => number;
|
|
5273
5656
|
readonly tropicalbatch_batchTropicalMul: (a: number, b: number) => number;
|
|
5657
|
+
readonly tropicalbatch_foldOtimes: (a: number, b: number) => number;
|
|
5274
5658
|
readonly tropicalbatch_maxLogProb: (a: number, b: number) => number;
|
|
5275
5659
|
readonly tropicalbatch_viterbiStep: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
5276
5660
|
readonly tropicalmlops_convexCombination: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
@@ -5387,7 +5771,9 @@ export interface InitOutput {
|
|
|
5387
5771
|
readonly wasmdualnumber_getDual: (a: number) => number;
|
|
5388
5772
|
readonly wasmdualnumber_ln: (a: number) => [number, number, number];
|
|
5389
5773
|
readonly wasmdualnumber_max: (a: number, b: number) => number;
|
|
5774
|
+
readonly wasmdualnumber_maxByPolicy: (a: number, b: number, c: number) => number;
|
|
5390
5775
|
readonly wasmdualnumber_min: (a: number, b: number) => number;
|
|
5776
|
+
readonly wasmdualnumber_minByPolicy: (a: number, b: number, c: number) => number;
|
|
5391
5777
|
readonly wasmdualnumber_mul: (a: number, b: number) => number;
|
|
5392
5778
|
readonly wasmdualnumber_neg: (a: number) => number;
|
|
5393
5779
|
readonly wasmdualnumber_new: (a: number, b: number) => number;
|
|
@@ -5622,10 +6008,13 @@ export interface InitOutput {
|
|
|
5622
6008
|
readonly wasmmultidualnumber_getGradient: (a: number) => [number, number];
|
|
5623
6009
|
readonly wasmmultidualnumber_getNumVars: (a: number) => number;
|
|
5624
6010
|
readonly wasmmultidualnumber_getPartial: (a: number, b: number) => [number, number, number];
|
|
6011
|
+
readonly wasmmultidualnumber_maxByPolicy: (a: number, b: number, c: number) => [number, number, number];
|
|
6012
|
+
readonly wasmmultidualnumber_minByPolicy: (a: number, b: number, c: number) => [number, number, number];
|
|
5625
6013
|
readonly wasmmultidualnumber_mul: (a: number, b: number) => [number, number, number];
|
|
5626
6014
|
readonly wasmmultidualnumber_new: (a: number, b: number, c: number) => number;
|
|
5627
6015
|
readonly wasmmultidualnumber_sqrt: (a: number) => [number, number, number];
|
|
5628
6016
|
readonly wasmmultidualnumber_variable: (a: number, b: number, c: number) => number;
|
|
6017
|
+
readonly wasmmultidualnumber_variables: (a: number, b: number) => any;
|
|
5629
6018
|
readonly wasmmultiobjectiveoptimizer_optimizeBiObjective: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
5630
6019
|
readonly wasmmultiobjectiveresult_converged: (a: number) => number;
|
|
5631
6020
|
readonly wasmmultiobjectiveresult_pareto_front: (a: number) => [number, number];
|
|
@@ -5717,6 +6106,36 @@ export interface InitOutput {
|
|
|
5717
6106
|
readonly wasmoptimizationresult_solution: (a: number) => [number, number];
|
|
5718
6107
|
readonly wasmoptimizationutils_dominates: (a: number, b: number, c: number, d: number) => number;
|
|
5719
6108
|
readonly wasmoptimizationutils_numericalGradient: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
6109
|
+
readonly wasmordinalarena_add: (a: number, b: number, c: number) => [number, number, number];
|
|
6110
|
+
readonly wasmordinalarena_bestWeight2: (a: number, b: number, c: number) => [number, number, number];
|
|
6111
|
+
readonly wasmordinalarena_bestWeight3: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
6112
|
+
readonly wasmordinalarena_compare: (a: number, b: number, c: number) => [number, number, number];
|
|
6113
|
+
readonly wasmordinalarena_compareWeight: (a: number, b: number, c: number) => [number, number, number];
|
|
6114
|
+
readonly wasmordinalarena_composeWeight2: (a: number, b: number, c: number) => [number, number, number];
|
|
6115
|
+
readonly wasmordinalarena_composeWeight3: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
6116
|
+
readonly wasmordinalarena_finite: (a: number, b: number) => number;
|
|
6117
|
+
readonly wasmordinalarena_finiteValue: (a: number, b: number) => [number, number, number, number];
|
|
6118
|
+
readonly wasmordinalarena_formatOrdinal: (a: number, b: number) => [number, number, number, number];
|
|
6119
|
+
readonly wasmordinalarena_formatWeight: (a: number, b: number) => [number, number, number, number];
|
|
6120
|
+
readonly wasmordinalarena_inspectOrdinal: (a: number, b: number) => [number, number, number];
|
|
6121
|
+
readonly wasmordinalarena_isLimit: (a: number, b: number) => [number, number, number];
|
|
6122
|
+
readonly wasmordinalarena_isSuccessor: (a: number, b: number) => [number, number, number];
|
|
6123
|
+
readonly wasmordinalarena_isZeroOrdinal: (a: number, b: number) => [number, number, number];
|
|
6124
|
+
readonly wasmordinalarena_kind: (a: number, b: number) => [number, number, number, number];
|
|
6125
|
+
readonly wasmordinalarena_new: () => number;
|
|
6126
|
+
readonly wasmordinalarena_nodeCount: (a: number) => number;
|
|
6127
|
+
readonly wasmordinalarena_omega: (a: number) => number;
|
|
6128
|
+
readonly wasmordinalarena_one: (a: number) => number;
|
|
6129
|
+
readonly wasmordinalarena_oplusWeight: (a: number, b: number, c: number) => [number, number, number];
|
|
6130
|
+
readonly wasmordinalarena_otimesWeight: (a: number, b: number, c: number) => [number, number, number];
|
|
6131
|
+
readonly wasmordinalarena_termCount: (a: number, b: number) => [number, number, number];
|
|
6132
|
+
readonly wasmordinalarena_valuation: (a: number, b: number) => [number, number, number];
|
|
6133
|
+
readonly wasmordinalarena_weightFromOrdinal: (a: number, b: number) => number;
|
|
6134
|
+
readonly wasmordinalarena_zero: (a: number) => number;
|
|
6135
|
+
readonly wasmordinalweight_bottom: () => number;
|
|
6136
|
+
readonly wasmordinalweight_isBottom: (a: number) => number;
|
|
6137
|
+
readonly wasmordinalweight_one: () => number;
|
|
6138
|
+
readonly wasmordinalweight_ordinalIndex: (a: number) => number;
|
|
5720
6139
|
readonly wasmparametricdensity_cauchy: () => number;
|
|
5721
6140
|
readonly wasmparametricdensity_evaluate: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
5722
6141
|
readonly wasmparametricdensity_exponential: () => number;
|
|
@@ -5852,6 +6271,47 @@ export interface InitOutput {
|
|
|
5852
6271
|
readonly wasmstabilitycondition_new: (a: number, b: number, c: number) => number;
|
|
5853
6272
|
readonly wasmstabilitycondition_phase: (a: number, b: number) => number;
|
|
5854
6273
|
readonly wasmstabilitycondition_stableCount: (a: number, b: number) => number;
|
|
6274
|
+
readonly wasmstaticmultidual2_add: (a: number, b: number) => number;
|
|
6275
|
+
readonly wasmstaticmultidual2_constant: (a: number) => number;
|
|
6276
|
+
readonly wasmstaticmultidual2_div: (a: number, b: number) => [number, number, number];
|
|
6277
|
+
readonly wasmstaticmultidual2_getGradient: (a: number) => [number, number];
|
|
6278
|
+
readonly wasmstaticmultidual2_maxByPolicy: (a: number, b: number, c: number) => number;
|
|
6279
|
+
readonly wasmstaticmultidual2_minByPolicy: (a: number, b: number, c: number) => number;
|
|
6280
|
+
readonly wasmstaticmultidual2_mul: (a: number, b: number) => number;
|
|
6281
|
+
readonly wasmstaticmultidual2_nVars: (a: number) => number;
|
|
6282
|
+
readonly wasmstaticmultidual2_neg: (a: number) => number;
|
|
6283
|
+
readonly wasmstaticmultidual2_new: (a: number, b: number, c: number) => [number, number, number];
|
|
6284
|
+
readonly wasmstaticmultidual2_sub: (a: number, b: number) => number;
|
|
6285
|
+
readonly wasmstaticmultidual2_toMultiDual: (a: number) => number;
|
|
6286
|
+
readonly wasmstaticmultidual2_variable: (a: number, b: number) => [number, number, number];
|
|
6287
|
+
readonly wasmstaticmultidual2_variables: (a: number, b: number) => [number, number, number];
|
|
6288
|
+
readonly wasmstaticmultidual3_add: (a: number, b: number) => number;
|
|
6289
|
+
readonly wasmstaticmultidual3_constant: (a: number) => number;
|
|
6290
|
+
readonly wasmstaticmultidual3_div: (a: number, b: number) => [number, number, number];
|
|
6291
|
+
readonly wasmstaticmultidual3_getGradient: (a: number) => [number, number];
|
|
6292
|
+
readonly wasmstaticmultidual3_maxByPolicy: (a: number, b: number, c: number) => number;
|
|
6293
|
+
readonly wasmstaticmultidual3_minByPolicy: (a: number, b: number, c: number) => number;
|
|
6294
|
+
readonly wasmstaticmultidual3_mul: (a: number, b: number) => number;
|
|
6295
|
+
readonly wasmstaticmultidual3_nVars: (a: number) => number;
|
|
6296
|
+
readonly wasmstaticmultidual3_neg: (a: number) => number;
|
|
6297
|
+
readonly wasmstaticmultidual3_new: (a: number, b: number, c: number) => [number, number, number];
|
|
6298
|
+
readonly wasmstaticmultidual3_sub: (a: number, b: number) => number;
|
|
6299
|
+
readonly wasmstaticmultidual3_toMultiDual: (a: number) => number;
|
|
6300
|
+
readonly wasmstaticmultidual3_variable: (a: number, b: number) => [number, number, number];
|
|
6301
|
+
readonly wasmstaticmultidual3_variables: (a: number, b: number) => [number, number, number];
|
|
6302
|
+
readonly wasmstaticmultidual4_add: (a: number, b: number) => number;
|
|
6303
|
+
readonly wasmstaticmultidual4_constant: (a: number) => number;
|
|
6304
|
+
readonly wasmstaticmultidual4_div: (a: number, b: number) => [number, number, number];
|
|
6305
|
+
readonly wasmstaticmultidual4_getGradient: (a: number) => [number, number];
|
|
6306
|
+
readonly wasmstaticmultidual4_maxByPolicy: (a: number, b: number, c: number) => number;
|
|
6307
|
+
readonly wasmstaticmultidual4_minByPolicy: (a: number, b: number, c: number) => number;
|
|
6308
|
+
readonly wasmstaticmultidual4_mul: (a: number, b: number) => number;
|
|
6309
|
+
readonly wasmstaticmultidual4_neg: (a: number) => number;
|
|
6310
|
+
readonly wasmstaticmultidual4_new: (a: number, b: number, c: number) => [number, number, number];
|
|
6311
|
+
readonly wasmstaticmultidual4_sub: (a: number, b: number) => number;
|
|
6312
|
+
readonly wasmstaticmultidual4_toMultiDual: (a: number) => number;
|
|
6313
|
+
readonly wasmstaticmultidual4_variable: (a: number, b: number) => [number, number, number];
|
|
6314
|
+
readonly wasmstaticmultidual4_variables: (a: number, b: number) => [number, number, number];
|
|
5855
6315
|
readonly wasmtorusweights_custom: (a: number, b: number) => [number, number, number];
|
|
5856
6316
|
readonly wasmtorusweights_getWeights: (a: number) => [number, number];
|
|
5857
6317
|
readonly wasmtorusweights_standard: (a: number) => number;
|
|
@@ -5958,11 +6418,14 @@ export interface InitOutput {
|
|
|
5958
6418
|
readonly __wbg_set_wasmtrajectorypoint_time: (a: number, b: number) => void;
|
|
5959
6419
|
readonly wasmmultivector_norm: (a: number) => number;
|
|
5960
6420
|
readonly wasmspacetimevector_t: (a: number) => number;
|
|
6421
|
+
readonly wasmordinalweight_zero: () => number;
|
|
5961
6422
|
readonly wasmtropicalnumber_zero: () => number;
|
|
5962
6423
|
readonly wasmtropicalnumber_tropicalMul: (a: number, b: number) => number;
|
|
5963
6424
|
readonly wasmtrajectorypoint_position: (a: number) => number;
|
|
6425
|
+
readonly wasmstaticmultidual4_nVars: (a: number) => number;
|
|
5964
6426
|
readonly wasmtropicalpolynomial_coefficients_count: (a: number) => number;
|
|
5965
6427
|
readonly infogeomutils_softmax: (a: number, b: number) => [number, number];
|
|
6428
|
+
readonly tropicalbatch_foldOplus: (a: number, b: number) => number;
|
|
5966
6429
|
readonly __wbg_wasmparametricdensity_free: (a: number, b: number) => void;
|
|
5967
6430
|
readonly __wbg_wasmprobabilitymeasure_free: (a: number, b: number) => void;
|
|
5968
6431
|
readonly __wbg_wasmrareevent_free: (a: number, b: number) => void;
|
|
@@ -6001,6 +6464,7 @@ export interface InitOutput {
|
|
|
6001
6464
|
readonly wasmopticalfieldalgebra_width: (a: number) => number;
|
|
6002
6465
|
readonly wasmoptimizationresult_iterations: (a: number) => number;
|
|
6003
6466
|
readonly wasmoptimizationresult_objective_value: (a: number) => number;
|
|
6467
|
+
readonly wasmordinal_getIndex: (a: number) => number;
|
|
6004
6468
|
readonly wasmprob_probability: (a: number) => number;
|
|
6005
6469
|
readonly wasmprob_value: (a: number) => number;
|
|
6006
6470
|
readonly wasmprojectivespace_getDimension: (a: number) => number;
|
|
@@ -6012,6 +6476,9 @@ export interface InitOutput {
|
|
|
6012
6476
|
readonly wasmspacetimevector_y: (a: number) => number;
|
|
6013
6477
|
readonly wasmspacetimevector_z: (a: number) => number;
|
|
6014
6478
|
readonly wasmstabilitycondition_getTrustLevel: (a: number) => number;
|
|
6479
|
+
readonly wasmstaticmultidual2_getValue: (a: number) => number;
|
|
6480
|
+
readonly wasmstaticmultidual3_getValue: (a: number) => number;
|
|
6481
|
+
readonly wasmstaticmultidual4_getValue: (a: number) => number;
|
|
6015
6482
|
readonly wasmtropicalcurve_getGenus: (a: number) => number;
|
|
6016
6483
|
readonly wasmtropicalnetwork_getSize: (a: number) => number;
|
|
6017
6484
|
readonly wasmtropicalnumber_getValue: (a: number) => number;
|
|
@@ -6053,6 +6520,8 @@ export interface InitOutput {
|
|
|
6053
6520
|
readonly __wbg_wasmnamespaceintersection_free: (a: number, b: number) => void;
|
|
6054
6521
|
readonly __wbg_wasmopticalfieldalgebra_free: (a: number, b: number) => void;
|
|
6055
6522
|
readonly __wbg_wasmoptimizationutils_free: (a: number, b: number) => void;
|
|
6523
|
+
readonly __wbg_wasmordinal_free: (a: number, b: number) => void;
|
|
6524
|
+
readonly __wbg_wasmordinalweight_free: (a: number, b: number) => void;
|
|
6056
6525
|
readonly __wbg_wasmprob_free: (a: number, b: number) => void;
|
|
6057
6526
|
readonly __wbg_wasmprojectivespace_free: (a: number, b: number) => void;
|
|
6058
6527
|
readonly __wbg_wasmrelativisticconstants_free: (a: number, b: number) => void;
|
|
@@ -6061,6 +6530,9 @@ export interface InitOutput {
|
|
|
6061
6530
|
readonly __wbg_wasmsobolevspace_free: (a: number, b: number) => void;
|
|
6062
6531
|
readonly __wbg_wasmspacetimevector_free: (a: number, b: number) => void;
|
|
6063
6532
|
readonly __wbg_wasmstabilitycondition_free: (a: number, b: number) => void;
|
|
6533
|
+
readonly __wbg_wasmstaticmultidual2_free: (a: number, b: number) => void;
|
|
6534
|
+
readonly __wbg_wasmstaticmultidual3_free: (a: number, b: number) => void;
|
|
6535
|
+
readonly __wbg_wasmtrajectorypoint_free: (a: number, b: number) => void;
|
|
6064
6536
|
readonly __wbg_wasmtropicalcurve_free: (a: number, b: number) => void;
|
|
6065
6537
|
readonly __wbg_wasmtropicalmeasure_free: (a: number, b: number) => void;
|
|
6066
6538
|
readonly __wbg_wasmtropicalnumber_free: (a: number, b: number) => void;
|
|
@@ -6094,8 +6566,8 @@ export interface InitOutput {
|
|
|
6094
6566
|
readonly __wbindgen_export_6: WebAssembly.Table;
|
|
6095
6567
|
readonly __externref_table_dealloc: (a: number) => void;
|
|
6096
6568
|
readonly __externref_drop_slice: (a: number, b: number) => void;
|
|
6097
|
-
readonly
|
|
6098
|
-
readonly
|
|
6569
|
+
readonly closure72_externref_shim: (a: number, b: number, c: any) => void;
|
|
6570
|
+
readonly closure66_externref_shim: (a: number, b: number, c: any, d: any) => void;
|
|
6099
6571
|
readonly __wbindgen_start: () => void;
|
|
6100
6572
|
}
|
|
6101
6573
|
|