@cortex-js/compute-engine 0.57.0 → 0.58.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 (259) hide show
  1. package/dist/compile.esm.js +690 -53
  2. package/dist/compile.min.esm.js +251 -51
  3. package/dist/compile.min.umd.cjs +251 -51
  4. package/dist/compile.umd.cjs +690 -53
  5. package/dist/compute-engine.esm.js +1079 -132
  6. package/dist/compute-engine.min.esm.js +271 -71
  7. package/dist/compute-engine.min.umd.cjs +270 -70
  8. package/dist/compute-engine.umd.cjs +1079 -132
  9. package/dist/core.esm.js +1078 -131
  10. package/dist/core.min.esm.js +269 -69
  11. package/dist/core.min.umd.cjs +269 -69
  12. package/dist/core.umd.cjs +1078 -131
  13. package/dist/interval.esm.js +132 -15
  14. package/dist/interval.min.esm.js +6 -6
  15. package/dist/interval.min.umd.cjs +6 -6
  16. package/dist/interval.umd.cjs +132 -15
  17. package/dist/latex-syntax.esm.js +132 -15
  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 +132 -15
  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 +38 -3
  26. package/dist/numerics.min.esm.js +3 -3
  27. package/dist/numerics.min.umd.cjs +4 -4
  28. package/dist/numerics.umd.cjs +38 -3
  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 +3 -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 +7 -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 +22 -10
  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 +8 -1
  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 +44 -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 +4 -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 +17 -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 +1 -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 +1 -1
  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/random.d.ts +23 -0
  212. package/dist/types/compute-engine/numerics/rationals.d.ts +1 -1
  213. package/dist/types/compute-engine/numerics/richardson.d.ts +1 -1
  214. package/dist/types/compute-engine/numerics/special-functions.d.ts +1 -1
  215. package/dist/types/compute-engine/numerics/statistics.d.ts +1 -1
  216. package/dist/types/compute-engine/numerics/strings.d.ts +1 -1
  217. package/dist/types/compute-engine/numerics/types.d.ts +1 -1
  218. package/dist/types/compute-engine/numerics/unit-data.d.ts +1 -1
  219. package/dist/types/compute-engine/oeis.d.ts +1 -1
  220. package/dist/types/compute-engine/sequence.d.ts +1 -1
  221. package/dist/types/compute-engine/symbolic/antiderivative.d.ts +1 -1
  222. package/dist/types/compute-engine/symbolic/derivative.d.ts +1 -1
  223. package/dist/types/compute-engine/symbolic/distribute.d.ts +1 -1
  224. package/dist/types/compute-engine/symbolic/fu-cost.d.ts +1 -1
  225. package/dist/types/compute-engine/symbolic/fu-transforms.d.ts +1 -1
  226. package/dist/types/compute-engine/symbolic/fu.d.ts +1 -1
  227. package/dist/types/compute-engine/symbolic/logic-utils.d.ts +1 -1
  228. package/dist/types/compute-engine/symbolic/simplify-abs.d.ts +1 -1
  229. package/dist/types/compute-engine/symbolic/simplify-divide.d.ts +1 -1
  230. package/dist/types/compute-engine/symbolic/simplify-factorial.d.ts +1 -1
  231. package/dist/types/compute-engine/symbolic/simplify-hyperbolic.d.ts +1 -1
  232. package/dist/types/compute-engine/symbolic/simplify-infinity.d.ts +1 -1
  233. package/dist/types/compute-engine/symbolic/simplify-log.d.ts +1 -1
  234. package/dist/types/compute-engine/symbolic/simplify-logic.d.ts +1 -1
  235. package/dist/types/compute-engine/symbolic/simplify-power.d.ts +1 -1
  236. package/dist/types/compute-engine/symbolic/simplify-product.d.ts +1 -1
  237. package/dist/types/compute-engine/symbolic/simplify-rules.d.ts +1 -1
  238. package/dist/types/compute-engine/symbolic/simplify-sum.d.ts +1 -1
  239. package/dist/types/compute-engine/symbolic/simplify-trig.d.ts +1 -1
  240. package/dist/types/compute-engine/tensor/tensor-fields.d.ts +1 -1
  241. package/dist/types/compute-engine/tensor/tensors.d.ts +1 -1
  242. package/dist/types/compute-engine/types-definitions.d.ts +1 -1
  243. package/dist/types/compute-engine/types-engine.d.ts +34 -1
  244. package/dist/types/compute-engine/types-evaluation.d.ts +1 -1
  245. package/dist/types/compute-engine/types-expression.d.ts +69 -1
  246. package/dist/types/compute-engine/types-kernel-evaluation.d.ts +1 -1
  247. package/dist/types/compute-engine/types-kernel-serialization.d.ts +1 -1
  248. package/dist/types/compute-engine/types-serialization.d.ts +1 -1
  249. package/dist/types/compute-engine/types.d.ts +1 -1
  250. package/dist/types/compute-engine.d.ts +1 -1
  251. package/dist/types/core.d.ts +1 -1
  252. package/dist/types/interval.d.ts +1 -1
  253. package/dist/types/latex-syntax.d.ts +2 -2
  254. package/dist/types/math-json/symbols.d.ts +1 -1
  255. package/dist/types/math-json/types.d.ts +1 -1
  256. package/dist/types/math-json/utils.d.ts +1 -1
  257. package/dist/types/math-json.d.ts +2 -2
  258. package/dist/types/numerics.d.ts +1 -1
  259. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.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.57.0 */
