@justinelliottcobb/amari-wasm 0.9.2 → 0.9.3

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/amari_wasm.d.ts CHANGED
@@ -1,13 +1,13 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
- /**
4
- * Convert Lorentz factor to velocity
5
- */
6
- export function gamma_to_velocity(gamma: number): number;
7
3
  /**
8
4
  * Convert velocity to Lorentz factor
9
5
  */
10
6
  export function velocity_to_gamma(velocity_magnitude: number): number;
7
+ /**
8
+ * Convert Lorentz factor to velocity
9
+ */
10
+ export function gamma_to_velocity(gamma: number): number;
11
11
  /**
12
12
  * Calculate light deflection angle for photon grazing massive object
13
13
  */
@@ -20,6 +20,30 @@ export function validate_relativistic_module(): boolean;
20
20
  * Initialize the WASM module
21
21
  */
22
22
  export function init(): void;
23
+ /**
24
+ * Automatic differentiation utilities
25
+ */
26
+ export class AutoDiff {
27
+ private constructor();
28
+ free(): void;
29
+ [Symbol.dispose](): void;
30
+ /**
31
+ * Linear layer forward pass (y = Wx + b) with automatic gradients
32
+ */
33
+ static linearLayer(inputs: Float64Array, weights: Float64Array, bias: Float64Array, input_size: number, output_size: number): Float64Array;
34
+ /**
35
+ * Compute mean squared error with automatic gradients
36
+ */
37
+ static meanSquaredError(predictions: Float64Array, targets: Float64Array): WasmDualNumber;
38
+ /**
39
+ * Create a dual number and evaluate a polynomial
40
+ */
41
+ static evaluatePolynomial(x: number, coefficients: Float64Array): WasmDualNumber;
42
+ /**
43
+ * Compute numerical derivative using finite differences (fallback implementation)
44
+ */
45
+ static numericalDerivative(x: number, f: Function, h: number): number;
46
+ }
23
47
  /**
24
48
  * Batch operations for performance
25
49
  */
@@ -37,6 +61,50 @@ export class BatchOperations {
37
61
  */
38
62
  static batchAdd(a_batch: Float64Array, b_batch: Float64Array): Float64Array;
39
63
  }
64
+ /**
65
+ * Batch operations for efficient computation
66
+ */
67
+ export class BatchOps {
68
+ private constructor();
69
+ free(): void;
70
+ [Symbol.dispose](): void;
71
+ /**
72
+ * Matrix multiplication with automatic gradients
73
+ */
74
+ static matrixMultiply(a: Float64Array, b: Float64Array, a_rows: number, a_cols: number, b_rows: number, b_cols: number): Float64Array;
75
+ /**
76
+ * Batch evaluate polynomial with derivatives
77
+ */
78
+ static batchPolynomial(x_values: Float64Array, coefficients: Float64Array): Float64Array;
79
+ /**
80
+ * Compute Jacobian matrix for vector function
81
+ */
82
+ static computeJacobian(input_values: Float64Array, function_name: string): Float64Array;
83
+ }
84
+ /**
85
+ * Advanced machine learning operations using dual numbers
86
+ */
87
+ export class MLOps {
88
+ private constructor();
89
+ free(): void;
90
+ [Symbol.dispose](): void;
91
+ /**
92
+ * Batch apply activation function with gradients
93
+ */
94
+ static batchActivation(inputs: Float64Array, activation: string): Float64Array;
95
+ /**
96
+ * Compute cross-entropy loss with automatic gradients
97
+ */
98
+ static crossEntropyLoss(predictions: Float64Array, targets: Float64Array): WasmDualNumber;
99
+ /**
100
+ * Gradient descent step
101
+ */
102
+ static gradientDescentStep(parameters: Float64Array, gradients: Float64Array, learning_rate: number): Float64Array;
103
+ /**
104
+ * Compute softmax with automatic gradients
105
+ */
106
+ static softmax(inputs: Float64Array): Float64Array;
107
+ }
40
108
  /**
41
109
  * Batch network operations for performance
42
110
  */
