@cortex-js/compute-engine 0.56.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 +1137 -92
  2. package/dist/compile.min.esm.js +261 -61
  3. package/dist/compile.min.umd.cjs +262 -62
  4. package/dist/compile.umd.cjs +1137 -92
  5. package/dist/compute-engine.esm.js +1751 -176
  6. package/dist/compute-engine.min.esm.js +273 -73
  7. package/dist/compute-engine.min.umd.cjs +272 -72
  8. package/dist/compute-engine.umd.cjs +1751 -176
  9. package/dist/core.esm.js +1750 -175
  10. package/dist/core.min.esm.js +271 -71
  11. package/dist/core.min.umd.cjs +271 -71
  12. package/dist/core.umd.cjs +1750 -175
  13. package/dist/interval.esm.js +357 -28
  14. package/dist/interval.min.esm.js +6 -6
  15. package/dist/interval.min.umd.cjs +6 -6
  16. package/dist/interval.umd.cjs +357 -28
  17. package/dist/latex-syntax.esm.js +398 -28
  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 +398 -28
  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 +8 -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 +62 -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 +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 +18 -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/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 +51 -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,2 +1,2 @@
1
- /* 0.56.0 */
1
+ /* 0.58.0 */
2
2
  export declare function simplifyTrig(x: Expression): RuleStep | undefined;
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.58.0 */
2
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]>;
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.58.0 */
2
2
  /** @category Tensors */
