@cortex-js/compute-engine 0.35.6 → 0.50.1
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 +121 -5
- package/dist/compute-engine.esm.js +55594 -51135
- package/dist/compute-engine.min.esm.js +1081 -78
- package/dist/compute-engine.min.umd.js +1081 -78
- package/dist/compute-engine.umd.js +53638 -49162
- package/dist/math-json.esm.js +2 -2
- package/dist/math-json.min.esm.js +2 -2
- package/dist/math-json.min.umd.js +2 -2
- package/dist/math-json.umd.js +2 -2
- package/dist/types/common/ansi-codes.d.ts +1 -1
- package/dist/types/common/configuration-change.d.ts +1 -1
- package/dist/types/common/fuzzy-string-match.d.ts +1 -1
- package/dist/types/common/grapheme-splitter.d.ts +1 -1
- package/dist/types/common/interruptible.d.ts +1 -1
- package/dist/types/common/one-of.d.ts +1 -1
- package/dist/types/common/signals.d.ts +1 -1
- package/dist/types/common/type/ast-nodes.d.ts +1 -1
- package/dist/types/common/type/boxed-type.d.ts +1 -1
- package/dist/types/common/type/lexer.d.ts +1 -1
- package/dist/types/common/type/parse.d.ts +1 -1
- package/dist/types/common/type/parser.d.ts +8 -1
- package/dist/types/common/type/primitive.d.ts +2 -1
- package/dist/types/common/type/reduce.d.ts +1 -1
- package/dist/types/common/type/serialize.d.ts +1 -1
- package/dist/types/common/type/subtype.d.ts +1 -1
- package/dist/types/common/type/type-builder.d.ts +1 -1
- package/dist/types/common/type/types.d.ts +1 -1
- package/dist/types/common/type/utils.d.ts +3 -2
- package/dist/types/common/utils.d.ts +1 -1
- package/dist/types/compute-engine/assume.d.ts +4 -22
- package/dist/types/compute-engine/boxed-expression/abstract-boxed-expression.d.ts +66 -76
- package/dist/types/compute-engine/boxed-expression/apply.d.ts +4 -4
- package/dist/types/compute-engine/boxed-expression/arithmetic-add.d.ts +15 -6
- package/dist/types/compute-engine/boxed-expression/arithmetic-mul-div.d.ts +72 -6
- package/dist/types/compute-engine/boxed-expression/arithmetic-power.d.ts +8 -8
- package/dist/types/compute-engine/boxed-expression/ascii-math.d.ts +5 -8
- package/dist/types/compute-engine/boxed-expression/box.d.ts +63 -8
- package/dist/types/compute-engine/boxed-expression/boxed-dictionary.d.ts +13 -12
- package/dist/types/compute-engine/boxed-expression/boxed-function.d.ts +44 -43
- package/dist/types/compute-engine/boxed-expression/boxed-number.d.ts +31 -30
- package/dist/types/compute-engine/boxed-expression/boxed-operator-definition.d.ts +18 -18
- package/dist/types/compute-engine/boxed-expression/boxed-patterns.d.ts +5 -37
- package/dist/types/compute-engine/boxed-expression/boxed-string.d.ts +5 -4
- package/dist/types/compute-engine/boxed-expression/boxed-symbol.d.ts +34 -33
- package/dist/types/compute-engine/boxed-expression/boxed-tensor.d.ts +34 -33
- package/dist/types/compute-engine/boxed-expression/boxed-value-definition.d.ts +8 -8
- package/dist/types/compute-engine/boxed-expression/cache.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/canonical-utils.d.ts +2 -2
- package/dist/types/compute-engine/boxed-expression/canonical.d.ts +2 -2
- package/dist/types/compute-engine/boxed-expression/compare.d.ts +7 -4
- package/dist/types/compute-engine/boxed-expression/constants.d.ts +6 -0
- package/dist/types/compute-engine/boxed-expression/expand.d.ts +4 -5
- package/dist/types/compute-engine/boxed-expression/expression-map.d.ts +9 -9
- package/dist/types/compute-engine/boxed-expression/factor.d.ts +7 -7
- package/dist/types/compute-engine/boxed-expression/flatten.d.ts +4 -13
- package/dist/types/compute-engine/boxed-expression/hold.d.ts +3 -3
- package/dist/types/compute-engine/boxed-expression/inequality-bounds.d.ts +21 -0
- package/dist/types/compute-engine/boxed-expression/init-lazy-refs.d.ts +1 -0
- package/dist/types/compute-engine/boxed-expression/invisible-operator.d.ts +4 -0
- package/dist/types/compute-engine/boxed-expression/match.d.ts +2 -2
- package/dist/types/compute-engine/boxed-expression/negate.d.ts +4 -4
- package/dist/types/compute-engine/boxed-expression/numerics.d.ts +8 -8
- package/dist/types/compute-engine/boxed-expression/order.d.ts +14 -14
- package/dist/types/compute-engine/boxed-expression/pattern-utils.d.ts +41 -0
- package/dist/types/compute-engine/boxed-expression/polynomial-degree.d.ts +18 -0
- package/dist/types/compute-engine/boxed-expression/polynomials.d.ts +12 -35
- package/dist/types/compute-engine/boxed-expression/predicates.d.ts +2 -0
- package/dist/types/compute-engine/boxed-expression/product.d.ts +1 -66
- package/dist/types/compute-engine/boxed-expression/rules.d.ts +51 -51
- package/dist/types/compute-engine/boxed-expression/serialize.d.ts +6 -3
- package/dist/types/compute-engine/boxed-expression/sgn.d.ts +2 -2
- package/dist/types/compute-engine/boxed-expression/simplify.d.ts +2 -2
- package/dist/types/compute-engine/boxed-expression/solve-linear-system.d.ts +8 -8
- package/dist/types/compute-engine/boxed-expression/solve.d.ts +3 -11
- package/dist/types/compute-engine/boxed-expression/trigonometry.d.ts +7 -7
- package/dist/types/compute-engine/boxed-expression/type-guards.d.ts +31 -0
- package/dist/types/compute-engine/boxed-expression/utils.d.ts +13 -13
- package/dist/types/compute-engine/boxed-expression/validate.d.ts +10 -10
- package/dist/types/compute-engine/collection-utils.d.ts +4 -4
- package/dist/types/compute-engine/compilation/base-compiler.d.ts +3 -3
- package/dist/types/compute-engine/compilation/compile-expression.d.ts +25 -0
- package/dist/types/compute-engine/compilation/glsl-target.d.ts +12 -41
- package/dist/types/compute-engine/compilation/gpu-target.d.ts +50 -0
- package/dist/types/compute-engine/compilation/interval-glsl-target.d.ts +11 -11
- package/dist/types/compute-engine/compilation/interval-javascript-target.d.ts +7 -7
- package/dist/types/compute-engine/compilation/interval-wgsl-target.d.ts +54 -0
- package/dist/types/compute-engine/compilation/javascript-target.d.ts +6 -6
- package/dist/types/compute-engine/compilation/python-target.d.ts +61 -0
- package/dist/types/compute-engine/compilation/types.d.ts +38 -22
- package/dist/types/compute-engine/compilation/wgsl-target.d.ts +41 -0
- package/dist/types/compute-engine/cost-function.d.ts +3 -3
- package/dist/types/compute-engine/engine-assumptions.d.ts +6 -0
- package/dist/types/compute-engine/engine-cache.d.ts +6 -0
- package/dist/types/compute-engine/engine-common-symbols.d.ts +6 -0
- package/dist/types/compute-engine/engine-compilation-targets.d.ts +17 -0
- package/dist/types/compute-engine/engine-configuration-lifecycle.d.ts +15 -0
- package/dist/types/compute-engine/engine-declarations.d.ts +19 -0
- package/dist/types/compute-engine/engine-expression-entrypoints.d.ts +44 -0
- package/dist/types/compute-engine/engine-extension-contracts.d.ts +9 -0
- package/dist/types/compute-engine/engine-latex-dictionary-state.d.ts +13 -0
- package/dist/types/compute-engine/engine-library-bootstrap.d.ts +6 -0
- package/dist/types/compute-engine/engine-numeric-configuration.d.ts +34 -0
- package/dist/types/compute-engine/engine-parse-entrypoint.d.ts +7 -0
- package/dist/types/compute-engine/engine-runtime-state.d.ts +19 -0
- package/dist/types/compute-engine/engine-scope.d.ts +13 -0
- package/dist/types/compute-engine/engine-sequences.d.ts +14 -0
- package/dist/types/compute-engine/engine-simplification-rules.d.ts +15 -0
- package/dist/types/compute-engine/engine-startup-coordinator.d.ts +28 -0
- package/dist/types/compute-engine/engine-type-resolver.d.ts +12 -0
- package/dist/types/compute-engine/engine-validation-entrypoints.d.ts +13 -0
- package/dist/types/compute-engine/free-functions.d.ts +20 -0
- package/dist/types/compute-engine/function-utils.d.ts +10 -10
- package/dist/types/compute-engine/global-types.d.ts +5 -3301
- package/dist/types/compute-engine/index.d.ts +156 -112
- package/dist/types/compute-engine/interval/arithmetic.d.ts +1 -1
- package/dist/types/compute-engine/interval/comparison.d.ts +1 -1
- package/dist/types/compute-engine/interval/elementary.d.ts +1 -1
- package/dist/types/compute-engine/interval/index.d.ts +1 -1
- package/dist/types/compute-engine/interval/trigonometric.d.ts +1 -1
- package/dist/types/compute-engine/interval/types.d.ts +1 -1
- package/dist/types/compute-engine/interval/util.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-algebra.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-arithmetic.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-calculus.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-complex.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-core.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-linear-algebra.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-logic.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-other.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-relational-operators.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-sets.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-statistics.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-symbols.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-trigonometry.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions.d.ts +4 -80
- package/dist/types/compute-engine/latex-syntax/dictionary/indexed-types.d.ts +83 -0
- package/dist/types/compute-engine/latex-syntax/parse-number.d.ts +28 -0
- package/dist/types/compute-engine/latex-syntax/parse-symbol.d.ts +2 -2
- package/dist/types/compute-engine/latex-syntax/parse.d.ts +23 -33
- package/dist/types/compute-engine/latex-syntax/serialize-number.d.ts +2 -2
- package/dist/types/compute-engine/latex-syntax/serializer-style.d.ts +8 -8
- package/dist/types/compute-engine/latex-syntax/serializer.d.ts +15 -15
- package/dist/types/compute-engine/latex-syntax/tokenizer.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/types.d.ts +73 -53
- package/dist/types/compute-engine/latex-syntax/utils.d.ts +1 -1
- package/dist/types/compute-engine/library/arithmetic.d.ts +1 -2
- package/dist/types/compute-engine/library/calculus.d.ts +1 -1
- package/dist/types/compute-engine/library/collections.d.ts +4 -4
- package/dist/types/compute-engine/library/combinatorics.d.ts +1 -1
- package/dist/types/compute-engine/library/complex.d.ts +1 -1
- package/dist/types/compute-engine/library/control-structures.d.ts +1 -1
- package/dist/types/compute-engine/library/core.d.ts +1 -1
- package/dist/types/compute-engine/library/library.d.ts +19 -6
- package/dist/types/compute-engine/library/linear-algebra.d.ts +1 -1
- package/dist/types/compute-engine/library/logic-analysis.d.ts +19 -32
- package/dist/types/compute-engine/library/logic.d.ts +1 -5
- package/dist/types/compute-engine/library/number-theory.d.ts +1 -1
- package/dist/types/compute-engine/library/polynomials.d.ts +1 -1
- package/dist/types/compute-engine/library/random-expression.d.ts +2 -2
- package/dist/types/compute-engine/library/relational-operator.d.ts +1 -1
- package/dist/types/compute-engine/library/sets.d.ts +1 -1
- package/dist/types/compute-engine/library/statistics.d.ts +1 -1
- package/dist/types/compute-engine/library/trigonometry.d.ts +1 -1
- package/dist/types/compute-engine/library/type-handlers.d.ts +4 -0
- package/dist/types/compute-engine/library/utils.d.ts +12 -12
- package/dist/types/compute-engine/numeric-value/big-numeric-value.d.ts +5 -5
- package/dist/types/compute-engine/numeric-value/exact-numeric-value.d.ts +5 -5
- package/dist/types/compute-engine/numeric-value/machine-numeric-value.d.ts +5 -5
- package/dist/types/compute-engine/numeric-value/types.d.ts +2 -3
- package/dist/types/compute-engine/numerics/bigint.d.ts +1 -1
- package/dist/types/compute-engine/numerics/expression.d.ts +3 -3
- package/dist/types/compute-engine/numerics/interval.d.ts +2 -2
- package/dist/types/compute-engine/numerics/monte-carlo.d.ts +1 -1
- package/dist/types/compute-engine/numerics/numeric-bigint.d.ts +1 -1
- package/dist/types/compute-engine/numerics/numeric-bignum.d.ts +1 -1
- package/dist/types/compute-engine/numerics/numeric-complex.d.ts +1 -1
- package/dist/types/compute-engine/numerics/numeric.d.ts +1 -1
- package/dist/types/compute-engine/numerics/primes.d.ts +1 -1
- package/dist/types/compute-engine/numerics/rationals.d.ts +4 -4
- package/dist/types/compute-engine/numerics/richardson.d.ts +1 -1
- package/dist/types/compute-engine/numerics/special-functions.d.ts +120 -1
- package/dist/types/compute-engine/numerics/statistics.d.ts +1 -2
- package/dist/types/compute-engine/numerics/strings.d.ts +1 -1
- package/dist/types/compute-engine/numerics/types.d.ts +3 -1
- package/dist/types/compute-engine/oeis.d.ts +3 -3
- package/dist/types/compute-engine/sequence.d.ts +13 -13
- package/dist/types/compute-engine/symbolic/antiderivative.d.ts +2 -2
- package/dist/types/compute-engine/symbolic/derivative.d.ts +3 -3
- package/dist/types/compute-engine/symbolic/distribute.d.ts +2 -2
- package/dist/types/compute-engine/symbolic/fu-cost.d.ts +6 -6
- package/dist/types/compute-engine/symbolic/fu-transforms.d.ts +46 -46
- package/dist/types/compute-engine/symbolic/fu.d.ts +4 -4
- package/dist/types/compute-engine/symbolic/logic-utils.d.ts +54 -0
- package/dist/types/compute-engine/symbolic/simplify-abs.d.ts +4 -4
- package/dist/types/compute-engine/symbolic/simplify-divide.d.ts +2 -2
- package/dist/types/compute-engine/symbolic/simplify-hyperbolic.d.ts +2 -2
- package/dist/types/compute-engine/symbolic/simplify-infinity.d.ts +2 -2
- package/dist/types/compute-engine/symbolic/simplify-log.d.ts +2 -2
- package/dist/types/compute-engine/symbolic/simplify-logic.d.ts +5 -0
- package/dist/types/compute-engine/symbolic/simplify-power.d.ts +2 -2
- package/dist/types/compute-engine/symbolic/simplify-product.d.ts +2 -2
- package/dist/types/compute-engine/symbolic/simplify-rules.d.ts +65 -4
- package/dist/types/compute-engine/symbolic/simplify-sum.d.ts +2 -2
- package/dist/types/compute-engine/symbolic/simplify-trig.d.ts +2 -2
- package/dist/types/compute-engine/tensor/tensor-fields.d.ts +42 -42
- package/dist/types/compute-engine/tensor/tensors.d.ts +4 -4
- package/dist/types/compute-engine/types-definitions.d.ts +900 -0
- package/dist/types/compute-engine/types-engine.d.ts +375 -0
- package/dist/types/compute-engine/types-evaluation.d.ts +67 -0
- package/dist/types/compute-engine/types-expression.d.ts +1655 -0
- package/dist/types/compute-engine/types-kernel-evaluation.d.ts +164 -0
- package/dist/types/compute-engine/types-kernel-serialization.d.ts +147 -0
- package/dist/types/compute-engine/types-serialization.d.ts +23 -0
- package/dist/types/compute-engine/types.d.ts +2 -2
- package/dist/types/compute-engine.d.ts +16 -3
- package/dist/types/math-json/symbols.d.ts +1 -1
- package/dist/types/math-json/types.d.ts +3 -3
- package/dist/types/math-json/utils.d.ts +31 -31
- package/dist/types/math-json.d.ts +2 -2
- package/package.json +8 -1
- package/dist/types/compute-engine/boxed-expression/terms.d.ts +0 -10
- package/dist/types/compute-engine/library/invisible-operator.d.ts +0 -4
- package/dist/types/compute-engine/library/logic-utils.d.ts +0 -54
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.50.1 */
|
|
2
2
|
* Fu Algorithm Transformation Rules
|
|
3
3
|
*
|
|
4
4
|
* Programmatic implementations of TR1-TR22 from the Fu trigonometric
|
|
@@ -14,117 +14,117 @@
|
|
|
14
14
|
* IMPORTANT: These functions should NOT call .simplify() on their results
|
|
15
15
|
* to avoid infinite recursion when called from the simplification pipeline.
|
|
16
16
|
*/
|
|
17
|
-
import type {
|
|
17
|
+
import type { Expression } from '../global-types';
|
|
18
18
|
/**
|
|
19
19
|
* Check if an expression contains any trigonometric functions
|
|
20
20
|
*/
|
|
21
|
-
export declare function hasTrigFunction(expr:
|
|
21
|
+
export declare function hasTrigFunction(expr: Expression): boolean;
|
|
22
22
|
/**
|
|
23
23
|
* Check if expression contains specific operators anywhere in the tree
|
|
24
24
|
*/
|
|
25
|
-
export declare function hasOperator(expr:
|
|
26
|
-
export declare function TR1(expr:
|
|
25
|
+
export declare function hasOperator(expr: Expression, ...ops: string[]): boolean;
|
|
26
|
+
export declare function TR1(expr: Expression): Expression | undefined;
|
|
27
27
|
/**
|
|
28
28
|
* Apply TR1 to all subexpressions
|
|
29
29
|
*/
|
|
30
|
-
export declare function applyTR1(expr:
|
|
31
|
-
export declare function TR2(expr:
|
|
30
|
+
export declare function applyTR1(expr: Expression): Expression;
|
|
31
|
+
export declare function TR2(expr: Expression): Expression | undefined;
|
|
32
32
|
/**
|
|
33
33
|
* Apply TR2 to all subexpressions
|
|
34
34
|
*/
|
|
35
|
-
export declare function applyTR2(expr:
|
|
36
|
-
export declare function TR2i(expr:
|
|
35
|
+
export declare function applyTR2(expr: Expression): Expression;
|
|
36
|
+
export declare function TR2i(expr: Expression): Expression | undefined;
|
|
37
37
|
/**
|
|
38
38
|
* Apply TR2i to all subexpressions
|
|
39
39
|
*/
|
|
40
|
-
export declare function applyTR2i(expr:
|
|
41
|
-
export declare function TR3(expr:
|
|
40
|
+
export declare function applyTR2i(expr: Expression): Expression;
|
|
41
|
+
export declare function TR3(expr: Expression): Expression | undefined;
|
|
42
42
|
/**
|
|
43
43
|
* Apply TR3 to all subexpressions
|
|
44
44
|
*/
|
|
45
|
-
export declare function applyTR3(expr:
|
|
46
|
-
export declare function TR5(expr:
|
|
45
|
+
export declare function applyTR3(expr: Expression): Expression;
|
|
46
|
+
export declare function TR5(expr: Expression): Expression | undefined;
|
|
47
47
|
/**
|
|
48
48
|
* Apply TR5 to all subexpressions
|
|
49
49
|
*/
|
|
50
|
-
export declare function applyTR5(expr:
|
|
51
|
-
export declare function TR6(expr:
|
|
50
|
+
export declare function applyTR5(expr: Expression): Expression;
|
|
51
|
+
export declare function TR6(expr: Expression): Expression | undefined;
|
|
52
52
|
/**
|
|
53
53
|
* Apply TR6 to all subexpressions
|
|
54
54
|
*/
|
|
55
|
-
export declare function applyTR6(expr:
|
|
56
|
-
export declare function TR7(expr:
|
|
55
|
+
export declare function applyTR6(expr: Expression): Expression;
|
|
56
|
+
export declare function TR7(expr: Expression): Expression | undefined;
|
|
57
57
|
/**
|
|
58
58
|
* Apply TR7 to all subexpressions
|
|
59
59
|
*/
|
|
60
|
-
export declare function applyTR7(expr:
|
|
61
|
-
export declare function TR7i(expr:
|
|
60
|
+
export declare function applyTR7(expr: Expression): Expression;
|
|
61
|
+
export declare function TR7i(expr: Expression): Expression | undefined;
|
|
62
62
|
/**
|
|
63
63
|
* Apply TR7i to all subexpressions
|
|
64
64
|
*/
|
|
65
|
-
export declare function applyTR7i(expr:
|
|
66
|
-
export declare function TR8(expr:
|
|
65
|
+
export declare function applyTR7i(expr: Expression): Expression;
|
|
66
|
+
export declare function TR8(expr: Expression): Expression | undefined;
|
|
67
67
|
/**
|
|
68
68
|
* Apply TR8 to all subexpressions
|
|
69
69
|
*/
|
|
70
|
-
export declare function applyTR8(expr:
|
|
71
|
-
export declare function TR9(expr:
|
|
70
|
+
export declare function applyTR8(expr: Expression): Expression;
|
|
71
|
+
export declare function TR9(expr: Expression): Expression | undefined;
|
|
72
72
|
/**
|
|
73
73
|
* Apply TR9 to all subexpressions
|
|
74
74
|
*/
|
|
75
|
-
export declare function applyTR9(expr:
|
|
76
|
-
export declare function TR10(expr:
|
|
75
|
+
export declare function applyTR9(expr: Expression): Expression;
|
|
76
|
+
export declare function TR10(expr: Expression): Expression | undefined;
|
|
77
77
|
/**
|
|
78
78
|
* Apply TR10 to all subexpressions
|
|
79
79
|
*/
|
|
80
|
-
export declare function applyTR10(expr:
|
|
81
|
-
export declare function TR10i(expr:
|
|
80
|
+
export declare function applyTR10(expr: Expression): Expression;
|
|
81
|
+
export declare function TR10i(expr: Expression): Expression | undefined;
|
|
82
82
|
/**
|
|
83
83
|
* Apply TR10i to all subexpressions
|
|
84
84
|
*/
|
|
85
|
-
export declare function applyTR10i(expr:
|
|
86
|
-
export declare function TR11(expr:
|
|
85
|
+
export declare function applyTR10i(expr: Expression): Expression;
|
|
86
|
+
export declare function TR11(expr: Expression): Expression | undefined;
|
|
87
87
|
/**
|
|
88
88
|
* Apply TR11 to all subexpressions
|
|
89
89
|
*/
|
|
90
|
-
export declare function applyTR11(expr:
|
|
91
|
-
export declare function TR11i(expr:
|
|
90
|
+
export declare function applyTR11(expr: Expression): Expression;
|
|
91
|
+
export declare function TR11i(expr: Expression): Expression | undefined;
|
|
92
92
|
/**
|
|
93
93
|
* Apply TR11i to all subexpressions
|
|
94
94
|
*/
|
|
95
|
-
export declare function applyTR11i(expr:
|
|
96
|
-
export declare function TR12(expr:
|
|
95
|
+
export declare function applyTR11i(expr: Expression): Expression;
|
|
96
|
+
export declare function TR12(expr: Expression): Expression | undefined;
|
|
97
97
|
/**
|
|
98
98
|
* Apply TR12 to all subexpressions
|
|
99
99
|
*/
|
|
100
|
-
export declare function applyTR12(expr:
|
|
101
|
-
export declare function TR12i(expr:
|
|
100
|
+
export declare function applyTR12(expr: Expression): Expression;
|
|
101
|
+
export declare function TR12i(expr: Expression): Expression | undefined;
|
|
102
102
|
/**
|
|
103
103
|
* Apply TR12i to all subexpressions
|
|
104
104
|
*/
|
|
105
|
-
export declare function applyTR12i(expr:
|
|
106
|
-
export declare function TR13(expr:
|
|
105
|
+
export declare function applyTR12i(expr: Expression): Expression;
|
|
106
|
+
export declare function TR13(expr: Expression): Expression | undefined;
|
|
107
107
|
/**
|
|
108
108
|
* Apply TR13 to all subexpressions
|
|
109
109
|
*/
|
|
110
|
-
export declare function applyTR13(expr:
|
|
111
|
-
export declare function TR22(expr:
|
|
110
|
+
export declare function applyTR13(expr: Expression): Expression;
|
|
111
|
+
export declare function TR22(expr: Expression): Expression | undefined;
|
|
112
112
|
/**
|
|
113
113
|
* Apply TR22 to all subexpressions
|
|
114
114
|
*/
|
|
115
|
-
export declare function applyTR22(expr:
|
|
116
|
-
export declare function TR22i(expr:
|
|
115
|
+
export declare function applyTR22(expr: Expression): Expression;
|
|
116
|
+
export declare function TR22i(expr: Expression): Expression | undefined;
|
|
117
117
|
/**
|
|
118
118
|
* Apply TR22i to all subexpressions
|
|
119
119
|
*/
|
|
120
|
-
export declare function applyTR22i(expr:
|
|
121
|
-
export declare function TRmorrie(expr:
|
|
120
|
+
export declare function applyTR22i(expr: Expression): Expression;
|
|
121
|
+
export declare function TRmorrie(expr: Expression): Expression | undefined;
|
|
122
122
|
/**
|
|
123
123
|
* Apply TRmorrie to all subexpressions
|
|
124
124
|
*/
|
|
125
|
-
export declare function applyTRmorrie(expr:
|
|
126
|
-
export declare function TRpythagorean(expr:
|
|
125
|
+
export declare function applyTRmorrie(expr: Expression): Expression;
|
|
126
|
+
export declare function TRpythagorean(expr: Expression): Expression | undefined;
|
|
127
127
|
/**
|
|
128
128
|
* Apply TRpythagorean to all subexpressions
|
|
129
129
|
*/
|
|
130
|
-
export declare function applyTRpythagorean(expr:
|
|
130
|
+
export declare function applyTRpythagorean(expr: Expression): Expression;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.50.1 */
|
|
2
2
|
* Fu Algorithm for Trigonometric Simplification
|
|
3
3
|
*
|
|
4
4
|
* Implementation of the algorithm by Fu, Zhong, and Zeng:
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* combination transforms (CTR), and rule lists (RL) to simplify
|
|
10
10
|
* trigonometric expressions.
|
|
11
11
|
*/
|
|
12
|
-
import type {
|
|
12
|
+
import type { Expression, RuleStep } from '../global-types';
|
|
13
13
|
import { TrigCostFunction } from './fu-cost';
|
|
14
14
|
export interface FuOptions {
|
|
15
15
|
/**
|
|
@@ -38,11 +38,11 @@ export interface FuOptions {
|
|
|
38
38
|
* @param options Configuration options
|
|
39
39
|
* @returns RuleStep with simplified expression, or undefined if no simplification
|
|
40
40
|
*/
|
|
41
|
-
export declare function fu(expr:
|
|
41
|
+
export declare function fu(expr: Expression, options?: FuOptions): RuleStep | undefined;
|
|
42
42
|
/**
|
|
43
43
|
* Simplified entry point that returns the expression directly.
|
|
44
44
|
*/
|
|
45
|
-
export declare function fuSimplify(expr:
|
|
45
|
+
export declare function fuSimplify(expr: Expression, options?: FuOptions): Expression;
|
|
46
46
|
export { hasTrigFunction, hasOperator } from './fu-transforms';
|
|
47
47
|
export { trigCost, countTrigFunctions, countLeaves } from './fu-cost';
|
|
48
48
|
export type { TrigCostFunction } from './fu-cost';
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/* 0.50.1 */
|
|
2
|
+
export declare function evaluateAnd(args: ReadonlyArray<Expression>, { engine: ce }: {
|
|
3
|
+
engine: ComputeEngine;
|
|
4
|
+
}): Expression | undefined;
|
|
5
|
+
export declare function evaluateOr(args: ReadonlyArray<Expression>, { engine: ce }: {
|
|
6
|
+
engine: ComputeEngine;
|
|
7
|
+
}): Expression | undefined;
|
|
8
|
+
export declare function evaluateNot(args: ReadonlyArray<Expression>, { engine: ce }: {
|
|
9
|
+
engine: ComputeEngine;
|
|
10
|
+
}): Expression | undefined;
|
|
11
|
+
export declare function evaluateEquivalent(args: ReadonlyArray<Expression>, { engine: ce }: {
|
|
12
|
+
engine: ComputeEngine;
|
|
13
|
+
}): Expression | undefined;
|
|
14
|
+
export declare function evaluateImplies(args: ReadonlyArray<Expression>, { engine: ce }: {
|
|
15
|
+
engine: ComputeEngine;
|
|
16
|
+
}): Expression | undefined;
|
|
17
|
+
export declare function evaluateXor(args: ReadonlyArray<Expression>, { engine: ce }: {
|
|
18
|
+
engine: ComputeEngine;
|
|
19
|
+
}): Expression | undefined;
|
|
20
|
+
export declare function evaluateNand(args: ReadonlyArray<Expression>, { engine: ce }: {
|
|
21
|
+
engine: ComputeEngine;
|
|
22
|
+
}): Expression | undefined;
|
|
23
|
+
export declare function evaluateNor(args: ReadonlyArray<Expression>, { engine: ce }: {
|
|
24
|
+
engine: ComputeEngine;
|
|
25
|
+
}): Expression | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Convert a boolean expression to Negation Normal Form (NNF).
|
|
28
|
+
* In NNF, negations only appear directly before variables (literals).
|
|
29
|
+
* This is a prerequisite for CNF/DNF conversion.
|
|
30
|
+
*/
|
|
31
|
+
export declare function toNNF(expr: Expression, ce: ComputeEngine): Expression;
|
|
32
|
+
/**
|
|
33
|
+
* Convert a boolean expression to Conjunctive Normal Form (CNF).
|
|
34
|
+
*/
|
|
35
|
+
export declare function toCNF(expr: Expression, ce: ComputeEngine): Expression;
|
|
36
|
+
/**
|
|
37
|
+
* Convert a boolean expression to Disjunctive Normal Form (DNF).
|
|
38
|
+
*/
|
|
39
|
+
export declare function toDNF(expr: Expression, ce: ComputeEngine): Expression;
|
|
40
|
+
/**
|
|
41
|
+
* Extract all propositional variables from a boolean expression.
|
|
42
|
+
* Returns a sorted array of unique variable names.
|
|
43
|
+
*/
|
|
44
|
+
export declare function extractVariables(expr: Expression): string[];
|
|
45
|
+
/**
|
|
46
|
+
* Evaluate a boolean expression with a given truth assignment.
|
|
47
|
+
* Returns True, False, or undefined if the expression cannot be evaluated.
|
|
48
|
+
*/
|
|
49
|
+
export declare function evaluateWithAssignment(expr: Expression, assignment: Record<string, boolean>, ce: ComputeEngine): Expression;
|
|
50
|
+
/**
|
|
51
|
+
* Generate all possible truth assignments for a list of variables.
|
|
52
|
+
* Each assignment is a Record mapping variable names to boolean values.
|
|
53
|
+
*/
|
|
54
|
+
export declare function generateAssignments(variables: string[]): Generator<Record<string, boolean>>;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
/* 0.
|
|
2
|
-
export declare function simplifyAbs(x:
|
|
1
|
+
/* 0.50.1 */
|
|
2
|
+
export declare function simplifyAbs(x: Expression): RuleStep | undefined;
|
|
3
3
|
/**
|
|
4
4
|
* Simplify expressions where Abs appears as the base of a power.
|
|
5
5
|
* |x|^n -> x^n when n is even
|
|
6
6
|
*/
|
|
7
|
-
export declare function simplifyAbsPower(x:
|
|
7
|
+
export declare function simplifyAbsPower(x: Expression): RuleStep | undefined;
|
|
8
8
|
/**
|
|
9
9
|
* Even functions: f(|x|) -> f(x)
|
|
10
10
|
* This rule handles Cos, Sec, Cosh, Sech with Abs argument
|
|
11
11
|
*/
|
|
12
|
-
export declare function simplifyEvenFunctionAbs(x:
|
|
12
|
+
export declare function simplifyEvenFunctionAbs(x: Expression): RuleStep | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.50.1 */
|
|
2
2
|
/**
|
|
3
3
|
* Division simplification rules consolidated from simplify-rules.ts.
|
|
4
4
|
* Handles ~5 patterns for simplifying Divide expressions.
|
|
@@ -12,4 +12,4 @@
|
|
|
12
12
|
*
|
|
13
13
|
* IMPORTANT: Do not call .simplify() on results to avoid infinite recursion.
|
|
14
14
|
*/
|
|
15
|
-
export declare function simplifyDivide(x:
|
|
15
|
+
export declare function simplifyDivide(x: Expression): RuleStep | undefined;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
2
|
-
export declare function simplifyHyperbolic(x:
|
|
1
|
+
/* 0.50.1 */
|
|
2
|
+
export declare function simplifyHyperbolic(x: Expression): RuleStep | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.50.1 */
|
|
2
2
|
/**
|
|
3
3
|
* Infinity simplification rules consolidated from simplify-rules.ts.
|
|
4
4
|
* Handles ~20 patterns for simplifying expressions involving infinity.
|
|
@@ -11,4 +11,4 @@
|
|
|
11
11
|
*
|
|
12
12
|
* IMPORTANT: Do not call .simplify() on results to avoid infinite recursion.
|
|
13
13
|
*/
|
|
14
|
-
export declare function simplifyInfinity(x:
|
|
14
|
+
export declare function simplifyInfinity(x: Expression): RuleStep | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.50.1 */
|
|
2
2
|
/**
|
|
3
3
|
* Logarithm simplification rules consolidated from simplify-rules.ts.
|
|
4
4
|
* Handles ~30 patterns for simplifying Ln and Log expressions.
|
|
@@ -12,4 +12,4 @@
|
|
|
12
12
|
*
|
|
13
13
|
* IMPORTANT: Do not call .simplify() on results to avoid infinite recursion.
|
|
14
14
|
*/
|
|
15
|
-
export declare function simplifyLog(x:
|
|
15
|
+
export declare function simplifyLog(x: Expression): RuleStep | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.50.1 */
|
|
2
2
|
/**
|
|
3
3
|
* Power simplification rules consolidated from simplify-rules.ts.
|
|
4
4
|
* Handles ~25 patterns for simplifying Power expressions.
|
|
@@ -12,4 +12,4 @@
|
|
|
12
12
|
*
|
|
13
13
|
* IMPORTANT: Do not call .simplify() on results to avoid infinite recursion.
|
|
14
14
|
*/
|
|
15
|
-
export declare function simplifyPower(x:
|
|
15
|
+
export declare function simplifyPower(x: Expression): RuleStep | undefined;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.50.1 */
|
|
2
2
|
/**
|
|
3
3
|
* Product simplification rules extracted from simplify-rules.ts.
|
|
4
4
|
* Handles 13 patterns for simplifying Product expressions.
|
|
5
5
|
*/
|
|
6
|
-
export declare function simplifyProduct(x:
|
|
6
|
+
export declare function simplifyProduct(x: Expression): RuleStep | undefined;
|
|
@@ -1,4 +1,65 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.50.1 */
|
|
2
|
+
/**
|
|
3
|
+
* # Performance Optimization Notes for Simplification Rules
|
|
4
|
+
*
|
|
5
|
+
* This file contains rules that are applied repeatedly during simplification.
|
|
6
|
+
* Performance is critical here. Keep these guidelines in mind when writing
|
|
7
|
+
* or optimizing rules:
|
|
8
|
+
*
|
|
9
|
+
* ## 1. Use `_fn()` instead of `function()` when operands are already canonical
|
|
10
|
+
*
|
|
11
|
+
* When creating expressions in rule replacements, the operands (from pattern
|
|
12
|
+
* matching like `ids._x`) are already canonical. Using `_fn()` bypasses
|
|
13
|
+
* re-canonicalization and avoids potential recursion issues:
|
|
14
|
+
*
|
|
15
|
+
* ```typescript
|
|
16
|
+
* // Slower - re-canonicalizes operands:
|
|
17
|
+
* replace: (expr, ids) => expr.engine.function('Sin', [ids._x])
|
|
18
|
+
*
|
|
19
|
+
* // Faster - operands already canonical:
|
|
20
|
+
* replace: (expr, ids) => expr.engine._fn('Sin', [ids._x])
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* Note: For n-ary operators like Add/Multiply that need flattening or sorting,
|
|
24
|
+
* `function()` may still be necessary.
|
|
25
|
+
*
|
|
26
|
+
* ## 2. Avoid LaTeX strings - prefer MathJSON patterns
|
|
27
|
+
*
|
|
28
|
+
* LaTeX strings require parsing which is costly. Use MathJSON arrays instead:
|
|
29
|
+
*
|
|
30
|
+
* ```typescript
|
|
31
|
+
* // Slower - requires LaTeX parsing:
|
|
32
|
+
* '\\sin(x) -> \\cos(x)'
|
|
33
|
+
*
|
|
34
|
+
* // Faster - direct MathJSON:
|
|
35
|
+
* { match: ['Sin', '_x'], replace: (expr, ids) => expr.engine._fn('Cos', [ids._x]) }
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* The `match -> replace` string syntax is convenient for prototyping but should
|
|
39
|
+
* be converted to MathJSON for production rules.
|
|
40
|
+
*
|
|
41
|
+
* ## 3. Use functional rules for quick applicability checks
|
|
42
|
+
*
|
|
43
|
+
* Pattern matching has overhead. For rules that only apply to specific operators,
|
|
44
|
+
* use the functional form to do a quick check first:
|
|
45
|
+
*
|
|
46
|
+
* ```typescript
|
|
47
|
+
* // Pattern matching approach - always attempts match:
|
|
48
|
+
* { match: ['Abs', ['Negate', '_x']], replace: ... }
|
|
49
|
+
*
|
|
50
|
+
* // Functional approach - quick bailout if not applicable:
|
|
51
|
+
* (x): RuleStep | undefined => {
|
|
52
|
+
* if (x.operator !== 'Abs') return undefined;
|
|
53
|
+
* if (x.op1.operator !== 'Negate') return undefined;
|
|
54
|
+
* return { value: x.engine._fn('Abs', [x.op1.op1]), because: 'abs-negate' };
|
|
55
|
+
* }
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* ## 4. Use helper functions for common replacements
|
|
59
|
+
*
|
|
60
|
+
* The helper functions below (toNaN, toZero, etc.) avoid creating new
|
|
61
|
+
* expressions and improve performance for common constant replacements.
|
|
62
|
+
*/
|
|
2
63
|
/**
|
|
3
64
|
* A set of simplification rules.
|
|
4
65
|
*
|
|
@@ -8,10 +69,10 @@
|
|
|
8
69
|
*
|
|
9
70
|
* where `lhs` is rewritten as `rhs` if `condition` is true.
|
|
10
71
|
*
|
|
11
|
-
* `lhs` and `rhs` can be either an
|
|
72
|
+
* `lhs` and `rhs` can be either an MathJsonExpression or a LaTeX string.
|
|
12
73
|
*
|
|
13
|
-
* If using an
|
|
14
|
-
* used. Therefore in some cases using
|
|
74
|
+
* If using an MathJsonExpression, the expression is *not* canonicalized before being
|
|
75
|
+
* used. Therefore in some cases using MathJsonExpression, while more verbose,
|
|
15
76
|
* may be necessary as the expression could be simplified by the canonicalization.
|
|
16
77
|
*/
|
|
17
78
|
export declare const SIMPLIFY_RULES: Rule[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.50.1 */
|
|
2
2
|
/**
|
|
3
3
|
* Sum simplification rules extracted from simplify-rules.ts.
|
|
4
4
|
* Handles 16 patterns for simplifying Sum expressions.
|
|
5
5
|
*/
|
|
6
|
-
export declare function simplifySum(x:
|
|
6
|
+
export declare function simplifySum(x: Expression): RuleStep | undefined;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
2
|
-
export declare function simplifyTrig(x:
|
|
1
|
+
/* 0.50.1 */
|
|
2
|
+
export declare function simplifyTrig(x: Expression): RuleStep | undefined;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/* 0.
|
|
2
|
-
import {
|
|
1
|
+
/* 0.50.1 */
|
|
2
|
+
import { Expression, IComputeEngine as ComputeEngine, DataTypeMap, TensorDataType, TensorField } from '../global-types';
|
|
3
3
|
/** @category Tensors */
|
|
4
4
|
export declare function makeTensorField<DT extends keyof DataTypeMap>(ce: ComputeEngine, dtype: DT): TensorField<DataTypeMap[DT]>;
|
|
5
5
|
/** @category Tensors */
|
|
@@ -16,7 +16,7 @@ export declare class TensorFieldNumber implements TensorField<number> {
|
|
|
16
16
|
cast(x: number, dtype: 'complex128'): undefined | Complex;
|
|
17
17
|
cast(x: number, dtype: 'complex64'): undefined | Complex;
|
|
18
18
|
cast(x: number, dtype: 'bool'): undefined | boolean;
|
|
19
|
-
cast(x: number, dtype: 'expression'): undefined |
|
|
19
|
+
cast(x: number, dtype: 'expression'): undefined | Expression;
|
|
20
20
|
cast(x: number[], dtype: 'float64'): undefined | number[];
|
|
21
21
|
cast(x: number[], dtype: 'float32'): undefined | number[];
|
|
22
22
|
cast(x: number[], dtype: 'int32'): undefined | number[];
|
|
@@ -24,8 +24,8 @@ export declare class TensorFieldNumber implements TensorField<number> {
|
|
|
24
24
|
cast(x: number[], dtype: 'complex128'): undefined | Complex[];
|
|
25
25
|
cast(x: number[], dtype: 'complex64'): undefined | Complex[];
|
|
26
26
|
cast(x: number[], dtype: 'bool'): undefined | boolean[];
|
|
27
|
-
cast(x: number[], dtype: 'expression'): undefined |
|
|
28
|
-
expression(x: number):
|
|
27
|
+
cast(x: number[], dtype: 'expression'): undefined | Expression[];
|
|
28
|
+
expression(x: number): Expression;
|
|
29
29
|
isZero(x: number): boolean;
|
|
30
30
|
isOne(x: number): boolean;
|
|
31
31
|
equals(lhs: number, rhs: number): boolean;
|
|
@@ -40,41 +40,41 @@ export declare class TensorFieldNumber implements TensorField<number> {
|
|
|
40
40
|
conjugate(x: number): number;
|
|
41
41
|
}
|
|
42
42
|
/** @category Tensors */
|
|
43
|
-
export declare class TensorFieldExpression implements TensorField<
|
|
44
|
-
one:
|
|
45
|
-
zero:
|
|
46
|
-
nan:
|
|
43
|
+
export declare class TensorFieldExpression implements TensorField<Expression> {
|
|
44
|
+
one: Expression;
|
|
45
|
+
zero: Expression;
|
|
46
|
+
nan: Expression;
|
|
47
47
|
private ce;
|
|
48
48
|
constructor(ce: ComputeEngine);
|
|
49
|
-
cast(x:
|
|
50
|
-
cast(x:
|
|
51
|
-
cast(x:
|
|
52
|
-
cast(x:
|
|
53
|
-
cast(x:
|
|
54
|
-
cast(x:
|
|
55
|
-
cast(x:
|
|
56
|
-
cast(x:
|
|
57
|
-
cast(x:
|
|
58
|
-
cast(x:
|
|
59
|
-
cast(x:
|
|
60
|
-
cast(x:
|
|
61
|
-
cast(x:
|
|
62
|
-
cast(x:
|
|
63
|
-
cast(x:
|
|
64
|
-
cast(x:
|
|
65
|
-
expression(x:
|
|
66
|
-
isZero(x:
|
|
67
|
-
isOne(x:
|
|
68
|
-
equals(lhs:
|
|
69
|
-
add(lhs:
|
|
70
|
-
addn(...xs:
|
|
71
|
-
neg(x:
|
|
72
|
-
sub(lhs:
|
|
73
|
-
mul(lhs:
|
|
74
|
-
muln(...xs:
|
|
75
|
-
div(lhs:
|
|
76
|
-
pow(lhs:
|
|
77
|
-
conjugate(x:
|
|
49
|
+
cast(x: Expression, dtype: 'float64'): undefined | number;
|
|
50
|
+
cast(x: Expression, dtype: 'float32'): undefined | number;
|
|
51
|
+
cast(x: Expression, dtype: 'int32'): undefined | number;
|
|
52
|
+
cast(x: Expression, dtype: 'uint8'): undefined | number;
|
|
53
|
+
cast(x: Expression, dtype: 'complex128'): undefined | Complex;
|
|
54
|
+
cast(x: Expression, dtype: 'complex64'): undefined | Complex;
|
|
55
|
+
cast(x: Expression, dtype: 'bool'): undefined | boolean;
|
|
56
|
+
cast(x: Expression, dtype: 'expression'): undefined | Expression;
|
|
57
|
+
cast(x: Expression[], dtype: 'float64'): undefined | number[];
|
|
58
|
+
cast(x: Expression[], dtype: 'float32'): undefined | number[];
|
|
59
|
+
cast(x: Expression[], dtype: 'int32'): undefined | number[];
|
|
60
|
+
cast(x: Expression[], dtype: 'uint8'): undefined | number[];
|
|
61
|
+
cast(x: Expression[], dtype: 'complex128'): undefined | Complex[];
|
|
62
|
+
cast(x: Expression[], dtype: 'complex64'): undefined | Complex[];
|
|
63
|
+
cast(x: Expression[], dtype: 'bool'): undefined | boolean[];
|
|
64
|
+
cast(x: Expression[], dtype: 'expression'): undefined | Expression[];
|
|
65
|
+
expression(x: Expression): Expression;
|
|
66
|
+
isZero(x: Expression): boolean;
|
|
67
|
+
isOne(x: Expression): boolean;
|
|
68
|
+
equals(lhs: Expression, rhs: Expression): boolean;
|
|
69
|
+
add(lhs: Expression, rhs: Expression): Expression;
|
|
70
|
+
addn(...xs: Expression[]): Expression;
|
|
71
|
+
neg(x: Expression): Expression;
|
|
72
|
+
sub(lhs: Expression, rhs: Expression): Expression;
|
|
73
|
+
mul(lhs: Expression, rhs: Expression): Expression;
|
|
74
|
+
muln(...xs: Expression[]): Expression;
|
|
75
|
+
div(lhs: Expression, rhs: Expression): Expression;
|
|
76
|
+
pow(lhs: Expression, rhs: number): Expression;
|
|
77
|
+
conjugate(x: Expression): Expression;
|
|
78
78
|
}
|
|
79
79
|
/** @category Tensors */
|
|
80
80
|
export declare class TensorFieldComplex implements TensorField<Complex> {
|
|
@@ -90,7 +90,7 @@ export declare class TensorFieldComplex implements TensorField<Complex> {
|
|
|
90
90
|
cast(x: Complex, dtype: 'complex128'): undefined | Complex;
|
|
91
91
|
cast(x: Complex, dtype: 'complex64'): undefined | Complex;
|
|
92
92
|
cast(x: Complex, dtype: 'bool'): undefined | boolean;
|
|
93
|
-
cast(x: Complex, dtype: 'expression'): undefined |
|
|
93
|
+
cast(x: Complex, dtype: 'expression'): undefined | Expression;
|
|
94
94
|
cast(x: Complex[], dtype: 'float64'): undefined | number[];
|
|
95
95
|
cast(x: Complex[], dtype: 'float32'): undefined | number[];
|
|
96
96
|
cast(x: Complex[], dtype: 'int32'): undefined | number[];
|
|
@@ -98,8 +98,8 @@ export declare class TensorFieldComplex implements TensorField<Complex> {
|
|
|
98
98
|
cast(x: Complex[], dtype: 'complex128'): undefined | Complex[];
|
|
99
99
|
cast(x: Complex[], dtype: 'complex64'): undefined | Complex[];
|
|
100
100
|
cast(x: Complex[], dtype: 'bool'): undefined | boolean[];
|
|
101
|
-
cast(x: Complex[], dtype: 'expression'): undefined |
|
|
102
|
-
expression(z: Complex):
|
|
101
|
+
cast(x: Complex[], dtype: 'expression'): undefined | Expression[];
|
|
102
|
+
expression(z: Complex): Expression;
|
|
103
103
|
isZero(z: Complex): boolean;
|
|
104
104
|
isOne(z: Complex): boolean;
|
|
105
105
|
equals(lhs: Complex, rhs: Complex): boolean;
|
|
@@ -125,4 +125,4 @@ export declare function getSupertype(t1: TensorDataType | undefined, t2: TensorD
|
|
|
125
125
|
* @category Tensors
|
|
126
126
|
* @internal
|
|
127
127
|
*/
|
|
128
|
-
export declare function getExpressionDatatype(expr:
|
|
128
|
+
export declare function getExpressionDatatype(expr: Expression): TensorDataType;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.50.1 */
|
|
2
2
|
/** @category Tensors */
|
|
3
3
|
export declare abstract class AbstractTensor<DT extends keyof DataTypeMap> implements Tensor<DT> {
|
|
4
4
|
private ce;
|
|
@@ -33,10 +33,10 @@ export declare abstract class AbstractTensor<DT extends keyof DataTypeMap> imple
|
|
|
33
33
|
constructor(ce: ComputeEngine, tensorData: TensorData<DT>);
|
|
34
34
|
abstract get dtype(): DT;
|
|
35
35
|
abstract get data(): DataTypeMap[DT][];
|
|
36
|
-
get expression():
|
|
36
|
+
get expression(): Expression;
|
|
37
37
|
/**
|
|
38
38
|
* Like expression(), but return a nested JS array instead
|
|
39
|
-
* of a
|
|
39
|
+
* of a Expression
|
|
40
40
|
*/
|
|
41
41
|
get array(): NestedArray<DataTypeMap[DT]>;
|
|
42
42
|
/** Indices are 1-based, return a 0-based index in the data */
|
|
@@ -79,7 +79,7 @@ export declare abstract class AbstractTensor<DT extends keyof DataTypeMap> imple
|
|
|
79
79
|
inverse(): undefined | AbstractTensor<DT>;
|
|
80
80
|
pseudoInverse(): undefined | AbstractTensor<DT>;
|
|
81
81
|
adjugateMatrix(): undefined | AbstractTensor<DT>;
|
|
82
|
-
minor(
|
|
82
|
+
minor(_i: number, _j: number): undefined | DataTypeMap[DT];
|
|
83
83
|
map1(fn: (lhs: DataTypeMap[DT], rhs: DataTypeMap[DT]) => DataTypeMap[DT], scalar: DataTypeMap[DT]): AbstractTensor<DT>;
|
|
84
84
|
map2(fn: (lhs: DataTypeMap[DT], rhs: DataTypeMap[DT]) => DataTypeMap[DT], rhs: AbstractTensor<DT>): AbstractTensor<DT>;
|
|
85
85
|
add(rhs: AbstractTensor<DT> | DataTypeMap[DT]): AbstractTensor<DT>;
|