@@ -77,6 +145,161 @@ export class PerformanceOperations {
77
145
  */
78
146
  static fastGeometricProduct(lhs: Float64Array, rhs: Float64Array): Float64Array;
79
147
  }
148
+ /**
149
+ * Batch operations for tropical numbers
150
+ */
151
+ export class TropicalBatch {
152
+ private constructor();
153
+ free(): void;
154
+ [Symbol.dispose](): void;
155
+ /**
156
+ * Convert array of log probabilities to tropical numbers and find maximum
157
+ */
158
+ static maxLogProb(log_probs: Float64Array): number;
159
+ /**
160
+ * Viterbi algorithm helper: find best path through trellis
161
+ */
162
+ static viterbiStep(prev_scores: Float64Array, transition_scores: Float64Array, emission_scores: Float64Array, num_states: number): Float64Array;
163
+ /**
164
+ * Batch tropical addition (max operation)
165
+ */
166
+ static batchTropicalAdd(values: Float64Array): number;
167
+ /**
168
+ * Batch tropical multiplication (addition)
169
+ */
170
+ static batchTropicalMul(values: Float64Array): number;
171
+ }
172
+ /**
173
+ * Advanced tropical operations for machine learning and optimization
174
+ */
175
+ export class TropicalMLOps {
176
+ private constructor();
177
+ free(): void;
178
+ [Symbol.dispose](): void;
179
+ /**
180
+ * Compute shortest paths using tropical algebra (Floyd-Warshall)
181
+ */
182
+ static shortestPaths(distance_matrix: any): Array<any>;
183
+ /**
184
+ * Compute tropical matrix multiplication for pathfinding
185
+ */
186
+ static matrixMultiply(a: any, b: any): Array<any>;
187
+ /**
188
+ * Compute tropical convex combination (used in optimization)
189
+ */
190
+ static convexCombination(values: Float64Array, weights: Float64Array): number;
191
+ }
192
+ /**
193
+ * WASM wrapper for single-variable dual numbers
194
+ */
195
+ export class WasmDualNumber {
196
+ free(): void;
197
+ [Symbol.dispose](): void;
198
+ /**
199
+ * Natural logarithm
200
+ */
201
+ ln(): WasmDualNumber;
202
+ /**
203
+ * Addition
204
+ */
205
+ add(other: WasmDualNumber): WasmDualNumber;
206
+ /**
207
+ * Cosine function
208
+ */
209
+ cos(): WasmDualNumber;
210
+ /**
211
+ * Division
212
+ */
213
+ div(other: WasmDualNumber): WasmDualNumber;
214
+ /**
215
+ * Exponential function
216
+ */
217
+ exp(): WasmDualNumber;
218
+ /**
219
+ * Maximum of two dual numbers
220
+ */
221
+ max(other: WasmDualNumber): WasmDualNumber;
222
+ /**
223
+ * Minimum of two dual numbers
224
+ */
225
+ min(other: WasmDualNumber): WasmDualNumber;
226
+ /**
227
+ * Multiplication
228
+ */
229
+ mul(other: WasmDualNumber): WasmDualNumber;
230
+ /**
231
+ * Negation
232
+ */
233
+ neg(): WasmDualNumber;
234
+ /**
235
+ * Create a new dual number with given real and dual parts
236
+ */
237
+ constructor(real: number, dual: number);
238
+ /**
239
+ * Power function
240
+ */
241
+ pow(exponent: number): WasmDualNumber;
242
+ /**
243
+ * Sine function
244
+ */
245
+ sin(): WasmDualNumber;
246
+ /**
247
+ * Subtraction
248
+ */
249
+ sub(other: WasmDualNumber): WasmDualNumber;
250
+ /**
251
+ * Tangent function
252
+ */
253
+ tan(): WasmDualNumber;
254
+ /**
255
+ * Hyperbolic cosine
256
+ */
257
+ cosh(): WasmDualNumber;
258
+ /**
259
+ * Integer power
260
+ */
261
+ powi(n: number): WasmDualNumber;
262
+ /**
263
+ * ReLU activation function
264
+ */
265
+ relu(): WasmDualNumber;
266
+ /**
267
+ * Hyperbolic sine
268
+ */
269
+ sinh(): WasmDualNumber;
270
+ /**
271
+ * Square root
272
+ */
273
+ sqrt(): WasmDualNumber;
274
+ /**
275
+ * Hyperbolic tangent
276
+ */
277
+ tanh(): WasmDualNumber;
278
+ /**
279
+ * Sigmoid activation function
280
+ */
281
+ sigmoid(): WasmDualNumber;
282
+ /**
283
+ * Create a constant (derivative = 0)
284
+ */
285
+ static constant(value: number): WasmDualNumber;
286
+ /**
287
+ * Get the dual part (derivative)
288
+ */
289
+ getDual(): number;
290
+ /**
291
+ * Get the real part (function value)
292
+ */
293
+ getReal(): number;
294
+ /**
295
+ * Softplus activation function
296
+ */
297
+ softplus(): WasmDualNumber;
298
+ /**
299
+ * Create a variable (derivative = 1)
300
+ */
301
+ static variable(value: number): WasmDualNumber;
302
+ }
80
303
  /**
81
304
  * WASM wrapper for four-velocity
82
305
  */
