@cortex-js/compute-engine 0.56.0 → 0.57.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. package/dist/compile.esm.js +450 -42
  2. package/dist/compile.min.esm.js +57 -57
  3. package/dist/compile.min.umd.cjs +58 -58
  4. package/dist/compile.umd.cjs +450 -42
  5. package/dist/compute-engine.esm.js +677 -49
  6. package/dist/compute-engine.min.esm.js +62 -62
  7. package/dist/compute-engine.min.umd.cjs +62 -62
  8. package/dist/compute-engine.umd.cjs +677 -49
  9. package/dist/core.esm.js +676 -48
  10. package/dist/core.min.esm.js +61 -61
  11. package/dist/core.min.umd.cjs +61 -61
  12. package/dist/core.umd.cjs +676 -48
  13. package/dist/interval.esm.js +228 -16
  14. package/dist/interval.min.esm.js +6 -6
  15. package/dist/interval.min.umd.cjs +6 -6
  16. package/dist/interval.umd.cjs +228 -16
  17. package/dist/latex-syntax.esm.js +269 -16
  18. package/dist/latex-syntax.min.esm.js +6 -6
  19. package/dist/latex-syntax.min.umd.cjs +6 -6
  20. package/dist/latex-syntax.umd.cjs +269 -16
  21. package/dist/math-json.esm.js +2 -2
  22. package/dist/math-json.min.esm.js +2 -2
  23. package/dist/math-json.min.umd.cjs +2 -2
  24. package/dist/math-json.umd.cjs +2 -2
  25. package/dist/numerics.esm.js +2 -2
  26. package/dist/numerics.min.esm.js +2 -2
  27. package/dist/numerics.min.umd.cjs +2 -2
  28. package/dist/numerics.umd.cjs +2 -2
  29. package/dist/types/big-decimal/big-decimal.d.ts +1 -1
  30. package/dist/types/big-decimal/index.d.ts +1 -1
  31. package/dist/types/big-decimal/transcendentals.d.ts +1 -1
  32. package/dist/types/big-decimal/utils.d.ts +1 -1
  33. package/dist/types/common/ansi-codes.d.ts +1 -1
  34. package/dist/types/common/configuration-change.d.ts +1 -1
  35. package/dist/types/common/fuzzy-string-match.d.ts +1 -1
  36. package/dist/types/common/grapheme-splitter.d.ts +1 -1
  37. package/dist/types/common/interruptible.d.ts +1 -1
  38. package/dist/types/common/one-of.d.ts +1 -1
  39. package/dist/types/common/signals.d.ts +1 -1
  40. package/dist/types/common/type/ast-nodes.d.ts +1 -1
  41. package/dist/types/common/type/boxed-type.d.ts +1 -1
  42. package/dist/types/common/type/lexer.d.ts +1 -1
  43. package/dist/types/common/type/parse.d.ts +1 -1
  44. package/dist/types/common/type/parser.d.ts +1 -1
  45. package/dist/types/common/type/primitive.d.ts +1 -1
  46. package/dist/types/common/type/reduce.d.ts +1 -1
  47. package/dist/types/common/type/serialize.d.ts +1 -1
  48. package/dist/types/common/type/subtype.d.ts +1 -1
  49. package/dist/types/common/type/type-builder.d.ts +1 -1
  50. package/dist/types/common/type/types.d.ts +1 -1
  51. package/dist/types/common/type/utils.d.ts +1 -1
  52. package/dist/types/common/utils.d.ts +1 -1
  53. package/dist/types/compile.d.ts +1 -1
  54. package/dist/types/compute-engine/assume.d.ts +1 -1
  55. package/dist/types/compute-engine/boxed-expression/abstract-boxed-expression.d.ts +6 -1
  56. package/dist/types/compute-engine/boxed-expression/apply.d.ts +1 -1
  57. package/dist/types/compute-engine/boxed-expression/arithmetic-add.d.ts +1 -1
  58. package/dist/types/compute-engine/boxed-expression/arithmetic-mul-div.d.ts +1 -1
  59. package/dist/types/compute-engine/boxed-expression/arithmetic-power.d.ts +1 -1
  60. package/dist/types/compute-engine/boxed-expression/ascii-math.d.ts +1 -1
  61. package/dist/types/compute-engine/boxed-expression/box.d.ts +1 -1
  62. package/dist/types/compute-engine/boxed-expression/boxed-dictionary.d.ts +1 -1
  63. package/dist/types/compute-engine/boxed-expression/boxed-function.d.ts +1 -1
  64. package/dist/types/compute-engine/boxed-expression/boxed-number.d.ts +1 -1
  65. package/dist/types/compute-engine/boxed-expression/boxed-operator-definition.d.ts +1 -1
  66. package/dist/types/compute-engine/boxed-expression/boxed-patterns.d.ts +1 -1
  67. package/dist/types/compute-engine/boxed-expression/boxed-string.d.ts +1 -1
  68. package/dist/types/compute-engine/boxed-expression/boxed-symbol.d.ts +1 -1
  69. package/dist/types/compute-engine/boxed-expression/boxed-tensor.d.ts +1 -1
  70. package/dist/types/compute-engine/boxed-expression/boxed-value-definition.d.ts +1 -1
  71. package/dist/types/compute-engine/boxed-expression/cache.d.ts +1 -1
  72. package/dist/types/compute-engine/boxed-expression/canonical-utils.d.ts +1 -1
  73. package/dist/types/compute-engine/boxed-expression/canonical.d.ts +1 -1
  74. package/dist/types/compute-engine/boxed-expression/compare.d.ts +1 -1
  75. package/dist/types/compute-engine/boxed-expression/constants.d.ts +1 -1
  76. package/dist/types/compute-engine/boxed-expression/expand.d.ts +1 -1
  77. package/dist/types/compute-engine/boxed-expression/expression-map.d.ts +1 -1
  78. package/dist/types/compute-engine/boxed-expression/factor.d.ts +1 -1
  79. package/dist/types/compute-engine/boxed-expression/flatten.d.ts +1 -1
  80. package/dist/types/compute-engine/boxed-expression/hold.d.ts +1 -1
  81. package/dist/types/compute-engine/boxed-expression/inequality-bounds.d.ts +1 -1
  82. package/dist/types/compute-engine/boxed-expression/init-lazy-refs.d.ts +1 -1
  83. package/dist/types/compute-engine/boxed-expression/invisible-operator.d.ts +1 -1
  84. package/dist/types/compute-engine/boxed-expression/match.d.ts +1 -1
  85. package/dist/types/compute-engine/boxed-expression/negate.d.ts +1 -1
  86. package/dist/types/compute-engine/boxed-expression/numerics.d.ts +1 -1
  87. package/dist/types/compute-engine/boxed-expression/order.d.ts +1 -1
  88. package/dist/types/compute-engine/boxed-expression/pattern-utils.d.ts +1 -1
  89. package/dist/types/compute-engine/boxed-expression/polynomial-degree.d.ts +1 -1
  90. package/dist/types/compute-engine/boxed-expression/polynomials.d.ts +1 -1
  91. package/dist/types/compute-engine/boxed-expression/predicates.d.ts +1 -1
  92. package/dist/types/compute-engine/boxed-expression/rules.d.ts +1 -1
  93. package/dist/types/compute-engine/boxed-expression/serialize.d.ts +1 -1
  94. package/dist/types/compute-engine/boxed-expression/sgn.d.ts +1 -1
  95. package/dist/types/compute-engine/boxed-expression/simplify.d.ts +1 -1
  96. package/dist/types/compute-engine/boxed-expression/solve-linear-system.d.ts +1 -1
  97. package/dist/types/compute-engine/boxed-expression/solve.d.ts +1 -1
  98. package/dist/types/compute-engine/boxed-expression/stochastic-equal.d.ts +1 -1
  99. package/dist/types/compute-engine/boxed-expression/trigonometry.d.ts +1 -1
  100. package/dist/types/compute-engine/boxed-expression/type-guards.d.ts +1 -1
  101. package/dist/types/compute-engine/boxed-expression/utils.d.ts +1 -1
  102. package/dist/types/compute-engine/boxed-expression/validate.d.ts +1 -1
  103. package/dist/types/compute-engine/collection-utils.d.ts +1 -1
  104. package/dist/types/compute-engine/compilation/base-compiler.d.ts +55 -6
  105. package/dist/types/compute-engine/compilation/compile-expression.d.ts +1 -1
  106. package/dist/types/compute-engine/compilation/constant-folding.d.ts +1 -1
  107. package/dist/types/compute-engine/compilation/glsl-target.d.ts +1 -1
  108. package/dist/types/compute-engine/compilation/gpu-target.d.ts +1 -1
  109. package/dist/types/compute-engine/compilation/interval-javascript-target.d.ts +1 -1
  110. package/dist/types/compute-engine/compilation/javascript-target.d.ts +1 -1
  111. package/dist/types/compute-engine/compilation/python-target.d.ts +1 -1
  112. package/dist/types/compute-engine/compilation/types.d.ts +1 -1
  113. package/dist/types/compute-engine/compilation/wgsl-target.d.ts +1 -1
  114. package/dist/types/compute-engine/cost-function.d.ts +1 -1
  115. package/dist/types/compute-engine/engine-assumptions.d.ts +1 -1
  116. package/dist/types/compute-engine/engine-cache.d.ts +1 -1
  117. package/dist/types/compute-engine/engine-common-symbols.d.ts +1 -1
  118. package/dist/types/compute-engine/engine-compilation-targets.d.ts +1 -1
  119. package/dist/types/compute-engine/engine-configuration-lifecycle.d.ts +1 -1
  120. package/dist/types/compute-engine/engine-declarations.d.ts +1 -1
  121. package/dist/types/compute-engine/engine-expression-entrypoints.d.ts +1 -1
  122. package/dist/types/compute-engine/engine-extension-contracts.d.ts +1 -1
  123. package/dist/types/compute-engine/engine-library-bootstrap.d.ts +1 -1
  124. package/dist/types/compute-engine/engine-numeric-configuration.d.ts +1 -1
  125. package/dist/types/compute-engine/engine-runtime-state.d.ts +1 -1
  126. package/dist/types/compute-engine/engine-scope.d.ts +1 -1
  127. package/dist/types/compute-engine/engine-sequences.d.ts +1 -1
  128. package/dist/types/compute-engine/engine-simplification-rules.d.ts +1 -1
  129. package/dist/types/compute-engine/engine-startup-coordinator.d.ts +1 -1
  130. package/dist/types/compute-engine/engine-type-resolver.d.ts +1 -1
  131. package/dist/types/compute-engine/engine-validation-entrypoints.d.ts +1 -1
  132. package/dist/types/compute-engine/free-functions.d.ts +1 -1
  133. package/dist/types/compute-engine/function-utils.d.ts +1 -1
  134. package/dist/types/compute-engine/global-types.d.ts +1 -1
  135. package/dist/types/compute-engine/index.d.ts +3 -2
  136. package/dist/types/compute-engine/interval/arithmetic.d.ts +1 -1
  137. package/dist/types/compute-engine/interval/comparison.d.ts +1 -1
  138. package/dist/types/compute-engine/interval/elementary.d.ts +1 -1
  139. package/dist/types/compute-engine/interval/index.d.ts +1 -1
  140. package/dist/types/compute-engine/interval/trigonometric.d.ts +1 -1
  141. package/dist/types/compute-engine/interval/types.d.ts +1 -1
  142. package/dist/types/compute-engine/interval/util.d.ts +1 -1
  143. package/dist/types/compute-engine/latex-syntax/dictionary/default-dictionary.d.ts +1 -1
  144. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-algebra.d.ts +1 -1
  145. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-arithmetic.d.ts +1 -1
  146. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-calculus.d.ts +1 -1
  147. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-colors.d.ts +1 -1
  148. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-complex.d.ts +1 -1
  149. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-core.d.ts +1 -1
  150. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-linear-algebra.d.ts +1 -1
  151. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-logic.d.ts +1 -1
  152. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-other.d.ts +1 -1
  153. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-relational-operators.d.ts +1 -1
  154. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-sets.d.ts +1 -1
  155. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-statistics.d.ts +1 -1
  156. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-symbols.d.ts +1 -1
  157. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-trigonometry.d.ts +1 -1
  158. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-units.d.ts +1 -1
  159. package/dist/types/compute-engine/latex-syntax/dictionary/definitions.d.ts +1 -1
  160. package/dist/types/compute-engine/latex-syntax/dictionary/indexed-types.d.ts +1 -1
  161. package/dist/types/compute-engine/latex-syntax/latex-syntax.d.ts +1 -1
  162. package/dist/types/compute-engine/latex-syntax/parse-number.d.ts +1 -1
  163. package/dist/types/compute-engine/latex-syntax/parse-symbol.d.ts +1 -1
  164. package/dist/types/compute-engine/latex-syntax/parse.d.ts +1 -1
  165. package/dist/types/compute-engine/latex-syntax/serialize-dms.d.ts +1 -1
  166. package/dist/types/compute-engine/latex-syntax/serialize-number.d.ts +1 -1
  167. package/dist/types/compute-engine/latex-syntax/serializer-style.d.ts +1 -1
  168. package/dist/types/compute-engine/latex-syntax/serializer.d.ts +1 -1
  169. package/dist/types/compute-engine/latex-syntax/tokenizer.d.ts +1 -1
  170. package/dist/types/compute-engine/latex-syntax/types.d.ts +40 -1
  171. package/dist/types/compute-engine/latex-syntax/utils.d.ts +1 -1
  172. package/dist/types/compute-engine/library/arithmetic.d.ts +1 -1
  173. package/dist/types/compute-engine/library/calculus.d.ts +1 -1
  174. package/dist/types/compute-engine/library/collections.d.ts +5 -3
  175. package/dist/types/compute-engine/library/colors.d.ts +1 -1
  176. package/dist/types/compute-engine/library/combinatorics.d.ts +1 -1
  177. package/dist/types/compute-engine/library/complex.d.ts +1 -1
  178. package/dist/types/compute-engine/library/control-structures.d.ts +1 -1
  179. package/dist/types/compute-engine/library/core.d.ts +1 -1
  180. package/dist/types/compute-engine/library/fractals.d.ts +1 -1
  181. package/dist/types/compute-engine/library/library.d.ts +1 -1
  182. package/dist/types/compute-engine/library/linear-algebra.d.ts +1 -1
  183. package/dist/types/compute-engine/library/logic-analysis.d.ts +1 -1
  184. package/dist/types/compute-engine/library/logic.d.ts +1 -1
  185. package/dist/types/compute-engine/library/number-theory.d.ts +1 -1
  186. package/dist/types/compute-engine/library/polynomials.d.ts +1 -1
  187. package/dist/types/compute-engine/library/quantity-arithmetic.d.ts +1 -1
  188. package/dist/types/compute-engine/library/random-expression.d.ts +1 -1
  189. package/dist/types/compute-engine/library/relational-operator.d.ts +1 -1
  190. package/dist/types/compute-engine/library/sets.d.ts +1 -1
  191. package/dist/types/compute-engine/library/statistics.d.ts +1 -1
  192. package/dist/types/compute-engine/library/trigonometry.d.ts +1 -1
  193. package/dist/types/compute-engine/library/type-handlers.d.ts +1 -1
  194. package/dist/types/compute-engine/library/unit-data.d.ts +1 -1
  195. package/dist/types/compute-engine/library/units.d.ts +1 -1
  196. package/dist/types/compute-engine/library/utils.d.ts +1 -1
  197. package/dist/types/compute-engine/numeric-value/big-numeric-value.d.ts +1 -1
  198. package/dist/types/compute-engine/numeric-value/exact-numeric-value.d.ts +1 -1
  199. package/dist/types/compute-engine/numeric-value/machine-numeric-value.d.ts +1 -1
  200. package/dist/types/compute-engine/numeric-value/types.d.ts +1 -1
  201. package/dist/types/compute-engine/numerics/bigint.d.ts +1 -1
  202. package/dist/types/compute-engine/numerics/expression.d.ts +1 -1
  203. package/dist/types/compute-engine/numerics/interval.d.ts +1 -1
  204. package/dist/types/compute-engine/numerics/linear-algebra.d.ts +1 -1
  205. package/dist/types/compute-engine/numerics/monte-carlo.d.ts +1 -1
  206. package/dist/types/compute-engine/numerics/numeric-bigint.d.ts +1 -1
  207. package/dist/types/compute-engine/numerics/numeric-bignum.d.ts +1 -1
  208. package/dist/types/compute-engine/numerics/numeric-complex.d.ts +1 -1
  209. package/dist/types/compute-engine/numerics/numeric.d.ts +1 -1
  210. package/dist/types/compute-engine/numerics/primes.d.ts +1 -1
  211. package/dist/types/compute-engine/numerics/rationals.d.ts +1 -1
  212. package/dist/types/compute-engine/numerics/richardson.d.ts +1 -1
  213. package/dist/types/compute-engine/numerics/special-functions.d.ts +1 -1
  214. package/dist/types/compute-engine/numerics/statistics.d.ts +1 -1
  215. package/dist/types/compute-engine/numerics/strings.d.ts +1 -1
  216. package/dist/types/compute-engine/numerics/types.d.ts +1 -1
  217. package/dist/types/compute-engine/numerics/unit-data.d.ts +1 -1
  218. package/dist/types/compute-engine/oeis.d.ts +1 -1
  219. package/dist/types/compute-engine/sequence.d.ts +1 -1
  220. package/dist/types/compute-engine/symbolic/antiderivative.d.ts +1 -1
  221. package/dist/types/compute-engine/symbolic/derivative.d.ts +1 -1
  222. package/dist/types/compute-engine/symbolic/distribute.d.ts +1 -1
  223. package/dist/types/compute-engine/symbolic/fu-cost.d.ts +1 -1
  224. package/dist/types/compute-engine/symbolic/fu-transforms.d.ts +1 -1
  225. package/dist/types/compute-engine/symbolic/fu.d.ts +1 -1
  226. package/dist/types/compute-engine/symbolic/logic-utils.d.ts +1 -1
  227. package/dist/types/compute-engine/symbolic/simplify-abs.d.ts +1 -1
  228. package/dist/types/compute-engine/symbolic/simplify-divide.d.ts +1 -1
  229. package/dist/types/compute-engine/symbolic/simplify-factorial.d.ts +1 -1
  230. package/dist/types/compute-engine/symbolic/simplify-hyperbolic.d.ts +1 -1
  231. package/dist/types/compute-engine/symbolic/simplify-infinity.d.ts +1 -1
  232. package/dist/types/compute-engine/symbolic/simplify-log.d.ts +1 -1
  233. package/dist/types/compute-engine/symbolic/simplify-logic.d.ts +1 -1
  234. package/dist/types/compute-engine/symbolic/simplify-power.d.ts +1 -1
  235. package/dist/types/compute-engine/symbolic/simplify-product.d.ts +1 -1
  236. package/dist/types/compute-engine/symbolic/simplify-rules.d.ts +1 -1
  237. package/dist/types/compute-engine/symbolic/simplify-sum.d.ts +1 -1
  238. package/dist/types/compute-engine/symbolic/simplify-trig.d.ts +1 -1
  239. package/dist/types/compute-engine/tensor/tensor-fields.d.ts +1 -1
  240. package/dist/types/compute-engine/tensor/tensors.d.ts +1 -1
  241. package/dist/types/compute-engine/types-definitions.d.ts +1 -1
  242. package/dist/types/compute-engine/types-engine.d.ts +18 -1
  243. package/dist/types/compute-engine/types-evaluation.d.ts +1 -1
  244. package/dist/types/compute-engine/types-expression.d.ts +1 -1
  245. package/dist/types/compute-engine/types-kernel-evaluation.d.ts +1 -1
  246. package/dist/types/compute-engine/types-kernel-serialization.d.ts +1 -1
  247. package/dist/types/compute-engine/types-serialization.d.ts +1 -1
  248. package/dist/types/compute-engine/types.d.ts +1 -1
  249. package/dist/types/compute-engine.d.ts +1 -1
  250. package/dist/types/core.d.ts +1 -1
  251. package/dist/types/interval.d.ts +1 -1
  252. package/dist/types/latex-syntax.d.ts +2 -2
  253. package/dist/types/math-json/symbols.d.ts +1 -1
  254. package/dist/types/math-json/types.d.ts +1 -1
  255. package/dist/types/math-json/utils.d.ts +1 -1
  256. package/dist/types/math-json.d.ts +2 -2
  257. package/dist/types/numerics.d.ts +1 -1
  258. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  * Fixed-point BigInt utilities for internal use by transcendental functions.