1
+ /* 0.58.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.57.0 */
1
+ /* 0.58.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.57.0 */
1
+ /* 0.58.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.57.0 */
1
+ /* 0.58.0 */
2
2
  import type { CompileTarget, TargetSource } from './types';
3
3
  /**
4
4
  * Base compiler class containing language-agnostic compilation logic
@@ -48,6 +48,13 @@ export declare class BaseCompiler {
48
48
  * GLSL (no dynamic arrays, no push). A compile-time error is thrown.
49
49
  * TODO(E3-GLSL): support GLSL multi-Element via a pre-declared fixed-size
50
50
  * array or by unrolling when bounds are known at compile time.
51
+ *
52
+ * Known issue (imperative form): the IIFE generated by form (1) has no
53
+ * `return` statement, so `Loop(body, Element(i, Range(lo, hi)))` compiled
54
+ * to JS evaluates to `undefined` at runtime, while CE evaluation returns a
55
+ * `List` of body values. See `test/compute-engine/a1-c1-compile-parity.test.ts`
56
+ * ("Loop compiles in JS") for the verify-only test that locks in the
57
+ * current behavior.
51
58
  */
52
59
  private static compileForLoop;
53
60
  /**
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.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.57.0 */
1
+ /* 0.58.0 */
2
2
  * Constant folding utilities for GPU compilation.
3
3
  *
4
4
  * These helpers allow compilation handlers to detect compile-time constants,
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  import type { CompiledFunctions } from './types';
3
3
  import { GPUShaderTarget } from './gpu-target';
4
4
  /**
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  import type { CompileTarget, CompiledOperators, CompiledFunctions, LanguageTarget, CompilationOptions, CompilationResult } from './types';
3
3
  /**
4
4
  * GPU shader operators shared by GLSL and WGSL.
@@ -120,6 +120,49 @@ export declare const GPU_FRACTAL_PREAMBLE_GLSL = "\nfloat _fractal_mandelbrot(ve
120
120
  * Fractal preamble (WGSL syntax).
121
121
  */
122
122
  export declare const GPU_FRACTAL_PREAMBLE_WGSL = "\nfn _fractal_mandelbrot(c: vec2f, maxIter: i32) -> f32 {\n var z = vec2f(0.0, 0.0);\n for (var i: i32 = 0; i < maxIter; i++) {\n z = vec2f(z.x*z.x - z.y*z.y + c.x, 2.0*z.x*z.y + c.y);\n if (dot(z, z) > 4.0) {\n return clamp((f32(i) - log2(log2(dot(z, z))) + 4.0) / f32(maxIter), 0.0, 1.0);\n }\n }\n return 1.0;\n}\n\nfn _fractal_julia(z_in: vec2f, c: vec2f, maxIter: i32) -> f32 {\n var z = z_in;\n for (var i: i32 = 0; i < maxIter; i++) {\n z = vec2f(z.x*z.x - z.y*z.y + c.x, 2.0*z.x*z.y + c.y);\n if (dot(z, z) > 4.0) {\n return clamp((f32(i) - log2(log2(dot(z, z))) + 4.0) / f32(maxIter), 0.0, 1.0);\n }\n }\n return 1.0;\n}\n";
