@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.
Files changed (223) hide show
  1. package/README.md +121 -5
  2. package/dist/compute-engine.esm.js +55594 -51135
  3. package/dist/compute-engine.min.esm.js +1081 -78
  4. package/dist/compute-engine.min.umd.js +1081 -78
  5. package/dist/compute-engine.umd.js +53638 -49162
  6. package/dist/math-json.esm.js +2 -2
  7. package/dist/math-json.min.esm.js +2 -2
  8. package/dist/math-json.min.umd.js +2 -2
  9. package/dist/math-json.umd.js +2 -2
  10. package/dist/types/common/ansi-codes.d.ts +1 -1
  11. package/dist/types/common/configuration-change.d.ts +1 -1
  12. package/dist/types/common/fuzzy-string-match.d.ts +1 -1
  13. package/dist/types/common/grapheme-splitter.d.ts +1 -1
  14. package/dist/types/common/interruptible.d.ts +1 -1
  15. package/dist/types/common/one-of.d.ts +1 -1
  16. package/dist/types/common/signals.d.ts +1 -1
  17. package/dist/types/common/type/ast-nodes.d.ts +1 -1
  18. package/dist/types/common/type/boxed-type.d.ts +1 -1
  19. package/dist/types/common/type/lexer.d.ts +1 -1
  20. package/dist/types/common/type/parse.d.ts +1 -1
  21. package/dist/types/common/type/parser.d.ts +8 -1
  22. package/dist/types/common/type/primitive.d.ts +2 -1
  23. package/dist/types/common/type/reduce.d.ts +1 -1
  24. package/dist/types/common/type/serialize.d.ts +1 -1
  25. package/dist/types/common/type/subtype.d.ts +1 -1
  26. package/dist/types/common/type/type-builder.d.ts +1 -1
  27. package/dist/types/common/type/types.d.ts +1 -1
  28. package/dist/types/common/type/utils.d.ts +3 -2
  29. package/dist/types/common/utils.d.ts +1 -1
  30. package/dist/types/compute-engine/assume.d.ts +4 -22
  31. package/dist/types/compute-engine/boxed-expression/abstract-boxed-expression.d.ts +66 -76
  32. package/dist/types/compute-engine/boxed-expression/apply.d.ts +4 -4
  33. package/dist/types/compute-engine/boxed-expression/arithmetic-add.d.ts +15 -6
  34. package/dist/types/compute-engine/boxed-expression/arithmetic-mul-div.d.ts +72 -6
  35. package/dist/types/compute-engine/boxed-expression/arithmetic-power.d.ts +8 -8
  36. package/dist/types/compute-engine/boxed-expression/ascii-math.d.ts +5 -8
  37. package/dist/types/compute-engine/boxed-expression/box.d.ts +63 -8
  38. package/dist/types/compute-engine/boxed-expression/boxed-dictionary.d.ts +13 -12
  39. package/dist/types/compute-engine/boxed-expression/boxed-function.d.ts +44 -43
  40. package/dist/types/compute-engine/boxed-expression/boxed-number.d.ts +31 -30
  41. package/dist/types/compute-engine/boxed-expression/boxed-operator-definition.d.ts +18 -18
  42. package/dist/types/compute-engine/boxed-expression/boxed-patterns.d.ts +5 -37
  43. package/dist/types/compute-engine/boxed-expression/boxed-string.d.ts +5 -4
  44. package/dist/types/compute-engine/boxed-expression/boxed-symbol.d.ts +34 -33
  45. package/dist/types/compute-engine/boxed-expression/boxed-tensor.d.ts +34 -33
  46. package/dist/types/compute-engine/boxed-expression/boxed-value-definition.d.ts +8 -8
  47. package/dist/types/compute-engine/boxed-expression/cache.d.ts +1 -1
  48. package/dist/types/compute-engine/boxed-expression/canonical-utils.d.ts +2 -2
  49. package/dist/types/compute-engine/boxed-expression/canonical.d.ts +2 -2
  50. package/dist/types/compute-engine/boxed-expression/compare.d.ts +7 -4
  51. package/dist/types/compute-engine/boxed-expression/constants.d.ts +6 -0
  52. package/dist/types/compute-engine/boxed-expression/expand.d.ts +4 -5
  53. package/dist/types/compute-engine/boxed-expression/expression-map.d.ts +9 -9
  54. package/dist/types/compute-engine/boxed-expression/factor.d.ts +7 -7
  55. package/dist/types/compute-engine/boxed-expression/flatten.d.ts +4 -13
  56. package/dist/types/compute-engine/boxed-expression/hold.d.ts +3 -3
  57. package/dist/types/compute-engine/boxed-expression/inequality-bounds.d.ts +21 -0
  58. package/dist/types/compute-engine/boxed-expression/init-lazy-refs.d.ts +1 -0
  59. package/dist/types/compute-engine/boxed-expression/invisible-operator.d.ts +4 -0
  60. package/dist/types/compute-engine/boxed-expression/match.d.ts +2 -2
  61. package/dist/types/compute-engine/boxed-expression/negate.d.ts +4 -4
  62. package/dist/types/compute-engine/boxed-expression/numerics.d.ts +8 -8
  63. package/dist/types/compute-engine/boxed-expression/order.d.ts +14 -14
  64. package/dist/types/compute-engine/boxed-expression/pattern-utils.d.ts +41 -0
  65. package/dist/types/compute-engine/boxed-expression/polynomial-degree.d.ts +18 -0
  66. package/dist/types/compute-engine/boxed-expression/polynomials.d.ts +12 -35
  67. package/dist/types/compute-engine/boxed-expression/predicates.d.ts +2 -0
  68. package/dist/types/compute-engine/boxed-expression/product.d.ts +1 -66
  69. package/dist/types/compute-engine/boxed-expression/rules.d.ts +51 -51
  70. package/dist/types/compute-engine/boxed-expression/serialize.d.ts +6 -3
  71. package/dist/types/compute-engine/boxed-expression/sgn.d.ts +2 -2
  72. package/dist/types/compute-engine/boxed-expression/simplify.d.ts +2 -2
  73. package/dist/types/compute-engine/boxed-expression/solve-linear-system.d.ts +8 -8
  74. package/dist/types/compute-engine/boxed-expression/solve.d.ts +3 -11
  75. package/dist/types/compute-engine/boxed-expression/trigonometry.d.ts +7 -7
  76. package/dist/types/compute-engine/boxed-expression/type-guards.d.ts +31 -0
  77. package/dist/types/compute-engine/boxed-expression/utils.d.ts +13 -13
  78. package/dist/types/compute-engine/boxed-expression/validate.d.ts +10 -10
  79. package/dist/types/compute-engine/collection-utils.d.ts +4 -4
  80. package/dist/types/compute-engine/compilation/base-compiler.d.ts +3 -3
  81. package/dist/types/compute-engine/compilation/compile-expression.d.ts +25 -0
  82. package/dist/types/compute-engine/compilation/glsl-target.d.ts +12 -41
  83. package/dist/types/compute-engine/compilation/gpu-target.d.ts +50 -0
  84. package/dist/types/compute-engine/compilation/interval-glsl-target.d.ts +11 -11
  85. package/dist/types/compute-engine/compilation/interval-javascript-target.d.ts +7 -7
  86. package/dist/types/compute-engine/compilation/interval-wgsl-target.d.ts +54 -0
  87. package/dist/types/compute-engine/compilation/javascript-target.d.ts +6 -6
  88. package/dist/types/compute-engine/compilation/python-target.d.ts +61 -0
  89. package/dist/types/compute-engine/compilation/types.d.ts +38 -22
  90. package/dist/types/compute-engine/compilation/wgsl-target.d.ts +41 -0
  91. package/dist/types/compute-engine/cost-function.d.ts +3 -3
  92. package/dist/types/compute-engine/engine-assumptions.d.ts +6 -0
  93. package/dist/types/compute-engine/engine-cache.d.ts +6 -0
  94. package/dist/types/compute-engine/engine-common-symbols.d.ts +6 -0
  95. package/dist/types/compute-engine/engine-compilation-targets.d.ts +17 -0
  96. package/dist/types/compute-engine/engine-configuration-lifecycle.d.ts +15 -0
  97. package/dist/types/compute-engine/engine-declarations.d.ts +19 -0
  98. package/dist/types/compute-engine/engine-expression-entrypoints.d.ts +44 -0
  99. package/dist/types/compute-engine/engine-extension-contracts.d.ts +9 -0
  100. package/dist/types/compute-engine/engine-latex-dictionary-state.d.ts +13 -0
  101. package/dist/types/compute-engine/engine-library-bootstrap.d.ts +6 -0
  102. package/dist/types/compute-engine/engine-numeric-configuration.d.ts +34 -0
  103. package/dist/types/compute-engine/engine-parse-entrypoint.d.ts +7 -0
  104. package/dist/types/compute-engine/engine-runtime-state.d.ts +19 -0
  105. package/dist/types/compute-engine/engine-scope.d.ts +13 -0
  106. package/dist/types/compute-engine/engine-sequences.d.ts +14 -0
  107. package/dist/types/compute-engine/engine-simplification-rules.d.ts +15 -0
  108. package/dist/types/compute-engine/engine-startup-coordinator.d.ts +28 -0
  109. package/dist/types/compute-engine/engine-type-resolver.d.ts +12 -0
  110. package/dist/types/compute-engine/engine-validation-entrypoints.d.ts +13 -0
  111. package/dist/types/compute-engine/free-functions.d.ts +20 -0
  112. package/dist/types/compute-engine/function-utils.d.ts +10 -10
  113. package/dist/types/compute-engine/global-types.d.ts +5 -3301
  114. package/dist/types/compute-engine/index.d.ts +156 -112
  115. package/dist/types/compute-engine/interval/arithmetic.d.ts +1 -1
  116. package/dist/types/compute-engine/interval/comparison.d.ts +1 -1
  117. package/dist/types/compute-engine/interval/elementary.d.ts +1 -1
  118. package/dist/types/compute-engine/interval/index.d.ts +1 -1
  119. package/dist/types/compute-engine/interval/trigonometric.d.ts +1 -1
  120. package/dist/types/compute-engine/interval/types.d.ts +1 -1
  121. package/dist/types/compute-engine/interval/util.d.ts +1 -1
  122. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-algebra.d.ts +1 -1
  123. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-arithmetic.d.ts +1 -1
  124. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-calculus.d.ts +1 -1
  125. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-complex.d.ts +1 -1
  126. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-core.d.ts +1 -1
  127. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-linear-algebra.d.ts +1 -1
  128. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-logic.d.ts +1 -1
  129. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-other.d.ts +1 -1
  130. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-relational-operators.d.ts +1 -1
  131. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-sets.d.ts +1 -1
  132. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-statistics.d.ts +1 -1
  133. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-symbols.d.ts +1 -1
  134. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-trigonometry.d.ts +1 -1
  135. package/dist/types/compute-engine/latex-syntax/dictionary/definitions.d.ts +4 -80
  136. package/dist/types/compute-engine/latex-syntax/dictionary/indexed-types.d.ts +83 -0
  137. package/dist/types/compute-engine/latex-syntax/parse-number.d.ts +28 -0
  138. package/dist/types/compute-engine/latex-syntax/parse-symbol.d.ts +2 -2
  139. package/dist/types/compute-engine/latex-syntax/parse.d.ts +23 -33
  140. package/dist/types/compute-engine/latex-syntax/serialize-number.d.ts +2 -2
  141. package/dist/types/compute-engine/latex-syntax/serializer-style.d.ts +8 -8
  142. package/dist/types/compute-engine/latex-syntax/serializer.d.ts +15 -15
  143. package/dist/types/compute-engine/latex-syntax/tokenizer.d.ts +1 -1
  144. package/dist/types/compute-engine/latex-syntax/types.d.ts +73 -53
  145. package/dist/types/compute-engine/latex-syntax/utils.d.ts +1 -1
  146. package/dist/types/compute-engine/library/arithmetic.d.ts +1 -2
  147. package/dist/types/compute-engine/library/calculus.d.ts +1 -1
  148. package/dist/types/compute-engine/library/collections.d.ts +4 -4
  149. package/dist/types/compute-engine/library/combinatorics.d.ts +1 -1
  150. package/dist/types/compute-engine/library/complex.d.ts +1 -1
  151. package/dist/types/compute-engine/library/control-structures.d.ts +1 -1
  152. package/dist/types/compute-engine/library/core.d.ts +1 -1
  153. package/dist/types/compute-engine/library/library.d.ts +19 -6
  154. package/dist/types/compute-engine/library/linear-algebra.d.ts +1 -1
  155. package/dist/types/compute-engine/library/logic-analysis.d.ts +19 -32
  156. package/dist/types/compute-engine/library/logic.d.ts +1 -5
  157. package/dist/types/compute-engine/library/number-theory.d.ts +1 -1
  158. package/dist/types/compute-engine/library/polynomials.d.ts +1 -1
  159. package/dist/types/compute-engine/library/random-expression.d.ts +2 -2
  160. package/dist/types/compute-engine/library/relational-operator.d.ts +1 -1
  161. package/dist/types/compute-engine/library/sets.d.ts +1 -1
  162. package/dist/types/compute-engine/library/statistics.d.ts +1 -1
  163. package/dist/types/compute-engine/library/trigonometry.d.ts +1 -1
  164. package/dist/types/compute-engine/library/type-handlers.d.ts +4 -0
  165. package/dist/types/compute-engine/library/utils.d.ts +12 -12
  166. package/dist/types/compute-engine/numeric-value/big-numeric-value.d.ts +5 -5
  167. package/dist/types/compute-engine/numeric-value/exact-numeric-value.d.ts +5 -5
  168. package/dist/types/compute-engine/numeric-value/machine-numeric-value.d.ts +5 -5
  169. package/dist/types/compute-engine/numeric-value/types.d.ts +2 -3
  170. package/dist/types/compute-engine/numerics/bigint.d.ts +1 -1
  171. package/dist/types/compute-engine/numerics/expression.d.ts +3 -3
  172. package/dist/types/compute-engine/numerics/interval.d.ts +2 -2
  173. package/dist/types/compute-engine/numerics/monte-carlo.d.ts +1 -1
  174. package/dist/types/compute-engine/numerics/numeric-bigint.d.ts +1 -1
  175. package/dist/types/compute-engine/numerics/numeric-bignum.d.ts +1 -1
  176. package/dist/types/compute-engine/numerics/numeric-complex.d.ts +1 -1
  177. package/dist/types/compute-engine/numerics/numeric.d.ts +1 -1
  178. package/dist/types/compute-engine/numerics/primes.d.ts +1 -1
  179. package/dist/types/compute-engine/numerics/rationals.d.ts +4 -4
  180. package/dist/types/compute-engine/numerics/richardson.d.ts +1 -1
  181. package/dist/types/compute-engine/numerics/special-functions.d.ts +120 -1
  182. package/dist/types/compute-engine/numerics/statistics.d.ts +1 -2
  183. package/dist/types/compute-engine/numerics/strings.d.ts +1 -1
  184. package/dist/types/compute-engine/numerics/types.d.ts +3 -1
  185. package/dist/types/compute-engine/oeis.d.ts +3 -3
  186. package/dist/types/compute-engine/sequence.d.ts +13 -13
  187. package/dist/types/compute-engine/symbolic/antiderivative.d.ts +2 -2
  188. package/dist/types/compute-engine/symbolic/derivative.d.ts +3 -3
  189. package/dist/types/compute-engine/symbolic/distribute.d.ts +2 -2
  190. package/dist/types/compute-engine/symbolic/fu-cost.d.ts +6 -6
  191. package/dist/types/compute-engine/symbolic/fu-transforms.d.ts +46 -46
  192. package/dist/types/compute-engine/symbolic/fu.d.ts +4 -4
  193. package/dist/types/compute-engine/symbolic/logic-utils.d.ts +54 -0
  194. package/dist/types/compute-engine/symbolic/simplify-abs.d.ts +4 -4
  195. package/dist/types/compute-engine/symbolic/simplify-divide.d.ts +2 -2
  196. package/dist/types/compute-engine/symbolic/simplify-hyperbolic.d.ts +2 -2
  197. package/dist/types/compute-engine/symbolic/simplify-infinity.d.ts +2 -2
  198. package/dist/types/compute-engine/symbolic/simplify-log.d.ts +2 -2
  199. package/dist/types/compute-engine/symbolic/simplify-logic.d.ts +5 -0
  200. package/dist/types/compute-engine/symbolic/simplify-power.d.ts +2 -2
  201. package/dist/types/compute-engine/symbolic/simplify-product.d.ts +2 -2
  202. package/dist/types/compute-engine/symbolic/simplify-rules.d.ts +65 -4
  203. package/dist/types/compute-engine/symbolic/simplify-sum.d.ts +2 -2
  204. package/dist/types/compute-engine/symbolic/simplify-trig.d.ts +2 -2
  205. package/dist/types/compute-engine/tensor/tensor-fields.d.ts +42 -42
  206. package/dist/types/compute-engine/tensor/tensors.d.ts +4 -4
  207. package/dist/types/compute-engine/types-definitions.d.ts +900 -0
  208. package/dist/types/compute-engine/types-engine.d.ts +375 -0
  209. package/dist/types/compute-engine/types-evaluation.d.ts +67 -0
  210. package/dist/types/compute-engine/types-expression.d.ts +1655 -0
  211. package/dist/types/compute-engine/types-kernel-evaluation.d.ts +164 -0
  212. package/dist/types/compute-engine/types-kernel-serialization.d.ts +147 -0
  213. package/dist/types/compute-engine/types-serialization.d.ts +23 -0
  214. package/dist/types/compute-engine/types.d.ts +2 -2
  215. package/dist/types/compute-engine.d.ts +16 -3
  216. package/dist/types/math-json/symbols.d.ts +1 -1
  217. package/dist/types/math-json/types.d.ts +3 -3
  218. package/dist/types/math-json/utils.d.ts +31 -31
  219. package/dist/types/math-json.d.ts +2 -2
  220. package/package.json +8 -1
  221. package/dist/types/compute-engine/boxed-expression/terms.d.ts +0 -10
  222. package/dist/types/compute-engine/library/invisible-operator.d.ts +0 -4
  223. package/dist/types/compute-engine/library/logic-utils.d.ts +0 -54