3
3
  export declare abstract class AbstractTensor<DT extends keyof DataTypeMap> implements Tensor<DT> {
4
4
  private ce;
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.58.0 */
2
2
  import type { Type, TypeString } from '../common/type/types';
3
3
  import type { BoxedType } from '../common/type/boxed-type';
4
4
  import type { LatexString } from './latex-syntax/types';
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.58.0 */
2
2
  import type { OneOf } from '../common/one-of';
3
3
  import type { MathJsonSymbol, MathJsonNumberObject } from '../math-json';
4
4
  import type { Type, TypeString, TypeResolver } from '../common/type/types';
@@ -25,6 +25,14 @@ export interface ILatexSyntax {
25
25
  parse(latex: string, options?: Partial<ParseLatexOptions>): import('../math-json/types').MathJsonExpression | null;
26
26
  serialize(expr: import('../math-json/types').MathJsonExpression, options?: Record<string, unknown>): string;
27
27
  }
28
+ export type OperatorInfo = {
29
+ kind: 'function' | 'opaque';
30
+ signature?: BoxedType;
31
+ };
32
+ export type SymbolInfo = {
33
+ kind: 'constant' | 'variable';
34
+ type: BoxedType;
35
+ };
28
36
  /** @internal */
29
37
  export interface IComputeEngine {
30
38
  /** The LatexSyntax instance used for LaTeX parsing/serialization.
@@ -75,6 +83,7 @@ export interface IComputeEngine {
75
83
  timeLimit: number;
76
84
  iterationLimit: number;
77
85
  recursionLimit: number;
86
+ maxCollectionSize: number;
78
87
  chop(n: number): number;
79
88
  chop(n: BigNum): BigNum | 0;
80
89
  chop(n: number | BigNum): number | BigNum;
@@ -360,6 +369,47 @@ export interface IComputeEngine {
360
369
  _reset(): void;
361
370
  /** @internal */
362
371
  listenToConfigurationChange(tracker: ConfigurationChangeListener): () => void;
372
+ /**
373
+ * Introspect a registered operator head.
374
+ *
375
+ * Returns `undefined` if no definition is registered in this engine.
376
+ * Otherwise returns `{ kind, signature? }` where `kind` is `'function'`
377
+ * when the operator has an `evaluate` or `collection` handler, and
378
+ * `'opaque'` when it is declared as a typed-but-opaque node (e.g.,
379
+ * `Triangle`, `Sphere`).
380
+ *
381
+ * Use this to classify heads encountered in parsed MathJSON without
382
+ * maintaining a parallel list of "known" operators.
383
+ */
384
+ operatorInfo(head: string): OperatorInfo | undefined;
385
+ /**
386
+ * Convert a LaTeX identifier string to its canonical MathJSON name without
387
+ * declaring the symbol in the engine scope.
388
+ *
389
+ * Examples:
390
+ * - `'R_{3}'` → `'R_3'`
391
+ * - `'\\theta_x'` → `'theta_x'`
392
+ * - `'\\alpha'` → `'alpha'`
393
+ * - `'1 + 2'` → `''` (not an identifier)
394
+ *
395
+ * Use this instead of `ce.parse(latex).symbol` when you need the canonical
396
+ * name without the side-effect of auto-declaring the symbol.
397
+ */
398
+ normalizeIdentifier(latex: string): string;
399
+ /**
400
+ * Return introspection metadata for a symbol (value definition) in the
401
+ * current scope chain.
402
+ *
403
+ * - `kind: 'constant'` when the symbol is a CE-registered constant
404
+ * (e.g. `Pi`, `True`, `ExponentialE`).
405
+ * - `kind: 'variable'` for declared but non-constant value symbols
406
+ * (e.g. after `ce.declare('a', 'real')`).
407
+ *
408
+ * Returns `undefined` for unknown names and for names that resolve to
409
+ * operator/function definitions (use `operatorInfo()` for those — the
410
+ * two methods are non-overlapping).
411
+ */
412
+ symbolInfo(name: string): SymbolInfo | undefined;
363
413
  }
364
414
  declare module './types-expression' {
365
415
  interface ExpressionComputeEngine extends IComputeEngine {
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.58.0 */
2
2
  import type { IComputeEngine as ComputeEngine } from './types-engine';
3
3
  import type { Expression, ExpressionInput } from './types-expression';
4
4
  import type { Assumption as KernelAssumption, AssumeResult, AssignValue as KernelAssignValue, BoxedRule as KernelBoxedRule, BoxedRuleSet as KernelBoxedRuleSet, EvaluateOptions as KernelEvaluateOptions, EvalContext as KernelEvalContext, ExpressionMapInterface as KernelExpressionMapInterface, Rule as KernelRule, RuleConditionFunction as KernelRuleConditionFunction, RuleFunction as KernelRuleFunction, RuleReplaceFunction as KernelRuleReplaceFunction, RuleStep as KernelRuleStep, RuleSteps as KernelRuleSteps, Scope as KernelScope } from './types-kernel-evaluation';
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.58.0 */
2
2
  import type { OneOf } from '../common/one-of';
3
3
  import type { MathJsonExpression, MathJsonNumberObject, MathJsonStringObject, MathJsonSymbolObject, MathJsonFunctionObject, MathJsonSymbol, MathJsonDictionaryObject } from '../math-json';
4
4
  import type { Type, TypeString } from '../common/type/types';
@@ -405,6 +405,20 @@ export interface Tensor<DT extends TensorDataType> extends TensorData<DT> {
405
405
  * @category Boxed Expression
406
406
  *
407
407
  */
408
+ /**
409
+ * Lower and upper bounds for a symbol extracted from a domain restriction.
410
+ *
411
+ * `lowerStrict`/`upperStrict` are `true` for strict (`<`, `>`) bounds and
412
+ * `false` (or `undefined`) for non-strict (`≤`, `≥`) bounds.
413
+ *
414
+ * @category Boxed Expression
415
+ */
416
+ export type IntervalBounds = {
417
+ lower?: Expression;
418
+ lowerStrict?: boolean;
419
+ upper?: Expression;
420
+ upperStrict?: boolean;
421
+ };
408
422
  export interface Expression {
409
423
  /** @internal */
410
424
  readonly _kind: string;
@@ -1372,6 +1386,60 @@ export interface Expression {
1372
1386
  *
1373
1387
  */
1374
1388
  simplify(options?: Partial<SimplifyOptions>): Expression;
1389
+ /**
1390
+ * For a relation expression (`Equal`, `Less`, `Greater`, `LessEqual`,
1391
+ * `GreaterEqual`, `NotEqual`), return the "signed function" form
1392
+ * useful for implicit-surface rendering and region classification:
1393
+ *
1394
+ * - `Equal(a, b)` → `a - b` (zero on the surface)
1395
+ * - `Less(a, b)` / `LessEqual(a, b)` → `a - b` (negative when relation holds)
1396
+ * - `Greater(a, b)` / `GreaterEqual(a, b)` → `b - a` (negative when relation holds)
1397
+ * - `NotEqual(a, b)` → `a - b` (caller checks ≠ 0)
1398
+ *
1399
+ * For non-relation expressions, returns `undefined`.
1400
+ *
1401
+ * Strictness (strict vs non-strict inequality) and direction (less vs
1402
+ * greater) are encoded in the original `expr.operator`, not in the
1403
+ * returned expression. Callers handling 3D implicit rendering use
1404
+ * `expr.operator` for the boundary policy and the signed function for
1405
+ * the interior/exterior classification.
1406
+ *
1407
+ * Notes:
1408
+ * - CE canonical form normalizes `GreaterEqual(a, b)` to `LessEqual(b, a)`
1409
+ * (and similarly `Greater` to `Less`). Callers using `toSignedFunction()`
1410
+ * on canonicalized parsed expressions will see `LessEqual`/`Less` rather
1411
+ * than `GreaterEqual`/`Greater`. The signed-function semantics are
1412
+ * preserved through the normalization. The `GreaterEqual`/`Greater`
1413
+ * branches handle non-canonical expressions constructed via
1414
+ * `ce.box(['GreaterEqual', ...])`.
1415
+ * - For chained relations with more than two operands (e.g.
1416
+ * `Less(a, b, c)` from `a < b < c`), only the first pair is used.
1417
+ * The result is the signed function for the first sub-relation only;
1418
+ * 3D implicit rendering rarely uses chained relations, but if it
1419
+ * does, callers should decompose first.
1420
+ */
1421
+ toSignedFunction(): BoxedExpression | undefined;
1422
+ /**
1423
+ * For an expression representing a domain restriction (a `When` whose
1424
+ * condition is a comparison or `And` of comparisons over `symbol`, or
1425
+ * a bare comparison expression), return the lower/upper bounds for
1426
+ * `symbol`. Returns `undefined` if no bounds can be extracted.
1427
+ *
1428
+ * Supported shapes:
1429
+ * - Bare comparisons: `a < x`, `x < b`, etc.
1430
+ * - Chained comparisons: `a < x < b` (parsed as `Less(a, x, b)`)
1431
+ * - `And(c1, c2, ...)` where each `ci` is a supported shape
1432
+ * - `When(e, cond)` — operates on `cond`
1433
+ * - `Multiply(f, When(...), ...)` — the Desmos parse shape for
1434
+ * `f(x)\{a < x < b\}`; bounds from each `When` factor are merged
1435
+ *
1436
+ * `lowerStrict`/`upperStrict` are `true` for strict (`<`, `>`) bounds
1437
+ * and `false` for non-strict (`≤`, `≥`).
1438
+ *
1439
+ * Returns `undefined` for unsupported shapes (e.g. equations, non-linear
1440
+ * constraints, comparisons over multiple symbols, disjunctions).
1441
+ */
1442
+ getInterval(symbol: string): IntervalBounds | undefined;
1375
1443
  /**
1376
1444
  * Return the value of the canonical form of this expression.
1377
1445
  *
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.58.0 */
2
2
  import type { TypeReference } from '../common/type/types';
3
3
  import type { BoxedType } from '../common/type/boxed-type';
4
4
  import type { LatexString } from './latex-syntax/types';
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.58.0 */
2
2
  export type Hold = 'none' | 'all' | 'first' | 'rest' | 'last' | 'most';
3
3
  /**
4
4
  * Options to control serialization to MathJSON when using
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.58.0 */
2
2
  import type { BoxedSubstitution as KernelBoxedSubstitution, CanonicalForm, CanonicalOptions, FormOption, Hold, JsonSerializationOptions, Metadata, PatternMatchOptions as KernelPatternMatchOptions, ReplaceOptions, Substitution as KernelSubstitution } from './types-kernel-serialization';
3
3
  export type { Hold, JsonSerializationOptions, ReplaceOptions, CanonicalForm, CanonicalOptions, FormOption, Metadata, };
4
4
  /**
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.58.0 */
2
2
  export type { MathJsonExpression, MathJsonAttributes, MathJsonNumberObject, MathJsonSymbolObject, MathJsonStringObject, MathJsonFunctionObject, DictionaryValue, MathJsonDictionaryObject, ExpressionObject, MathJsonSymbol, } from '../math-json/types';
3
3
  export * from '../common/type/boxed-type';
4
4
  export * from '../common/type/types';
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.58.0 */
2
2
  export { ComputeEngine } from './compute-engine/index';
3
3
  export type * from './compute-engine/types';
4
4
  export { LatexSyntax, parse as parseLatex, serialize as serializeLatex, } from './compute-engine/latex-syntax/latex-syntax';
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.58.0 */
2
2
  export { ComputeEngine } from './compute-engine/index';
3
3
  export type * from './compute-engine/types';
4
4
  export type { Interval, IntervalResult, BoolInterval, } from './compute-engine/interval/types';
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.58.0 */
2
2
  export type { Interval, IntervalResult, BoolInterval, } from './compute-engine/interval/types';
3
3
  export { ok, point, containsExtremum, unionResults, mergeDomainClip, isPoint, containsZero, isPositive, isNegative, isNonNegative, isNonPositive, width, midpoint, getValue, unwrap, unwrapOrPropagate, } from './compute-engine/interval/util';
4
4
  export { add, sub, mul, div, negate, _mul, } from './compute-engine/interval/arithmetic';
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.58.0 */
2
2
  * Entry point for `@cortex-js/compute-engine/latex-syntax`.
3
3
  *
4
4
  * Provides standalone LaTeX <-> MathJSON parsing and serialization
@@ -11,4 +11,4 @@ export type { LatexSyntaxOptions } from './compute-engine/latex-syntax/latex-syn
11
11
  export { LATEX_DICTIONARY, CORE_DICTIONARY, SYMBOLS_DICTIONARY, ALGEBRA_DICTIONARY, ARITHMETIC_DICTIONARY, COMPLEX_DICTIONARY, TRIGONOMETRY_DICTIONARY, CALCULUS_DICTIONARY, LINEAR_ALGEBRA_DICTIONARY, STATISTICS_DICTIONARY, LOGIC_DICTIONARY, SETS_DICTIONARY, INEQUALITIES_DICTIONARY, UNITS_DICTIONARY, OTHERS_DICTIONARY, PHYSICS_DICTIONARY, } from './compute-engine/latex-syntax/dictionary/default-dictionary';
12
12
  export type { LatexDictionaryEntry, LatexDictionary, SerializeLatexOptions, ParseLatexOptions, LatexString, } from './compute-engine/latex-syntax/types';
13
13
  export type { MathJsonExpression } from './math-json/types';
14
- export declare const version = "0.56.0";
14
+ export declare const version = "0.58.0";
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.58.0 */
2
2
  * Return true if the string is a valid symbol.
3
3
  *
4
4
  * Check for symbols matching a profile of [Unicode UAX31](https://unicode.org/reports/tr31/)
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.58.0 */
2
2
  * The following properties can be added to any MathJSON expression
3
3
  * to provide additional information about the expression.
4
4
  *
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.58.0 */
2
2
  export declare const MISSING: MathJsonExpression;
3
3
  export declare function isNumberExpression(expr: MathJsonExpression | null): expr is number | string | MathJsonNumberObject;
4
4
  export declare function isNumberObject(expr: MathJsonExpression | null): expr is MathJsonNumberObject;
@@ -1,3 +1,3 @@
1
- /* 0.56.0 */
1
+ /* 0.58.0 */
2
2
  export { isSymbolObject, isStringObject, isFunctionObject, stringValue, operator, operand, symbol, mapArgs, dictionaryFromExpression, } from './math-json/utils';
3
- export declare const version = "0.56.0";
3
+ export declare const version = "0.58.0";
@@ -1,4 +1,4 @@
1
- /* 0.56.0 */
1
+ /* 0.58.0 */
2
2
  export type { SmallInteger, Rational, BigNum, } from './compute-engine/numerics/types';
3
3
  export type { ExactNumericValueData, NumericValueData, NumericValueFactory, } from './compute-engine/numeric-value/types';
4
4
  export { NumericValue } from './compute-engine/numeric-value/types';
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.56.0",
2
+ "version": "0.58.0",
3
3
  "scripts": {
4
4
  "doc": "bash ./scripts/doc.sh",
5
5
  "build": "bash ./scripts/build.sh",