3
3
  *
4
4
  * A "fixed-point BigInt" represents a real number as `value = n / scale`,
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  export declare const DEFAULT_COLOR = "\u001B[39m";
3
3
  export declare const DEFAULT_BG = "\u001B[49m";
4
4
  export declare const WHITE_BG = "\u001B[47m";
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  private _listeners;
3
3
  private _pending;
4
4
  private _version;
@@ -1,2 +1,2 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  export declare function fuzzyStringMatch(invalidWord: string, validWords: string[]): string | null;
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  /**
3
3
  * Return a string or an array of graphemes.
4
4
  *
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  cause: unknown;
3
3
  value: T;
4
4
  constructor({ message, value, cause, }?: {
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  infer Head,
3
3
  ...infer Rem
4
4
  ] ? MergeTypes<Rem, Res & Head> : Res;
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  export type RuntimeSignalCode = 'timeout' | 'out-of-memory' | 'recursion-depth-exceeded' | 'iteration-limit-exceeded';
3
3
  /** @category Error Handling */
4
4
  export type SignalCode = RuntimeSignalCode | ('invalid-name' | 'expected-predicate' | 'expected-symbol' | 'operator-requires-one-operand' | 'postfix-operator-requires-one-operand' | 'prefix-operator-requires-one-operand' | 'unbalanced-symbols' | 'expected-argument' | 'unexpected-command' | 'cyclic-definition' | 'invalid-supersets' | 'expected-supersets' | 'unknown-domain' | 'duplicate-wikidata' | 'invalid-dictionary-entry' | 'syntax-error');
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  kind: string;
3
3
  position: number;