123
+ /**
124
+ * GPU GCD preamble (GLSL syntax).
125
+ * Euclidean algorithm over floats; works for integer-valued inputs.
126
+ */
127
+ export declare const GPU_GCD_PREAMBLE_GLSL = "\nfloat _gpu_gcd(float a, float b) {\n a = abs(a); b = abs(b);\n for (int i = 0; i < 32; i++) {\n if (b < 0.5) break;\n float t = mod(a, b);\n a = b;\n b = t;\n }\n return a;\n}\n";
128
+ /**
129
+ * GPU GCD preamble (WGSL syntax).
130
+ */
131
+ export declare const GPU_GCD_PREAMBLE_WGSL = "\nfn _gpu_gcd(a_in: f32, b_in: f32) -> f32 {\n var a = abs(a_in); var b = abs(b_in);\n for (var i: i32 = 0; i < 32; i++) {\n if (b < 0.5) { break; }\n let t = a % b;\n a = b;\n b = t;\n }\n return a;\n}\n";
132
+ /**
133
+ * GPU Random preamble (GLSL syntax).
134
+ *
135
+ * Deterministic pseudorandom in [0, 1) from a float seed.
136
+ * Standard fract-sin hash; reproducible across runs for the same seed.
137
+ * Note: this hash exhibits visible banding near seed ≈ kπ for integer k.
138
+ * For high-quality shader random, callers should use a more robust hash
139
+ * (e.g. PCG or xxHash) and pre-seed it appropriately.
140
+ */
141
+ export declare const GPU_RANDOM_PREAMBLE_GLSL = "\n// Deterministic pseudorandom in [0, 1) from a float seed.\n// Standard fract-sin hash; reproducible across runs for the same seed.\n// Note: this hash exhibits visible banding near seed \u2248 k\u03C0 for integer k.\n// For high-quality shader random, callers should use a more robust hash\n// (e.g. PCG or xxHash) and pre-seed it appropriately.\nfloat _gpu_random(float seed) {\n return fract(sin(seed * 12.9898) * 43758.5453);\n}\n";
142
+ /**
143
+ * GPU Random preamble (WGSL syntax).
144
+ *
145
+ * Deterministic pseudorandom in [0, 1) from a float seed.
146
+ * Standard fract-sin hash; reproducible across runs for the same seed.
147
+ * Note: this hash exhibits visible banding near seed ≈ kπ for integer k.
148
+ * For high-quality shader random, callers should use a more robust hash
149
+ * (e.g. PCG or xxHash) and pre-seed it appropriately.
150
+ */
151
+ export declare const GPU_RANDOM_PREAMBLE_WGSL = "\n// Deterministic pseudorandom in [0, 1) from a float seed.\n// Standard fract-sin hash; reproducible across runs for the same seed.\n// Note: this hash exhibits visible banding near seed \u2248 k\u03C0 for integer k.\n// For high-quality shader random, callers should use a more robust hash\n// (e.g. PCG or xxHash) and pre-seed it appropriately.\nfn _gpu_random(seed: f32) -> f32 {\n return fract(sin(seed * 12.9898) * 43758.5453);\n}\n";
152
+ /**
153
+ * GPU Median preamble (GLSL syntax).
154
+ *
155
+ * One function per supported list size (2..8) using sorting networks.
156
+ * Each function takes N float arguments and returns the median via a
157
+ * Batcher odd-even merge sort encoded entirely as min/max calls.
158
+ */
159
+ export declare const GPU_MEDIAN_PREAMBLE_GLSL = "\nfloat _gpu_median_2(float a, float b) {\n return (a + b) * 0.5;\n}\nfloat _gpu_median_3(float a, float b, float c) {\n return max(min(a, b), min(max(a, b), c));\n}\nfloat _gpu_median_4(float a, float b, float c, float d) {\n float lo = max(min(a, b), min(c, d));\n float hi = min(max(a, b), max(c, d));\n return (lo + hi) * 0.5;\n}\nfloat _gpu_median_5(float a, float b, float c, float d, float e) {\n // 9-comparator Bose-Nelson sort; v2 holds the median.\n float t; float v0=a,v1=b,v2=c,v3=d,v4=e;\n t=min(v0,v1); v1=max(v0,v1); v0=t;\n t=min(v3,v4); v4=max(v3,v4); v3=t;\n t=min(v2,v4); v4=max(v2,v4); v2=t;\n t=min(v2,v3); v3=max(v2,v3); v2=t;\n t=min(v0,v3); v3=max(v0,v3); v0=t;\n t=min(v0,v2); v2=max(v0,v2); v0=t;\n t=min(v1,v4); v4=max(v1,v4); v1=t;\n t=min(v1,v3); v3=max(v1,v3); v1=t;\n t=min(v1,v2); v2=max(v1,v2); v1=t;\n return v2;\n}\nfloat _gpu_median_6(float a, float b, float c, float d, float e, float f) {\n float t; float v0=a,v1=b,v2=c,v3=d,v4=e,v5=f;\n t=min(v0,v1); v1=max(v0,v1); v0=t;\n t=min(v2,v3); v3=max(v2,v3); v2=t;\n t=min(v4,v5); v5=max(v4,v5); v4=t;\n t=min(v0,v2); v2=max(v0,v2); v0=t;\n t=min(v1,v3); v3=max(v1,v3); v1=t;\n t=min(v0,v4); v4=max(v0,v4); v0=t;\n t=min(v1,v5); v5=max(v1,v5); v1=t;\n t=min(v2,v4); v4=max(v2,v4); v2=t;\n t=min(v1,v2); v2=max(v1,v2); v1=t;\n t=min(v3,v5); v5=max(v3,v5); v3=t;\n t=min(v3,v4); v4=max(v3,v4); v3=t;\n return (v2 + v3) * 0.5;\n}\nfloat _gpu_median_7(float a, float b, float c, float d, float e, float f, float g) {\n float t; float v0=a,v1=b,v2=c,v3=d,v4=e,v5=f,v6=g;\n t=min(v0,v1); v1=max(v0,v1); v0=t;\n t=min(v2,v3); v3=max(v2,v3); v2=t;\n t=min(v4,v5); v5=max(v4,v5); v4=t;\n t=min(v0,v2); v2=max(v0,v2); v0=t;\n t=min(v1,v3); v3=max(v1,v3); v1=t;\n t=min(v4,v6); v6=max(v4,v6); v4=t;\n t=min(v0,v4); v4=max(v0,v4); v0=t;\n t=min(v1,v5); v5=max(v1,v5); v1=t;\n t=min(v2,v6); v6=max(v2,v6); v2=t;\n t=min(v1,v2); v2=max(v1,v2); v1=t;\n t=min(v3,v5); v5=max(v3,v5); v3=t;\n t=min(v2,v4); v4=max(v2,v4); v2=t;\n t=min(v3,v4); v4=max(v3,v4); v3=t;\n return v3;\n}\nfloat _gpu_median_8(float a, float b, float c, float d, float e, float f, float g, float h) {\n float t; float v0=a,v1=b,v2=c,v3=d,v4=e,v5=f,v6=g,v7=h;\n t=min(v0,v1); v1=max(v0,v1); v0=t;\n t=min(v2,v3); v3=max(v2,v3); v2=t;\n t=min(v4,v5); v5=max(v4,v5); v4=t;\n t=min(v6,v7); v7=max(v6,v7); v6=t;\n t=min(v0,v2); v2=max(v0,v2); v0=t;\n t=min(v1,v3); v3=max(v1,v3); v1=t;\n t=min(v4,v6); v6=max(v4,v6); v4=t;\n t=min(v5,v7); v7=max(v5,v7); v5=t;\n t=min(v0,v4); v4=max(v0,v4); v0=t;\n t=min(v1,v5); v5=max(v1,v5); v1=t;\n t=min(v2,v6); v6=max(v2,v6); v2=t;\n t=min(v3,v7); v7=max(v3,v7); v3=t;\n t=min(v1,v2); v2=max(v1,v2); v1=t;\n t=min(v3,v4); v4=max(v3,v4); v3=t;\n t=min(v5,v6); v6=max(v5,v6); v5=t;\n t=min(v3,v5); v5=max(v3,v5); v3=t;\n t=min(v2,v4); v4=max(v2,v4); v2=t;\n t=min(v3,v4); v4=max(v3,v4); v3=t;\n return (v3 + v4) * 0.5;\n}\n";
160
+ /**
161
+ * GPU Median preamble (WGSL syntax).
162
+ *
163
+ * Same sorting-network logic as the GLSL version with WGSL syntax.
164
+ */
165
+ export declare const GPU_MEDIAN_PREAMBLE_WGSL = "\nfn _gpu_median_2(a: f32, b: f32) -> f32 {\n return (a + b) * 0.5;\n}\nfn _gpu_median_3(a: f32, b: f32, c: f32) -> f32 {\n return max(min(a, b), min(max(a, b), c));\n}\nfn _gpu_median_4(a: f32, b: f32, c: f32, d: f32) -> f32 {\n let lo = max(min(a, b), min(c, d));\n let hi = min(max(a, b), max(c, d));\n return (lo + hi) * 0.5;\n}\nfn _gpu_median_5(a: f32, b: f32, c: f32, d: f32, e: f32) -> f32 {\n // 9-comparator Bose-Nelson sort; v2 holds the median.\n var v0=a; var v1=b; var v2=c; var v3=d; var v4=e; var t: f32;\n t=min(v0,v1); v1=max(v0,v1); v0=t;\n t=min(v3,v4); v4=max(v3,v4); v3=t;\n t=min(v2,v4); v4=max(v2,v4); v2=t;\n t=min(v2,v3); v3=max(v2,v3); v2=t;\n t=min(v0,v3); v3=max(v0,v3); v0=t;\n t=min(v0,v2); v2=max(v0,v2); v0=t;\n t=min(v1,v4); v4=max(v1,v4); v1=t;\n t=min(v1,v3); v3=max(v1,v3); v1=t;\n t=min(v1,v2); v2=max(v1,v2); v1=t;\n return v2;\n}\nfn _gpu_median_6(a: f32, b: f32, c: f32, d: f32, e: f32, f: f32) -> f32 {\n var v0=a; var v1=b; var v2=c; var v3=d; var v4=e; var v5=f; var t: f32;\n t=min(v0,v1); v1=max(v0,v1); v0=t;\n t=min(v2,v3); v3=max(v2,v3); v2=t;\n t=min(v4,v5); v5=max(v4,v5); v4=t;\n t=min(v0,v2); v2=max(v0,v2); v0=t;\n t=min(v1,v3); v3=max(v1,v3); v1=t;\n t=min(v0,v4); v4=max(v0,v4); v0=t;\n t=min(v1,v5); v5=max(v1,v5); v1=t;\n t=min(v2,v4); v4=max(v2,v4); v2=t;\n t=min(v1,v2); v2=max(v1,v2); v1=t;\n t=min(v3,v5); v5=max(v3,v5); v3=t;\n t=min(v3,v4); v4=max(v3,v4); v3=t;\n return (v2 + v3) * 0.5;\n}\nfn _gpu_median_7(a: f32, b: f32, c: f32, d: f32, e: f32, f: f32, g: f32) -> f32 {\n var v0=a; var v1=b; var v2=c; var v3=d; var v4=e; var v5=f; var v6=g; var t: f32;\n t=min(v0,v1); v1=max(v0,v1); v0=t;\n t=min(v2,v3); v3=max(v2,v3); v2=t;\n t=min(v4,v5); v5=max(v4,v5); v4=t;\n t=min(v0,v2); v2=max(v0,v2); v0=t;\n t=min(v1,v3); v3=max(v1,v3); v1=t;\n t=min(v4,v6); v6=max(v4,v6); v4=t;\n t=min(v0,v4); v4=max(v0,v4); v0=t;\n t=min(v1,v5); v5=max(v1,v5); v1=t;\n t=min(v2,v6); v6=max(v2,v6); v2=t;\n t=min(v1,v2); v2=max(v1,v2); v1=t;\n t=min(v3,v5); v5=max(v3,v5); v3=t;\n t=min(v2,v4); v4=max(v2,v4); v2=t;\n t=min(v3,v4); v4=max(v3,v4); v3=t;\n return v3;\n}\nfn _gpu_median_8(a: f32, b: f32, c: f32, d: f32, e: f32, f: f32, g: f32, h: f32) -> f32 {\n var v0=a; var v1=b; var v2=c; var v3=d; var v4=e; var v5=f; var v6=g; var v7=h; var t: f32;\n t=min(v0,v1); v1=max(v0,v1); v0=t;\n t=min(v2,v3); v3=max(v2,v3); v2=t;\n t=min(v4,v5); v5=max(v4,v5); v4=t;\n t=min(v6,v7); v7=max(v6,v7); v6=t;\n t=min(v0,v2); v2=max(v0,v2); v0=t;\n t=min(v1,v3); v3=max(v1,v3); v1=t;\n t=min(v4,v6); v6=max(v4,v6); v4=t;\n t=min(v5,v7); v7=max(v5,v7); v5=t;\n t=min(v0,v4); v4=max(v0,v4); v0=t;\n t=min(v1,v5); v5=max(v1,v5); v1=t;\n t=min(v2,v6); v6=max(v2,v6); v2=t;\n t=min(v3,v7); v7=max(v3,v7); v3=t;\n t=min(v1,v2); v2=max(v1,v2); v1=t;\n t=min(v3,v4); v4=max(v3,v4); v3=t;\n t=min(v5,v6); v6=max(v5,v6); v5=t;\n t=min(v3,v5); v5=max(v3,v5); v3=t;\n t=min(v2,v4); v4=max(v2,v4); v2=t;\n t=min(v3,v4); v4=max(v3,v4); v3=t;\n return (v3 + v4) * 0.5;\n}\n";
123
166
  /**
124
167
  * GPU color space conversion preamble (GLSL syntax).
125
168
  *
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  * JavaScript interval arithmetic compilation target
3
3
  *
4
4
  * Compiles mathematical expressions to JavaScript code using interval arithmetic
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  import { chop, factorial, factorial2, gcd, lcm, limit } from '../numerics/numeric';
3
3
  import { gamma, gammaln, erf, erfc, erfInv, beta, digamma, trigamma, polygamma, zeta, lambertW, besselJ, besselY, besselI, besselK, airyAi, airyBi, fresnelS, fresnelC, sinc } from '../numerics/special-functions';
4
4
  import { choose } from '../boxed-expression/expand';
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  import type { CompileTarget, CompiledOperators, CompiledFunctions, LanguageTarget, CompilationOptions, CompilationResult } from './types';
3
3
  /**
4
4
  * Python/NumPy language target implementation
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  /**
3
3
  * Source code in the target language
4
4
  */
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  import type { CompiledFunctions } from './types';
3
3
  import { GPUShaderTarget } from './gpu-target';