@@ -1,4 +1,4 @@
1
- /* 0.35.6 */
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 { BoxedExpression } from '../global-types';
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: BoxedExpression): boolean;
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: BoxedExpression, ...ops: string[]): boolean;
26
- export declare function TR1(expr: BoxedExpression): BoxedExpression | undefined;
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: BoxedExpression): BoxedExpression;
31
- export declare function TR2(expr: BoxedExpression): BoxedExpression | undefined;
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: BoxedExpression): BoxedExpression;
36
- export declare function TR2i(expr: BoxedExpression): BoxedExpression | undefined;
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: BoxedExpression): BoxedExpression;
41
- export declare function TR3(expr: BoxedExpression): BoxedExpression | undefined;
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: BoxedExpression): BoxedExpression;
46
- export declare function TR5(expr: BoxedExpression): BoxedExpression | undefined;
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: BoxedExpression): BoxedExpression;
51
- export declare function TR6(expr: BoxedExpression): BoxedExpression | undefined;
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: BoxedExpression): BoxedExpression;
56
- export declare function TR7(expr: BoxedExpression): BoxedExpression | undefined;
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: BoxedExpression): BoxedExpression;
61
- export declare function TR7i(expr: BoxedExpression): BoxedExpression | undefined;
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: BoxedExpression): BoxedExpression;
66
- export declare function TR8(expr: BoxedExpression): BoxedExpression | undefined;
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: BoxedExpression): BoxedExpression;
71
- export declare function TR9(expr: BoxedExpression): BoxedExpression | undefined;
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: BoxedExpression): BoxedExpression;
76
- export declare function TR10(expr: BoxedExpression): BoxedExpression | undefined;
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: BoxedExpression): BoxedExpression;
81
- export declare function TR10i(expr: BoxedExpression): BoxedExpression | undefined;
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: BoxedExpression): BoxedExpression;
86
- export declare function TR11(expr: BoxedExpression): BoxedExpression | undefined;
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: BoxedExpression): BoxedExpression;
91
- export declare function TR11i(expr: BoxedExpression): BoxedExpression | undefined;
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: BoxedExpression): BoxedExpression;
96
- export declare function TR12(expr: BoxedExpression): BoxedExpression | undefined;
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: BoxedExpression): BoxedExpression;
101
- export declare function TR12i(expr: BoxedExpression): BoxedExpression | undefined;
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: BoxedExpression): BoxedExpression;
106
- export declare function TR13(expr: BoxedExpression): BoxedExpression | undefined;
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: BoxedExpression): BoxedExpression;
111
- export declare function TR22(expr: BoxedExpression): BoxedExpression | undefined;
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: BoxedExpression): BoxedExpression;
116
- export declare function TR22i(expr: BoxedExpression): BoxedExpression | undefined;
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: BoxedExpression): BoxedExpression;
121
- export declare function TRmorrie(expr: BoxedExpression): BoxedExpression | undefined;
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: BoxedExpression): BoxedExpression;
126
- export declare function TRpythagorean(expr: BoxedExpression): BoxedExpression | undefined;
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: BoxedExpression): BoxedExpression;
130
+ export declare function applyTRpythagorean(expr: Expression): Expression;
@@ -1,4 +1,4 @@
1
- /* 0.35.6 */
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 { BoxedExpression, RuleStep } from '../global-types';
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: BoxedExpression, options?: FuOptions): RuleStep | undefined;
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: BoxedExpression, options?: FuOptions): BoxedExpression;
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.35.6 */
2
- export declare function simplifyAbs(x: BoxedExpression): RuleStep | undefined;
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: BoxedExpression): RuleStep | undefined;
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: BoxedExpression): RuleStep | undefined;
12
+ export declare function simplifyEvenFunctionAbs(x: Expression): RuleStep | undefined;
@@ -1,4 +1,4 @@
1
- /* 0.35.6 */
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: BoxedExpression): RuleStep | undefined;
15
+ export declare function simplifyDivide(x: Expression): RuleStep | undefined;
@@ -1,2 +1,2 @@
1
- /* 0.35.6 */
2
- export declare function simplifyHyperbolic(x: BoxedExpression): RuleStep | undefined;
1
+ /* 0.50.1 */
2
+ export declare function simplifyHyperbolic(x: Expression): RuleStep | undefined;
@@ -1,4 +1,4 @@
1
- /* 0.35.6 */
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: BoxedExpression): RuleStep | undefined;
14
+ export declare function simplifyInfinity(x: Expression): RuleStep | undefined;
@@ -1,4 +1,4 @@
1
- /* 0.35.6 */
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: BoxedExpression): RuleStep | undefined;
15
+ export declare function simplifyLog(x: Expression): RuleStep | undefined;
@@ -0,0 +1,5 @@
1
+ /* 0.50.1 */
2
+ export declare function simplifyLogicFunction(x: Expression): {
3
+ value: Expression;
4
+ because: string;
5
+ } | undefined;
@@ -1,4 +1,4 @@
1
- /* 0.35.6 */
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: BoxedExpression): RuleStep | undefined;
15
+ export declare function simplifyPower(x: Expression): RuleStep | undefined;
@@ -1,6 +1,6 @@
1
- /* 0.35.6 */
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: BoxedExpression): RuleStep | undefined;
6
+ export declare function simplifyProduct(x: Expression): RuleStep | undefined;
@@ -1,4 +1,65 @@
1
- /* 0.35.6 */
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 Expression or a LaTeX string.
72
+ * `lhs` and `rhs` can be either an MathJsonExpression or a LaTeX string.
12
73
  *