@@ -198,6 +421,53 @@ export class WasmGeometricNetwork {
198
421
  */
199
422
  numNodes(): number;
200
423
  }
424
+ /**
425
+ * WASM wrapper for multi-variable dual numbers
426
+ */
427
+ export class WasmMultiDualNumber {
428
+ free(): void;
429
+ [Symbol.dispose](): void;
430
+ /**
431
+ * Get a specific partial derivative
432
+ */
433
+ getPartial(index: number): number;
434
+ /**
435
+ * Get the gradient (all partial derivatives)
436
+ */
437
+ getGradient(): Float64Array;
438
+ /**
439
+ * Get number of variables
440
+ */
441
+ getNumVars(): number;
442
+ /**
443
+ * Addition
444
+ */
445
+ add(other: WasmMultiDualNumber): WasmMultiDualNumber;
446
+ /**
447
+ * Multiplication
448
+ */
449
+ mul(other: WasmMultiDualNumber): WasmMultiDualNumber;
450
+ /**
451
+ * Create a new multi-dual number
452
+ */
453
+ constructor(real: number, duals: Float64Array);
454
+ /**
455
+ * Square root
456
+ */
457
+ sqrt(): WasmMultiDualNumber;
458
+ /**
459
+ * Create a constant (all derivatives are zero)
460
+ */
461
+ static constant(value: number, num_vars: number): WasmMultiDualNumber;
462
+ /**
463
+ * Get the real part (function value)
464
+ */
465
+ getReal(): number;
466
+ /**
467
+ * Create a variable with derivative 1 at the specified index
468
+ */
469
+ static variable(value: number, num_vars: number, var_index: number): WasmMultiDualNumber;
470
+ }
201
471
  /**
202
472
  * WASM wrapper for Multivector with TypedArray support
203
473
  */
@@ -499,34 +769,198 @@ export class WasmTrajectoryPoint {
499
769
  */
500
770
  time: number;
501
771
  }