4
4
  /**
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  /**
3
3
  * The default cost function, used to determine if a new expression is simpler
4
4
  * than the old one.
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  import type { MathJsonSymbol } from '../math-json/types';
3
3
  export declare function ask(ce: IComputeEngine, pattern: Expression): BoxedSubstitution[];
4
4
  export declare function verify(ce: IComputeEngine, query: Expression): boolean | undefined;
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  private _entries;
3
3
  getOrBuild<T>(cacheName: string, build: () => T, purge?: (t: T) => T | undefined): T;
4
4
  invalidate(cacheName: string): void;
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  export type CommonSymbolTable = {
3
3
  [symbol: string]: null | Expression;
4
4
  };
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  import type { LanguageTarget } from './compilation/types';
3
3
  /**
4
4
  * Internal registry for compilation targets.
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  type ResetHooks = {
3
3
  refreshNumericConstants: () => void;
4
4
  resetCommonSymbols: () => void;
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  import { BoxedType } from '../common/type/boxed-type';
3
3
  import type { MathJsonSymbol } from '../math-json/types';
4
4
  import type { ValueDefinition, OperatorDefinition, AssignValue, Expression, BoxedDefinition, SymbolDefinition, IComputeEngine, Scope } from './global-types';
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  import { BigDecimal } from '../big-decimal';
3
3
  import type { MathJsonNumberObject, MathJsonSymbol } from '../math-json/types';
4
4
  import { NumericValue } from './numeric-value/types';
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  import type { LanguageTarget, CompilationOptions } from './compilation/types';
3
3
  export declare function assertCompilationTargetName(name: unknown): string;
4
4
  export declare function assertLibraryName(name: unknown): string;
@@ -1,3 +1,3 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  export declare function resolveBootstrapLibraries(libraries?: readonly (string | LibraryDefinition)[]): LibraryDefinition[];
3
3
  export declare function loadLibraryDefinitions(engine: ComputeEngine, libraries: readonly LibraryDefinition[]): void;
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  import type { AngularUnit } from './types-definitions';
3
3
  export declare class EngineNumericConfiguration {
4
4
  private _precision;
@@ -1,7 +1,8 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  private _timeLimit;
3
3
  private _iterationLimit;
4
4
  private _recursionLimit;
5
+ private _maxCollectionSize;
5
6
  private _deadline;
6
7
  private _isVerifying;
7
8
  get timeLimit(): number;
@@ -10,6 +11,8 @@
10
11
  set iterationLimit(value: number);
11
12
  get recursionLimit(): number;
12
13
  set recursionLimit(value: number);
14
+ get maxCollectionSize(): number;
15
+ set maxCollectionSize(value: number);
13
16
  get deadline(): number | undefined;
14
17
  set deadline(value: number | undefined);
15
18
  get timeRemaining(): number;
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  export declare function pushScope(ce: IComputeEngine, scope?: Scope, name?: string): void;
3
3
  export declare function popScope(ce: IComputeEngine): void;
4
4
  export declare function pushEvalContext(ce: IComputeEngine, scope: Scope, name?: string): void;
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  export declare function declareSequence(ce: IComputeEngine, name: string, def: SequenceDefinition): IComputeEngine;
3
3
  export declare function getSequenceStatus(ce: IComputeEngine, name: string): SequenceStatus;
4
4
  export declare function getSequence(ce: IComputeEngine, name: string): SequenceInfo | undefined;
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  /**
3
3
  * Internal holder for simplification rules and their cache-staleness marker.
4
4
  *
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  import type { Expression, IComputeEngine as ComputeEngine, LibraryDefinition } from './global-types';
3
3
  export type CommonNumberBindings = {
4
4
  Zero: Expression;
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  type ResolverScope = {
3
3
  parent: ResolverScope | null;
4
4
  types?: Record<string, TypeReference>;
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  import { BoxedType } from '../common/type/boxed-type';
3
3
  import type { Expression, Metadata, ExpressionInput } from './global-types';
4
4
  type ValidationHost = {
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  import type { Type, TypeString } from '../common/type/types';
3
3
  import type { LatexString, ParseLatexOptions } from './latex-syntax/types';
4
4
  import { compile as compileExpr } from './compilation/compile-expression';
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  import type { BoxedDefinition, Expression, IComputeEngine as ComputeEngine, Scope } from './global-types';
3
3
  /***
4
4
  * ### THEORY OF OPERATIONS
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  export type * from './types-serialization';
3
3
  export type { ValueDefinition, SequenceDefinition, SequenceStatus, SequenceInfo, OEISSequenceInfo, OEISOptions, OperatorDefinition, BaseDefinition, SimplifyOptions, SymbolDefinition, SymbolDefinitions, LibraryDefinition, AngularUnit, Sign, BaseCollectionHandlers, IndexedCollectionHandlers, CollectionHandlers, TaggedValueDefinition, TaggedOperatorDefinition, BoxedDefinition, BoxedBaseDefinition, BoxedValueDefinition, OperatorDefinitionFlags, BoxedOperatorDefinition, } from './types-definitions';
4
4
  export type * from './types-evaluation';
@@ -1,11 +1,11 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  import { BigDecimal } from '../big-decimal';
3
3
  import { Type, TypeResolver, TypeString } from '../common/type/types';
4
4
  import { BoxedType } from '../common/type/boxed-type';
5
5
  import type { OneOf } from '../common/one-of';
6
6
  import type { ConfigurationChangeListener } from '../common/configuration-change';
7
7
  import type { MathJsonExpression, MathJsonSymbol, MathJsonNumberObject } from '../math-json/types';
8
- import type { ValueDefinition, OperatorDefinition, AngularUnit, AssignValue, AssumeResult, Expression, BoxedRule, BoxedRuleSet, BoxedSubstitution, CanonicalOptions, Metadata, Rule, Scope, EvalContext, ExpressionInput, IComputeEngine, ILatexSyntax, BoxedDefinition, SymbolDefinition, SequenceDefinition, SequenceStatus, SequenceInfo, OEISSequenceInfo, OEISOptions, LibraryDefinition, OperatorInfo } from './global-types';
8
+ import type { ValueDefinition, OperatorDefinition, AngularUnit, AssignValue, AssumeResult, Expression, BoxedRule, BoxedRuleSet, BoxedSubstitution, CanonicalOptions, Metadata, Rule, Scope, EvalContext, ExpressionInput, IComputeEngine, ILatexSyntax, BoxedDefinition, SymbolDefinition, SequenceDefinition, SequenceStatus, SequenceInfo, OEISSequenceInfo, OEISOptions, LibraryDefinition, OperatorInfo, SymbolInfo } from './global-types';
9
9
  import type { LibraryCategory, ParseLatexOptions, SerializeLatexOptions } from './latex-syntax/types';
10
10
  import type { BigNum, Rational } from './numerics/types';
11
11
  import { ExactNumericValueData, NumericValue, NumericValueData } from './numeric-value/types';
@@ -259,6 +259,19 @@ export declare class ComputeEngine implements IComputeEngine {
259
259
  */