4
4
  line: number;
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  /** @category Type */
3
3
  export declare class BoxedType {
4
4
  static unknown: BoxedType;
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  export interface Token {
3
3
  type: TokenType;
4
4
  value: string;
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  /**
3
3
  * BNF grammar for the type parser:
4
4
  *
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  import { TypeNode } from './ast-nodes';
3
3
  import { TypeResolver } from './types';
4
4
  export declare class Parser {
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  /** All the types representing numeric values */
3
3
  export declare const NUMERIC_TYPES: NumericPrimitiveType[];
4
4
  export declare const INDEXED_COLLECTION_TYPES: PrimitiveType[];
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  /**
3
3
  * Reduce the input type
4
4
  *
@@ -1,2 +1,2 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  export declare function typeToString(type: Type, precedence?: number): string;
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  /** Return true if lhs is a subtype of rhs */
3
3
  export declare function isPrimitiveSubtype(lhs: PrimitiveType, rhs: PrimitiveType): boolean;
4
4
  /** Return true if lhs is a subtype of rhs */
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  import { Type, TypeResolver } from './types';
3
3
  export declare class TypeBuilder implements ASTVisitor<Type> {
4
4
  private typeResolver;
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  * A primitive type is a simple type that represents a concrete value.
3
3
  *
4
4
  * - `any`: the top type
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  export { isValidType };
3
3
  export { widen, narrow } from './subtype';
4
4
  import type { Type, FunctionSignature, TypeString } from './types';
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  *
3
3
  * <!--
4
4
  * !@consider?
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  export { compile } from './compute-engine/compilation/compile-expression';
3
3
  export { JavaScriptTarget } from './compute-engine/compilation/javascript-target';
4
4
  export { GPUShaderTarget } from './compute-engine/compilation/gpu-target';
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  /**
3
3
  * Add an assumption, in the form of a predicate, for example:
4
4
  *
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  import type { MathJsonExpression, MathJsonSymbol } from '../../math-json/types';
3
3
  import type { Type, TypeString } from '../../common/type/types';
4
4
  import { BoxedType } from '../../common/type/boxed-type';
@@ -72,6 +72,11 @@ export declare abstract class _BoxedExpression implements Expression {
72
72
  *
73
73
  * Numeric values are rounded to `ce.precision` significant digits
74
74
  * (via `fractionalDigits: 'auto'`).
75
+ *
76
+ * If `options.verbatim` is `true` and `verbatimLatex` is set on this
77
+ * expression (i.e. it was parsed with `preserveLatex: true`), return
78
+ * the verbatim source instead of re-serializing. Falls through to
79
+ * re-serialization if no verbatim is available.
75
80
  */
76
81
  toLatex(options?: Record<string, any>): string;
77
82
  /** Called by `JSON.stringify()` when serializing to json.
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  import { BigDecimal } from '../../big-decimal';
3
3
  import type { Expression } from '../global-types';
4
4
  export declare function apply(expr: Expression, fn: (x: number) => number | Complex, bigFn?: (x: BigDecimal) => BigDecimal | Complex | number, complexFn?: (x: Complex) => number | Complex): Expression | undefined;
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  import { BoxedType } from '../../common/type/boxed-type';
3
3
  import type { Expression, IComputeEngine as ComputeEngine } from '../global-types';
4
4
  /**
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  import { NumericValue } from '../numeric-value/types';
3
3
  import type { Rational } from '../numerics/types';
4
4
  /**
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  import type { Rational } from '../numerics/types';
3
3
  export declare function asRadical(expr: Expression): Rational | null;
4
4
  /**
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  export type AsciiMathSerializer = (expr: Expression, precedence?: number) => string;
3
3
  export type AsciiMathOptions = {
4
4
  symbols: Record<string, string>;
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  import type { FormOption } from '../types-serialization';
3
3
  import type { MathJsonSymbol } from '../../math-json/types';
4
4
  import { NumericValue } from '../numeric-value/types';
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  import { _BoxedExpression } from './abstract-boxed-expression';
3
3
  import { BoxedType } from '../../common/type/boxed-type';
4
4
  import { DictionaryValue, MathJsonExpression } from '../../math-json/types';
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  import type { SimplifyOptions, ReplaceOptions, PatternMatchOptions, Expression, BoxedBaseDefinition, BoxedOperatorDefinition, BoxedRuleSet, BoxedSubstitution, CanonicalOptions, EvaluateOptions, IComputeEngine as ComputeEngine, Metadata, Rule, Sign, Substitution, Scope, BoxedValueDefinition, ExpressionInput, FunctionInterface } from '../global-types';
3
3
  import { Type } from '../../common/type/types';
4
4
  import { BoxedType } from '../../common/type/boxed-type';
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  import { BigDecimal } from '../../big-decimal';
3
3
  import type { MathJsonExpression, MathJsonNumberObject } from '../../math-json';
4
4
  import type { Rational, SmallInteger } from '../numerics/types';
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  import { BoxedType } from '../../common/type/boxed-type';
3
3
  import type { OperatorDefinition, Expression, BoxedOperatorDefinition, CollectionHandlers, CompiledExpression, EvaluateOptions, IComputeEngine as ComputeEngine, Sign } from '../global-types';
4
4
  export declare class _BoxedOperatorDefinition implements BoxedOperatorDefinition {
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  * # Pattern Matching Wildcards
3
3
  *
4
4
  * Patterns can contain wildcards that match parts of expressions. There are
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  import { _BoxedExpression } from './abstract-boxed-expression';
3
3
  import { BoxedType } from '../../common/type/boxed-type';
4
4
  /**
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  import type { Type, TypeString } from '../../common/type/types';
3
3
  import type { OneOf } from '../../common/one-of';
4
4
  import { BoxedType } from '../../common/type/boxed-type';
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  import type { IComputeEngine as ComputeEngine, TensorDataType, Metadata, BoxedBaseDefinition, BoxedOperatorDefinition, BoxedSubstitution, EvaluateOptions, Expression, SimplifyOptions, PatternMatchOptions, Tensor, TensorInterface } from '../global-types';
3
3
  import { BoxedType } from '../../common/type/boxed-type';
4
4
  import { NumericValue } from '../numeric-value/types';
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  import type { Type, TypeString } from '../../common/type/types';
3
3
  import { BoxedType } from '../../common/type/boxed-type';
4
4
  import { ConfigurationChangeListener } from '../../common/configuration-change';
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  value: T | null;
3
3
  generation: number | undefined;
4
4
  };
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  /**
3
3
  * Ensure all expressions in the array are in canonical form
4
4
  */
@@ -1,2 +1,2 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  export declare function canonicalForm(expr: Expression, forms: CanonicalOptions, scope?: Scope): Expression;
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  type ExpandFn = (expr: Expression) => Expression;
3
3
  /** @internal */
4
4
  export declare function _setExpand(fn: ExpandFn): void;
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  * Leaf module for shared constants used across boxed-expression modules.
3
3
  * No imports from sibling modules to avoid circular dependencies.
4
4
  */
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  export declare function choose(n: number, k: number): number;
3
3
  /** Attempt to transform the expression (h, ops) into a sum */
4
4
  export declare function expandFunction(ce: ComputeEngine, h: string, ops: ReadonlyArray<Expression>): Expression | null;
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  export declare class ExpressionMap<U> implements ExpressionMapInterface<U> {
3
3
  readonly _items: Map<Expression, U>;
4
4
  constructor(source?: ExpressionMapInterface<U> | readonly (readonly [Expression, U])[]);
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  /** Combine rational expressions into a single fraction */
3
3
  export declare function together(op: Expression): Expression;
4
4
  /**
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  /**
3
3
  *
4
4
  * Optionally make all the arguments canonical (default).
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  /** Apply the function `f` to each operand of the expression `expr`,
3
3
  * account for the 'lazy' property of the operator definition:
4
4
  *
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  /**
3
3
  * Get inequality bounds for a symbol from the assumption database.
4
4
  *
@@ -1 +1 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  export declare function canonicalInvisibleOperator(ops: ReadonlyArray<Expression>, { engine: ce }: {
3
3
  engine: ComputeEngine;
4
4
  }): Expression | null;
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  /**
3
3
  * The function attempts to match a subject expression to a
4
4
  * [pattern](/compute-engine/guides/patterns-and-rules/).
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  export declare function canonicalNegate(expr: Expression): Expression;
3
3
  /**
4
4
  * Distribute `Negate` (multiply by -1) if expr is a number literal, an
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  import { BigDecimal } from '../../big-decimal';
3
3
  import type { Rational } from '../numerics/types';
4
4
  import type { Expression, ExpressionInput } from '../global-types';
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  export type Order = 'lex' | 'dexlex' | 'grevlex' | 'elim';
3
3
  import { DEFAULT_COMPLEXITY } from './constants';
4
4
  export { DEFAULT_COMPLEXITY };
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  * Leaf module for wildcard pattern utility functions.
3
3
  *
4
4
  * These are extracted from boxed-patterns.ts to break circular dependencies:
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  /**
3
3
  * The total degree of an expression is the sum of the
4
4
  * positive integer degrees of the factors in the expression:
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  export { totalDegree, maxDegree, lex, revlex } from './polynomial-degree';
3
3
  /**
4
4
  * Coefficient of a univariate (single variable) polynomial.
@@ -1,2 +1,2 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  export declare function isPrime(expr: Expression): boolean | undefined;
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  export declare const ConditionParent: {
3
3
  boolean: string;
4
4
  string: string;
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  import type { IComputeEngine as ComputeEngine, Expression, JsonSerializationOptions } from '../global-types';
3
3
  interface ProductLike {
4
4
  asRationalExpression(): Expression;
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  export declare function sgn(expr: Expression): Sign | undefined;
3
3
  /**
4
4
  * Sign `s` is > 0.
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  type InternalSimplifyOptions = SimplifyOptions & {
3
3
  useVariations: boolean;
4
4
  };
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  /**
3
3
  * Solve a system of linear equations.
4
4
  *
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  export declare const UNIVARIATE_ROOTS: Rule[];
3
3
  /**
4
4
  * MathJsonExpression is a function of a single variable (`x`) or an Equality
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  type ComplexResult = {
3
3
  re: number;
4
4
  im: number;
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  /** Assuming x in an expression in radians, convert to current angular unit. */
3
3
  export declare function radiansToAngle(x: Expression | undefined): Expression | undefined;
4
4
  export declare function evalTrig(name: string, op: Expression | undefined): Expression | undefined;
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  import type { NumericValue } from '../numeric-value/types';
3
3
  /** Preferred guard for runtime expressions. */
4
4
  export declare function isExpression(x: unknown): x is Expression;
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  import { Type } from '../../common/type/types';
3
3
  import { NumericValue } from '../numeric-value/types';
4
4
  /**
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  import type { Expression, IComputeEngine as ComputeEngine } from '../global-types';
3
3
  /**
4
4
  * Check that the number of arguments is as expected.
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  /** If a collection has fewer than this many elements, eagerly evaluate it.
3
3
  *
4
4
  * For example, evaluate the Union of two sets with 10 elements each will
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  import type { CompileTarget, TargetSource } from './types';
3
3
  /**
4
4
  * Base compiler class containing language-agnostic compilation logic
@@ -17,14 +17,63 @@ export declare class BaseCompiler {
17
17
  */
18
18
  private static compileBlock;
19
19
  /**
20
- * Compile a Loop expression with Element(index, Range(lo, hi)) indexing.
21
- * Generates: (() => { for (let i = lo; i <= hi; i++) { body } })()
20
+ * Compile a Loop expression.
22
21
  *
23
- * The loop counter is always a raw number. For targets that wrap numeric
24
- * values (e.g. interval-js wraps with `_IA.point()`), references to the
25
- * loop index inside the body are wrapped via `target.number`.
22
+ * Two forms are supported:
23
+ *
24
+ * 1. **Imperative / single-Element form** (existing behaviour):
25
+ * `Loop(body, Element(i, Range(lo, hi)))`
26
+ * Generates a raw `for (let i = lo; i <= hi; i++) { body }` loop wrapped
27
+ * in an IIFE. The loop counter is always a plain number. For targets
28
+ * that wrap numeric values (e.g. interval-js uses `_IA.point()`),
29
+ * references to the loop index inside the body are re-wrapped via
30
+ * `target.number`. `break` / `continue` / `return` are preserved.
31
+ *
32
+ * 2. **Comprehension / variadic-Element form** (new):
33
+ * `Loop(body, Element(x, coll1), Element(y, coll2), …)`
34
+ * When two or more `Element` clauses are present — or when the single
35
+ * Element's collection is not a `Range` — the loop is compiled as a
36
+ * comprehension that collects results into an array. Each clause
37
+ * produces a `for (const name of collection)` loop, nested
38
+ * outermost-to-innermost, and the innermost body pushes into `result`.
39
+ *
40
+ * Example output (JS):
41
+ * ```js
42
+ * (() => { const result = [];
43
+ * for (const x of [1,2]) { for (const y of [3,4]) { result.push(body); } }
44
+ * return result; })()
45
+ * ```
46
+ *
47
+ * GLSL: multi-Element comprehension is not trivially representable in
48
+ * GLSL (no dynamic arrays, no push). A compile-time error is thrown.
49
+ * TODO(E3-GLSL): support GLSL multi-Element via a pre-declared fixed-size
50
+ * array or by unrolling when bounds are known at compile time.
26
51
  */
27
52
  private static compileForLoop;
53
+ /**
54
+ * Returns `true` when the given collection expression is a `Range` whose
55
+ * runtime semantics match the legacy imperative for-loop shape
56
+ * `for (let i = lo; i <= hi; i++)`.
57
+ *
58
+ * Concretely: integer-ascending bounds and step omitted-or-1. When bounds
59
+ * are not statically numeric we accept the Range (the historical
60
+ * behaviour) — runtime mismatch in the descending-unknown-bounds case is
61
+ * left as a known limitation; callers can force the iterable path by
62
+ * supplying an explicit step.
63
+ */
64
+ private static isLegacyCompatibleRange;
65
+ /**
66
+ * Compile a `Range(lo, hi)` or `Range(lo, hi, step)` expression into a JS
67
+ * iterable expression. Mirrors the runtime semantics in
68
+ * `library/collections.ts` Range:
69
+ * count = step === 0 ? 0 : max(0, floor((hi - lo) / step) + 1)
70
+ * element = lo + step * k (0-indexed)
71
+ * Default step is 1 when omitted. Bounds and step may be fractional.
72
+ *
73
+ * Only used from the comprehension path in `compileForLoop`.
74
+ * Caller must have already verified `isFunction(rangeExpr, 'Range')`.
75
+ */
76
+ private static compileRangeIterable;
28
77
  /**
29
78
  * Compile a loop body expression as statements (not wrapped in IIFE).
30
79
  * Handles Break, Continue, Return as statements, and If as if-else when
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  import type { Expression, JSSource } from '../global-types';
3
3
  import type { CompileTarget, CompilationResult } from './types';
4
4
  type CompileExpressionOptions<T extends string = string> = {
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.57.0 */
2
2
  * Constant folding utilities for GPU compilation.
3
3
  *
4
4
  * These helpers allow compilation handlers to detect compile-time constants,