772
+ /**
773
+ * WASM wrapper for TropicalNumber
774
+ */
775
+ export class WasmTropicalNumber {
776
+ free(): void;
777
+ [Symbol.dispose](): void;
778
+ /**
779
+ * Check if this is infinite
780
+ */
781
+ isInfinity(): boolean;
782
+ /**
783
+ * Tropical addition (max operation)
784
+ */
785
+ tropicalAdd(other: WasmTropicalNumber): WasmTropicalNumber;
786
+ /**
787
+ * Tropical multiplication (addition)
788
+ */
789
+ tropicalMul(other: WasmTropicalNumber): WasmTropicalNumber;
790
+ /**
791
+ * Tropical power (scalar multiplication)
792
+ */
793
+ tropicalPow(n: number): WasmTropicalNumber;
794
+ /**
795
+ * Create from log probability
796
+ */
797
+ static fromLogProb(log_p: number): WasmTropicalNumber;
798
+ /**
799
+ * Standard addition (for convenience)
800
+ */
801
+ add(other: WasmTropicalNumber): WasmTropicalNumber;
802
+ /**
803
+ * Standard multiplication (for convenience)
804
+ */
805
+ mul(other: WasmTropicalNumber): WasmTropicalNumber;
806
+ /**
807
+ * Negation
808
+ */
809
+ neg(): WasmTropicalNumber;
810
+ /**
811
+ * Create a new tropical number from a regular number
812
+ */
813
+ constructor(value: number);
814
+ /**
815
+ * Create tropical one (regular zero)
816
+ */
817
+ static one(): WasmTropicalNumber;
818
+ /**
819
+ * Create tropical zero (negative infinity)
820
+ */
821
+ static zero(): WasmTropicalNumber;
822
+ /**
823
+ * Check if this is tropical one (zero)
824
+ */
825
+ isOne(): boolean;
826
+ /**
827
+ * Check if this is tropical zero (negative infinity)
828
+ */
829
+ isZero(): boolean;
830
+ /**
831
+ * Convert to probability (via exp)
832
+ */
833
+ toProb(): number;
834
+ /**
835
+ * Get the underlying value
836
+ */
837
+ getValue(): number;
838
+ }
839
+ /**
840
+ * WASM wrapper for TropicalPolynomial - polynomial operations in tropical algebra
841
+ */
842
+ export class WasmTropicalPolynomial {
843
+ free(): void;
844
+ [Symbol.dispose](): void;
845
+ /**
846
+ * Find tropical roots of the polynomial
847
+ */
848
+ tropical_roots(): Array<any>;
849
+ /**
850
+ * Get the number of coefficients
851
+ */
852
+ coefficients_count(): number;
853
+ /**
854
+ * Create a new tropical polynomial from coefficients
855
+ */
856
+ constructor(coefficients: Float64Array);
857
+ /**
858
+ * Evaluate the polynomial at a given tropical number
859
+ */
860
+ evaluate(x: WasmTropicalNumber): WasmTropicalNumber;
861
+ }
862
+ /**
863
+ * WASM wrapper for TropicalViterbi - Hidden Markov Model decoding
864
+ */
865
+ export class WasmTropicalViterbi {
866
+ free(): void;
867
+ [Symbol.dispose](): void;
868
+ /**
869
+ * Compute forward probabilities for all states
870
+ */
871
+ forward_probabilities(observations: Uint32Array): Array<any>;
872
+ /**
873
+ * Create a new Viterbi decoder
874
+ *
875
+ * # Arguments
876
+ * * `transitions` - Transition probability matrix (2D array)
877
+ * * `emissions` - Emission probability matrix (2D array)
878
+ */
879
+ constructor(transitions: any, emissions: any);
880
+ /**
881
+ * Decode the most likely state sequence for given observations
882
+ *
883
+ * Returns an object with `states` (array of state indices) and `probability` (log probability)
884
+ */
885
+ decode(observations: Uint32Array): any;
886
+ }
502
887
 
503
888
  export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
504
889
 