13
- * If using an Expression, the expression is *not* canonicalized before being
14
- * used. Therefore in some cases using Expression, while more verbose,
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.35.6 */
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: BoxedExpression): RuleStep | undefined;
6
+ export declare function simplifySum(x: Expression): RuleStep | undefined;
@@ -1,2 +1,2 @@
1
- /* 0.35.6 */
2
- export declare function simplifyTrig(x: BoxedExpression): RuleStep | undefined;
1
+ /* 0.50.1 */
2
+ export declare function simplifyTrig(x: Expression): RuleStep | undefined;
@@ -1,5 +1,5 @@
1
- /* 0.35.6 */
2
- import { BoxedExpression, ComputeEngine, DataTypeMap, TensorDataType, TensorField } from '../global-types';
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 | BoxedExpression;
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 | BoxedExpression[];
28
- expression(x: number): BoxedExpression;
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<BoxedExpression> {
44
- one: BoxedExpression;
45
- zero: BoxedExpression;
46
- nan: BoxedExpression;
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: BoxedExpression, dtype: 'float64'): undefined | number;
50
- cast(x: BoxedExpression, dtype: 'float32'): undefined | number;
51
- cast(x: BoxedExpression, dtype: 'int32'): undefined | number;
52
- cast(x: BoxedExpression, dtype: 'uint8'): undefined | number;
53
- cast(x: BoxedExpression, dtype: 'complex128'): undefined | Complex;
54
- cast(x: BoxedExpression, dtype: 'complex64'): undefined | Complex;
55
- cast(x: BoxedExpression, dtype: 'bool'): undefined | boolean;
56
- cast(x: BoxedExpression, dtype: 'expression'): undefined | BoxedExpression;
57
- cast(x: BoxedExpression[], dtype: 'float64'): undefined | number[];
58
- cast(x: BoxedExpression[], dtype: 'float32'): undefined | number[];
59
- cast(x: BoxedExpression[], dtype: 'int32'): undefined | number[];
60
- cast(x: BoxedExpression[], dtype: 'uint8'): undefined | number[];
61
- cast(x: BoxedExpression[], dtype: 'complex128'): undefined | Complex[];
62
- cast(x: BoxedExpression[], dtype: 'complex64'): undefined | Complex[];
63
- cast(x: BoxedExpression[], dtype: 'bool'): undefined | boolean[];
64
- cast(x: BoxedExpression[], dtype: 'expression'): undefined | BoxedExpression[];
65
- expression(x: BoxedExpression): BoxedExpression;
66
- isZero(x: BoxedExpression): boolean;
67
- isOne(x: BoxedExpression): boolean;
68
- equals(lhs: BoxedExpression, rhs: BoxedExpression): boolean;
69
- add(lhs: BoxedExpression, rhs: BoxedExpression): BoxedExpression;
70
- addn(...xs: BoxedExpression[]): BoxedExpression;
71
- neg(x: BoxedExpression): BoxedExpression;
72
- sub(lhs: BoxedExpression, rhs: BoxedExpression): BoxedExpression;
73
- mul(lhs: BoxedExpression, rhs: BoxedExpression): BoxedExpression;
74
- muln(...xs: BoxedExpression[]): BoxedExpression;
75
- div(lhs: BoxedExpression, rhs: BoxedExpression): BoxedExpression;
76
- pow(lhs: BoxedExpression, rhs: number): BoxedExpression;
77
- conjugate(x: BoxedExpression): BoxedExpression;
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 | BoxedExpression;
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 | BoxedExpression[];
102
- expression(z: Complex): BoxedExpression;
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: BoxedExpression): TensorDataType;
128
+ export declare function getExpressionDatatype(expr: Expression): TensorDataType;
@@ -1,4 +1,4 @@
1
- /* 0.35.6 */
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(): BoxedExpression;
36
+ get expression(): Expression;
37
37
  /**
38
38
  * Like expression(), but return a nested JS array instead
39
- * of a BoxedExpression
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(i: number, j: number): undefined | DataTypeMap[DT];
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>;