260
260
  get recursionLimit(): number;
261
261
  set recursionLimit(t: number);
262
+ /** Maximum number of elements a collection may have when materialized
263
+ * (converted from a lazy form to a `List`). Default: 10,000.
264
+ *
265
+ * When a materialization would exceed this size, the operation leaves
266
+ * the expression in its lazy form. Consumers can detect oversize
267
+ * collections via the symbolic form's `count`.
268
+ *
269
+ * Set to `Infinity` (or `0` / a negative number) to disable the cap.
270
+ *
271
+ * @experimental
272
+ */
273
+ get maxCollectionSize(): number;
274
+ set maxCollectionSize(t: number);
262
275
  /**
263
276
  * Flag to prevent infinite recursion in the verify/ask/equality checking cycle.
264
277
  *
@@ -437,7 +450,9 @@ export declare class ComputeEngine implements IComputeEngine {
437
450
  * lexical scope and going up the scope chain.
438
451
  */
439
452
  lookupDefinition(id: MathJsonSymbol): undefined | BoxedDefinition;
453
+ normalizeIdentifier(latex: string): string;
440
454
  operatorInfo(head: string): OperatorInfo | undefined;
455
+ symbolInfo(name: string): SymbolInfo | undefined;
441
456
  /**
442
457
  * Associate a new definition to a symbol in the current context.
443
458
  *
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  * Basic interval arithmetic operations
3
3
  *
4
4
  * @module interval/arithmetic
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  * Comparison and conditional interval operations
3
3
  *
4
4
  * @module interval/comparison
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  * Elementary interval functions (sqrt, pow, exp, ln, abs, floor, ceil, min, max, mod)
3
3
  *
4
4
  * @module interval/elementary
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  * Interval arithmetic library for reliable function evaluation
3
3
  *
4
4
  * This module provides interval versions of mathematical operations
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  * Trigonometric interval functions
3
3
  *
4
4
  * @module interval/trigonometric
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  * Interval arithmetic types for reliable function evaluation
3
3
  *
4
4
  * @module interval/types
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  * Utility functions for interval arithmetic
3
3
  *
4
4
  * @module interval/util
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  * Default LaTeX dictionary assembly.
3
3
  *
4
4
  * This file imports all individual domain dictionaries and assembles them
@@ -1,2 +1,2 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  export declare const DEFINITIONS_ALGEBRA: LatexDictionary;
@@ -1,2 +1,2 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  export declare const DEFINITIONS_ARITHMETIC: LatexDictionary;
@@ -1,2 +1,2 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  export declare const DEFINITIONS_CALCULUS: LatexDictionary;
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  /**
3
3
  * LaTeX dictionary for color constructors and conversions.
4
4
  *
@@ -1,2 +1,2 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  export declare const DEFINITIONS_COMPLEX: LatexDictionary;
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  export declare const DEFINITIONS_CORE: LatexDictionary;
3
3
  export declare const DELIMITERS_SHORTHAND: {
4
4
  '(': string;
@@ -1,2 +1,2 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  export declare const DEFINITIONS_LINEAR_ALGEBRA: LatexDictionary;
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  import type { MathJsonExpression } from '../../../math-json';
3
3
  export declare const DEFINITIONS_LOGIC: LatexDictionary;
4
4
  export declare function parseQuantifier(kind: 'NotForAll' | 'NotExists' | 'ForAll' | 'Exists' | 'ExistsUnique'): (parser: Parser, terminator: Readonly<Terminator>) => MathJsonExpression | null;
@@ -1,2 +1,2 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  export declare const DEFINITIONS_OTHERS: LatexDictionary;
@@ -1,2 +1,2 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  export declare const DEFINITIONS_INEQUALITIES: LatexDictionaryEntry[];
@@ -1,2 +1,2 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  export declare const DEFINITIONS_SETS: LatexDictionary;
@@ -1,2 +1,2 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  export declare const DEFINITIONS_STATISTICS: LatexDictionary;
@@ -1,3 +1,3 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  export declare const SYMBOLS: [string, string, number][];
3
3
  export declare const DEFINITIONS_SYMBOLS: LatexDictionary;
@@ -1,2 +1,2 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  export declare const DEFINITIONS_TRIGONOMETRY: LatexDictionary;
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  * LaTeX dictionary entries for parsing and serializing physical quantities
3
3
  * with units.
4
4
  *
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  import { LatexDictionaryEntry } from '../types';
3
3
  export type { CommonEntry, IndexedSymbolEntry, IndexedExpressionEntry, IndexedFunctionEntry, IndexedMatchfixEntry, IndexedInfixEntry, IndexedPrefixEntry, IndexedPostfixEntry, IndexedEnvironmentEntry, IndexedLatexDictionaryEntry, IndexedLatexDictionary, } from './indexed-types';
4
4
  import type { IndexedSymbolEntry, IndexedExpressionEntry, IndexedFunctionEntry, IndexedMatchfixEntry, IndexedInfixEntry, IndexedPostfixEntry, IndexedEnvironmentEntry, IndexedLatexDictionaryEntry, IndexedLatexDictionary } from './indexed-types';
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  * Type definitions for the indexed LaTeX dictionary.
3
3
  *
4
4
  * These are separated from definitions.ts to break a circular dependency:
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  * Standalone LaTeX <-> MathJSON parsing and serialization.
3
3
  *
4
4
  * This module provides a `LatexSyntax` class and free-standing `parse()` /
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  * Number parsing extracted from the _Parser class for modularity.
3
3
  *
4
4
  * All functions take a `Parser` interface and a `NumberFormatTokens` config
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  import { Parser } from './types';
3
3
  /** For error handling, if we have a symbol prefix, assume
4
4
  * the symbol is invalid (it would have been captured by
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  import { ParseLatexOptions, LatexToken, Terminator, Parser, SymbolTable } from './types';
3
3
  import type { IndexedLatexDictionary, IndexedLatexDictionaryEntry, IndexedInfixEntry, IndexedPostfixEntry, IndexedPrefixEntry, IndexedSymbolEntry, IndexedExpressionEntry, IndexedFunctionEntry } from './dictionary/definitions';
4
4
  import { BoxedType } from '../../common/type/boxed-type';
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  * DMS (Degrees-Minutes-Seconds) serialization utilities.
3
3
  */
4
4
  export interface DMSComponents {
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  import { NumberSerializationFormat } from './types';
3
3
  /**
4
4
  * @param expr - A number, can be represented as a string
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  import { DelimiterScale } from './types';
3
3
  export declare function getApplyFunctionStyle(_expr: MathJsonExpression, _level: number): DelimiterScale;
4
4
  export declare function getGroupStyle(_expr: MathJsonExpression, _level: number): DelimiterScale;
@@ -1,4 +1,4 @@
1
- /* 0.57.0 */
1
+ /* 0.58.0 */
2
2
  import { LatexString, SerializeLatexOptions, DelimiterScale } from './types';
3
3
  import type { IndexedLatexDictionary, IndexedLatexDictionaryEntry } from './dictionary/definitions';
4
4
  export declare class Serializer {