505
890
  export interface InitOutput {
506
891
  readonly memory: WebAssembly.Memory;
507
- readonly __wbg_batchoperations_free: (a: number, b: number) => void;
892
+ readonly __wbg_autodiff_free: (a: number, b: number) => void;
508
893
  readonly __wbg_get_wasmtrajectorypoint_time: (a: number) => number;
509
894
  readonly __wbg_set_wasmtrajectorypoint_time: (a: number, b: number) => void;
895
+ readonly __wbg_wasmdualnumber_free: (a: number, b: number) => void;
510
896
  readonly __wbg_wasmfourvelocity_free: (a: number, b: number) => void;
511
897
  readonly __wbg_wasmgeodesicintegrator_free: (a: number, b: number) => void;
512
898
  readonly __wbg_wasmgeometricnetwork_free: (a: number, b: number) => void;
899
+ readonly __wbg_wasmmultidualnumber_free: (a: number, b: number) => void;
513
900
  readonly __wbg_wasmmultivector_free: (a: number, b: number) => void;
514
901
  readonly __wbg_wasmrelativisticparticle_free: (a: number, b: number) => void;
515
902
  readonly __wbg_wasmschwarzschildmetric_free: (a: number, b: number) => void;
516
903
  readonly __wbg_wasmtrajectorypoint_free: (a: number, b: number) => void;
904
+ readonly __wbg_wasmtropicalnumber_free: (a: number, b: number) => void;
905
+ readonly __wbg_wasmtropicalpolynomial_free: (a: number, b: number) => void;
906
+ readonly __wbg_wasmtropicalviterbi_free: (a: number, b: number) => void;
907
+ readonly autodiff_evaluatePolynomial: (a: number, b: number, c: number) => number;
908
+ readonly autodiff_linearLayer: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
909
+ readonly autodiff_meanSquaredError: (a: number, b: number, c: number, d: number) => [number, number, number];
910
+ readonly autodiff_numericalDerivative: (a: number, b: any, c: number) => [number, number, number];
517
911
  readonly batchoperations_batchAdd: (a: number, b: number, c: number, d: number) => [number, number, number, number];
518
912
  readonly batchoperations_batchGeometricProduct: (a: number, b: number, c: number, d: number) => [number, number, number, number];
913
+ readonly batchops_batchPolynomial: (a: number, b: number, c: number, d: number) => [number, number, number, number];
914
+ readonly batchops_computeJacobian: (a: number, b: number, c: number, d: number) => [number, number, number, number];
915
+ readonly batchops_matrixMultiply: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
519
916
  readonly gamma_to_velocity: (a: number) => [number, number, number];
520
917
  readonly init: () => void;
521
918
  readonly light_deflection_angle: (a: number, b: number) => number;
919
+ readonly mlops_batchActivation: (a: number, b: number, c: number, d: number) => [number, number, number, number];
920
+ readonly mlops_crossEntropyLoss: (a: number, b: number, c: number, d: number) => [number, number, number];
921
+ readonly mlops_gradientDescentStep: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
922
+ readonly mlops_softmax: (a: number, b: number) => [number, number];
522
923
  readonly networkbatchoperations_computeAllPairwiseDistances: (a: number, b: number, c: number) => [number, number, number, number];
523
924
  readonly networkbatchoperations_geometricKMeansClustering: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
524
925
  readonly performanceoperations_batchNormalize: (a: number, b: number, c: number) => [number, number];
525
926
  readonly performanceoperations_fastGeometricProduct: (a: number, b: number, c: number, d: number) => [number, number];
526
927
  readonly performanceoperations_vectorCrossProduct: (a: number, b: number, c: number, d: number) => [number, number];
527
928
  readonly performanceoperations_vectorDotProduct: (a: number, b: number, c: number, d: number) => number;
929
+ readonly tropicalbatch_batchTropicalAdd: (a: number, b: number) => number;
930
+ readonly tropicalbatch_batchTropicalMul: (a: number, b: number) => number;
931
+ readonly tropicalbatch_maxLogProb: (a: number, b: number) => number;
932
+ readonly tropicalbatch_viterbiStep: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
933
+ readonly tropicalmlops_convexCombination: (a: number, b: number, c: number, d: number) => [number, number, number];
934
+ readonly tropicalmlops_matrixMultiply: (a: any, b: any) => [number, number, number];
935
+ readonly tropicalmlops_shortestPaths: (a: any) => [number, number, number];
528
936
  readonly validate_relativistic_module: () => number;
529
937
  readonly velocity_to_gamma: (a: number) => [number, number, number];
938
+ readonly wasmdualnumber_add: (a: number, b: number) => number;
939
+ readonly wasmdualnumber_constant: (a: number) => number;
940
+ readonly wasmdualnumber_cos: (a: number) => number;
941
+ readonly wasmdualnumber_cosh: (a: number) => number;
942
+ readonly wasmdualnumber_div: (a: number, b: number) => [number, number, number];
943
+ readonly wasmdualnumber_exp: (a: number) => number;
944
+ readonly wasmdualnumber_getDual: (a: number) => number;
945
+ readonly wasmdualnumber_getReal: (a: number) => number;
946
+ readonly wasmdualnumber_ln: (a: number) => [number, number, number];
947
+ readonly wasmdualnumber_max: (a: number, b: number) => number;
948
+ readonly wasmdualnumber_min: (a: number, b: number) => number;
949
+ readonly wasmdualnumber_mul: (a: number, b: number) => number;
950
+ readonly wasmdualnumber_neg: (a: number) => number;
951
+ readonly wasmdualnumber_new: (a: number, b: number) => number;
952
+ readonly wasmdualnumber_pow: (a: number, b: number) => number;
953
+ readonly wasmdualnumber_powi: (a: number, b: number) => number;
954
+ readonly wasmdualnumber_relu: (a: number) => number;
955
+ readonly wasmdualnumber_sigmoid: (a: number) => number;
956
+ readonly wasmdualnumber_sin: (a: number) => number;
957
+ readonly wasmdualnumber_sinh: (a: number) => number;
958
+ readonly wasmdualnumber_softplus: (a: number) => number;
959
+ readonly wasmdualnumber_sqrt: (a: number) => [number, number, number];
960
+ readonly wasmdualnumber_sub: (a: number, b: number) => number;
961
+ readonly wasmdualnumber_tan: (a: number) => number;
962
+ readonly wasmdualnumber_tanh: (a: number) => number;
963
+ readonly wasmdualnumber_variable: (a: number) => number;
530
964
  readonly wasmfourvelocity_as_spacetime_vector: (a: number) => number;
531
965
  readonly wasmfourvelocity_from_velocity: (a: number, b: number, c: number) => [number, number, number];
532
966
  readonly wasmfourvelocity_gamma: (a: number) => number;
@@ -551,6 +985,15 @@ export interface InitOutput {
551
985
  readonly wasmgeometricnetwork_numNodes: (a: number) => number;
552
986
  readonly wasmgeometricnetwork_shortestPath: (a: number, b: number, c: number) => [number, number, number, number];
553
987
  readonly wasmgeometricnetwork_shortestPathWithDistance: (a: number, b: number, c: number) => [number, number, number];
988
+ readonly wasmmultidualnumber_add: (a: number, b: number) => [number, number, number];
989
+ readonly wasmmultidualnumber_constant: (a: number, b: number) => number;
990
+ readonly wasmmultidualnumber_getGradient: (a: number) => [number, number];
991
+ readonly wasmmultidualnumber_getNumVars: (a: number) => number;
992
+ readonly wasmmultidualnumber_getPartial: (a: number, b: number) => [number, number, number];
993
+ readonly wasmmultidualnumber_mul: (a: number, b: number) => [number, number, number];
994
+ readonly wasmmultidualnumber_new: (a: number, b: number, c: number) => number;
995
+ readonly wasmmultidualnumber_sqrt: (a: number) => [number, number, number];
996
+ readonly wasmmultidualnumber_variable: (a: number, b: number, c: number) => number;
554
997
  readonly wasmmultivector_add: (a: number, b: number) => number;
555
998
  readonly wasmmultivector_basisVector: (a: number) => [number, number, number];
556
999
  readonly wasmmultivector_exp: (a: number) => number;
@@ -593,7 +1036,6 @@ export interface InitOutput {
593
1036
  readonly wasmschwarzschildmetric_effective_potential: (a: number, b: number, c: number) => number;
594
1037
  readonly wasmschwarzschildmetric_from_mass: (a: number) => number;
595
1038
  readonly wasmschwarzschildmetric_has_singularity: (a: number, b: number) => number;
596
- readonly wasmschwarzschildmetric_mass: (a: number) => number;
597
1039
  readonly wasmschwarzschildmetric_schwarzschild_radius: (a: number) => number;
598
1040
  readonly wasmschwarzschildmetric_sun: () => number;
599
1041
  readonly wasmspacetimevector_is_null: (a: number) => number;
@@ -605,14 +1047,43 @@ export interface InitOutput {
605
1047
  readonly wasmspacetimevector_spacelike: (a: number, b: number, c: number) => number;
606
1048
  readonly wasmspacetimevector_timelike: (a: number) => number;
607
1049
  readonly wasmspacetimevector_to_string: (a: number) => [number, number];
608
- readonly wasmspacetimevector_x: (a: number) => number;
609
1050
  readonly wasmspacetimevector_y: (a: number) => number;
610
1051
  readonly wasmspacetimevector_z: (a: number) => number;
1052
+ readonly wasmtropicalnumber_add: (a: number, b: number) => number;
1053
+ readonly wasmtropicalnumber_fromLogProb: (a: number) => number;
1054
+ readonly wasmtropicalnumber_isInfinity: (a: number) => number;
1055
+ readonly wasmtropicalnumber_isOne: (a: number) => number;
1056
+ readonly wasmtropicalnumber_isZero: (a: number) => number;
1057
+ readonly wasmtropicalnumber_mul: (a: number, b: number) => number;
1058
+ readonly wasmtropicalnumber_neg: (a: number) => number;
1059
+ readonly wasmtropicalnumber_one: () => number;
1060
+ readonly wasmtropicalnumber_toProb: (a: number) => number;
1061
+ readonly wasmtropicalnumber_tropicalPow: (a: number, b: number) => number;
1062
+ readonly wasmtropicalnumber_zero: () => number;
1063
+ readonly wasmtropicalpolynomial_coefficients_count: (a: number) => number;
1064
+ readonly wasmtropicalpolynomial_evaluate: (a: number, b: number) => number;
1065
+ readonly wasmtropicalpolynomial_new: (a: number, b: number) => number;
1066
+ readonly wasmtropicalpolynomial_tropical_roots: (a: number) => any;
1067
+ readonly wasmtropicalviterbi_decode: (a: number, b: number, c: number) => [number, number, number];
1068
+ readonly wasmtropicalviterbi_forward_probabilities: (a: number, b: number, c: number) => [number, number, number];
1069
+ readonly wasmtropicalviterbi_new: (a: any, b: any) => [number, number, number];
1070
+ readonly wasmtropicalnumber_new: (a: number) => number;
611
1071
  readonly wasmmultivector_norm: (a: number) => number;
612
1072
  readonly wasmspacetimevector_t: (a: number) => number;
1073
+ readonly wasmtropicalnumber_tropicalMul: (a: number, b: number) => number;
613
1074
  readonly wasmtrajectorypoint_position: (a: number) => number;
1075
+ readonly wasmtropicalnumber_tropicalAdd: (a: number, b: number) => number;
1076
+ readonly wasmmultidualnumber_getReal: (a: number) => number;
1077
+ readonly wasmschwarzschildmetric_mass: (a: number) => number;
1078
+ readonly wasmspacetimevector_x: (a: number) => number;
1079
+ readonly wasmtropicalnumber_getValue: (a: number) => number;
1080
+ readonly __wbg_batchoperations_free: (a: number, b: number) => void;
1081
+ readonly __wbg_batchops_free: (a: number, b: number) => void;
1082
+ readonly __wbg_mlops_free: (a: number, b: number) => void;
614
1083
  readonly __wbg_networkbatchoperations_free: (a: number, b: number) => void;
615
1084
  readonly __wbg_performanceoperations_free: (a: number, b: number) => void;
1085
+ readonly __wbg_tropicalbatch_free: (a: number, b: number) => void;
1086
+ readonly __wbg_tropicalmlops_free: (a: number, b: number) => void;
616
1087
  readonly __wbg_wasmrelativisticconstants_free: (a: number, b: number) => void;
617
1088
  readonly __wbg_wasmspacetimevector_free: (a: number, b: number) => void;
618
1089
  readonly wasmrotor_inverse: (a: number) => number;