@cortex-js/compute-engine 0.51.0 → 0.52.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 (237) hide show
  1. package/dist/compute-engine.esm.js +8766 -6852
  2. package/dist/compute-engine.min.esm.js +276 -73
  3. package/dist/compute-engine.min.umd.js +277 -74
  4. package/dist/compute-engine.umd.js +8766 -6852
  5. package/dist/math-json.esm.js +2 -2
  6. package/dist/math-json.min.esm.js +2 -2
  7. package/dist/math-json.min.umd.js +2 -2
  8. package/dist/math-json.umd.js +2 -2
  9. package/dist/types/common/ansi-codes.d.ts +1 -1
  10. package/dist/types/common/configuration-change.d.ts +1 -1
  11. package/dist/types/common/fuzzy-string-match.d.ts +1 -1
  12. package/dist/types/common/grapheme-splitter.d.ts +1 -1
  13. package/dist/types/common/interruptible.d.ts +1 -1
  14. package/dist/types/common/one-of.d.ts +1 -1
  15. package/dist/types/common/signals.d.ts +1 -1
  16. package/dist/types/common/type/ast-nodes.d.ts +1 -1
  17. package/dist/types/common/type/boxed-type.d.ts +1 -1
  18. package/dist/types/common/type/lexer.d.ts +1 -1
  19. package/dist/types/common/type/parse.d.ts +1 -1
  20. package/dist/types/common/type/parser.d.ts +1 -1
  21. package/dist/types/common/type/primitive.d.ts +1 -1
  22. package/dist/types/common/type/reduce.d.ts +1 -1
  23. package/dist/types/common/type/serialize.d.ts +1 -1
  24. package/dist/types/common/type/subtype.d.ts +11 -1
  25. package/dist/types/common/type/type-builder.d.ts +1 -1
  26. package/dist/types/common/type/types.d.ts +1 -1
  27. package/dist/types/common/type/utils.d.ts +2 -30
  28. package/dist/types/common/utils.d.ts +1 -1
  29. package/dist/types/compute-engine/assume.d.ts +1 -1
  30. package/dist/types/compute-engine/boxed-expression/abstract-boxed-expression.d.ts +6 -4
  31. package/dist/types/compute-engine/boxed-expression/apply.d.ts +1 -1
  32. package/dist/types/compute-engine/boxed-expression/arithmetic-add.d.ts +1 -1
  33. package/dist/types/compute-engine/boxed-expression/arithmetic-mul-div.d.ts +1 -1
  34. package/dist/types/compute-engine/boxed-expression/arithmetic-power.d.ts +1 -1
  35. package/dist/types/compute-engine/boxed-expression/ascii-math.d.ts +1 -1
  36. package/dist/types/compute-engine/boxed-expression/box.d.ts +1 -1
  37. package/dist/types/compute-engine/boxed-expression/boxed-dictionary.d.ts +1 -1
  38. package/dist/types/compute-engine/boxed-expression/boxed-function.d.ts +1 -1
  39. package/dist/types/compute-engine/boxed-expression/boxed-number.d.ts +3 -2
  40. package/dist/types/compute-engine/boxed-expression/boxed-operator-definition.d.ts +1 -1
  41. package/dist/types/compute-engine/boxed-expression/boxed-patterns.d.ts +1 -1
  42. package/dist/types/compute-engine/boxed-expression/boxed-string.d.ts +1 -1
  43. package/dist/types/compute-engine/boxed-expression/boxed-symbol.d.ts +3 -2
  44. package/dist/types/compute-engine/boxed-expression/boxed-tensor.d.ts +1 -1
  45. package/dist/types/compute-engine/boxed-expression/boxed-value-definition.d.ts +1 -1
  46. package/dist/types/compute-engine/boxed-expression/cache.d.ts +1 -1
  47. package/dist/types/compute-engine/boxed-expression/canonical-utils.d.ts +1 -1
  48. package/dist/types/compute-engine/boxed-expression/canonical.d.ts +1 -1
  49. package/dist/types/compute-engine/boxed-expression/compare.d.ts +4 -3
  50. package/dist/types/compute-engine/boxed-expression/constants.d.ts +1 -1
  51. package/dist/types/compute-engine/boxed-expression/expand.d.ts +1 -1
  52. package/dist/types/compute-engine/boxed-expression/expression-map.d.ts +1 -1
  53. package/dist/types/compute-engine/boxed-expression/factor.d.ts +1 -1
  54. package/dist/types/compute-engine/boxed-expression/flatten.d.ts +1 -1
  55. package/dist/types/compute-engine/boxed-expression/hold.d.ts +1 -1
  56. package/dist/types/compute-engine/boxed-expression/inequality-bounds.d.ts +1 -1
  57. package/dist/types/compute-engine/boxed-expression/init-lazy-refs.d.ts +1 -1
  58. package/dist/types/compute-engine/boxed-expression/invisible-operator.d.ts +1 -1
  59. package/dist/types/compute-engine/boxed-expression/match.d.ts +1 -1
  60. package/dist/types/compute-engine/boxed-expression/negate.d.ts +1 -1
  61. package/dist/types/compute-engine/boxed-expression/numerics.d.ts +1 -1
  62. package/dist/types/compute-engine/boxed-expression/order.d.ts +1 -1
  63. package/dist/types/compute-engine/boxed-expression/pattern-utils.d.ts +1 -1
  64. package/dist/types/compute-engine/boxed-expression/polynomial-degree.d.ts +1 -1
  65. package/dist/types/compute-engine/boxed-expression/polynomials.d.ts +1 -1
  66. package/dist/types/compute-engine/boxed-expression/predicates.d.ts +1 -1
  67. package/dist/types/compute-engine/boxed-expression/rules.d.ts +1 -1
  68. package/dist/types/compute-engine/boxed-expression/serialize.d.ts +9 -3
  69. package/dist/types/compute-engine/boxed-expression/sgn.d.ts +1 -1
  70. package/dist/types/compute-engine/boxed-expression/simplify.d.ts +1 -1
  71. package/dist/types/compute-engine/boxed-expression/solve-linear-system.d.ts +1 -1
  72. package/dist/types/compute-engine/boxed-expression/solve.d.ts +1 -1
  73. package/dist/types/compute-engine/boxed-expression/stochastic-equal.d.ts +18 -0
  74. package/dist/types/compute-engine/boxed-expression/trigonometry.d.ts +1 -1
  75. package/dist/types/compute-engine/boxed-expression/type-guards.d.ts +14 -7
  76. package/dist/types/compute-engine/boxed-expression/utils.d.ts +1 -1
  77. package/dist/types/compute-engine/boxed-expression/validate.d.ts +1 -1
  78. package/dist/types/compute-engine/collection-utils.d.ts +1 -1
  79. package/dist/types/compute-engine/compilation/base-compiler.d.ts +26 -1
  80. package/dist/types/compute-engine/compilation/compile-expression.d.ts +10 -4
  81. package/dist/types/compute-engine/compilation/glsl-target.d.ts +1 -1
  82. package/dist/types/compute-engine/compilation/gpu-target.d.ts +1 -1
  83. package/dist/types/compute-engine/compilation/interval-glsl-target.d.ts +2 -2
  84. package/dist/types/compute-engine/compilation/interval-javascript-target.d.ts +19 -2
  85. package/dist/types/compute-engine/compilation/interval-wgsl-target.d.ts +2 -2
  86. package/dist/types/compute-engine/compilation/javascript-target.d.ts +11 -3
  87. package/dist/types/compute-engine/compilation/python-target.d.ts +2 -2
  88. package/dist/types/compute-engine/compilation/types.d.ts +100 -14
  89. package/dist/types/compute-engine/compilation/wgsl-target.d.ts +1 -1
  90. package/dist/types/compute-engine/cost-function.d.ts +1 -1
  91. package/dist/types/compute-engine/engine-assumptions.d.ts +1 -1
  92. package/dist/types/compute-engine/engine-cache.d.ts +1 -1
  93. package/dist/types/compute-engine/engine-common-symbols.d.ts +1 -1
  94. package/dist/types/compute-engine/engine-compilation-targets.d.ts +1 -1
  95. package/dist/types/compute-engine/engine-configuration-lifecycle.d.ts +1 -1
  96. package/dist/types/compute-engine/engine-declarations.d.ts +1 -1
  97. package/dist/types/compute-engine/engine-expression-entrypoints.d.ts +1 -1
  98. package/dist/types/compute-engine/engine-extension-contracts.d.ts +1 -1
  99. package/dist/types/compute-engine/engine-latex-dictionary-state.d.ts +1 -1
  100. package/dist/types/compute-engine/engine-library-bootstrap.d.ts +1 -1
  101. package/dist/types/compute-engine/engine-numeric-configuration.d.ts +1 -1
  102. package/dist/types/compute-engine/engine-parse-entrypoint.d.ts +1 -1
  103. package/dist/types/compute-engine/engine-runtime-state.d.ts +1 -1
  104. package/dist/types/compute-engine/engine-scope.d.ts +1 -1
  105. package/dist/types/compute-engine/engine-sequences.d.ts +1 -1
  106. package/dist/types/compute-engine/engine-simplification-rules.d.ts +1 -1
  107. package/dist/types/compute-engine/engine-startup-coordinator.d.ts +1 -1
  108. package/dist/types/compute-engine/engine-type-resolver.d.ts +1 -1
  109. package/dist/types/compute-engine/engine-validation-entrypoints.d.ts +1 -1
  110. package/dist/types/compute-engine/free-functions.d.ts +10 -2
  111. package/dist/types/compute-engine/function-utils.d.ts +1 -1
  112. package/dist/types/compute-engine/global-types.d.ts +1 -1
  113. package/dist/types/compute-engine/index.d.ts +2 -2
  114. package/dist/types/compute-engine/interval/arithmetic.d.ts +1 -1
  115. package/dist/types/compute-engine/interval/comparison.d.ts +2 -2
  116. package/dist/types/compute-engine/interval/elementary.d.ts +67 -1
  117. package/dist/types/compute-engine/interval/index.d.ts +21 -5
  118. package/dist/types/compute-engine/interval/trigonometric.d.ts +16 -1
  119. package/dist/types/compute-engine/interval/types.d.ts +1 -1
  120. package/dist/types/compute-engine/interval/util.d.ts +1 -1
  121. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-algebra.d.ts +1 -1
  122. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-arithmetic.d.ts +1 -1
  123. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-calculus.d.ts +1 -1
  124. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-complex.d.ts +1 -1
  125. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-core.d.ts +1 -1
  126. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-linear-algebra.d.ts +1 -1
  127. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-logic.d.ts +1 -1
  128. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-other.d.ts +1 -1
  129. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-relational-operators.d.ts +1 -1
  130. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-sets.d.ts +1 -1
  131. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-statistics.d.ts +1 -1
  132. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-symbols.d.ts +1 -1
  133. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-trigonometry.d.ts +1 -1
  134. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-units.d.ts +1 -1
  135. package/dist/types/compute-engine/latex-syntax/dictionary/definitions.d.ts +1 -1
  136. package/dist/types/compute-engine/latex-syntax/dictionary/indexed-types.d.ts +1 -1
  137. package/dist/types/compute-engine/latex-syntax/parse-number.d.ts +1 -1
  138. package/dist/types/compute-engine/latex-syntax/parse-symbol.d.ts +1 -1
  139. package/dist/types/compute-engine/latex-syntax/parse.d.ts +1 -1
  140. package/dist/types/compute-engine/latex-syntax/serialize-dms.d.ts +22 -0
  141. package/dist/types/compute-engine/latex-syntax/serialize-number.d.ts +1 -1
  142. package/dist/types/compute-engine/latex-syntax/serializer-style.d.ts +1 -1
  143. package/dist/types/compute-engine/latex-syntax/serializer.d.ts +2 -2
  144. package/dist/types/compute-engine/latex-syntax/tokenizer.d.ts +1 -1
  145. package/dist/types/compute-engine/latex-syntax/types.d.ts +58 -1
  146. package/dist/types/compute-engine/latex-syntax/utils.d.ts +1 -1
  147. package/dist/types/compute-engine/library/arithmetic.d.ts +1 -1
  148. package/dist/types/compute-engine/library/calculus.d.ts +1 -1
  149. package/dist/types/compute-engine/library/collections.d.ts +1 -1
  150. package/dist/types/compute-engine/library/colors.d.ts +1 -1
  151. package/dist/types/compute-engine/library/combinatorics.d.ts +1 -1
  152. package/dist/types/compute-engine/library/complex.d.ts +1 -1
  153. package/dist/types/compute-engine/library/control-structures.d.ts +1 -1
  154. package/dist/types/compute-engine/library/core.d.ts +1 -1
  155. package/dist/types/compute-engine/library/library.d.ts +1 -1
  156. package/dist/types/compute-engine/library/linear-algebra.d.ts +1 -1
  157. package/dist/types/compute-engine/library/logic-analysis.d.ts +1 -1
  158. package/dist/types/compute-engine/library/logic.d.ts +1 -1
  159. package/dist/types/compute-engine/library/number-theory.d.ts +1 -1
  160. package/dist/types/compute-engine/library/polynomials.d.ts +1 -1
  161. package/dist/types/compute-engine/library/quantity-arithmetic.d.ts +1 -1
  162. package/dist/types/compute-engine/library/random-expression.d.ts +1 -1
  163. package/dist/types/compute-engine/library/relational-operator.d.ts +1 -1
  164. package/dist/types/compute-engine/library/sets.d.ts +1 -1
  165. package/dist/types/compute-engine/library/statistics.d.ts +1 -1
  166. package/dist/types/compute-engine/library/trigonometry.d.ts +1 -1
  167. package/dist/types/compute-engine/library/type-handlers.d.ts +1 -1
  168. package/dist/types/compute-engine/library/unit-data.d.ts +1 -1
  169. package/dist/types/compute-engine/library/units.d.ts +1 -1
  170. package/dist/types/compute-engine/library/utils.d.ts +1 -1
  171. package/dist/types/compute-engine/numeric-value/big-numeric-value.d.ts +1 -1
  172. package/dist/types/compute-engine/numeric-value/exact-numeric-value.d.ts +1 -1
  173. package/dist/types/compute-engine/numeric-value/machine-numeric-value.d.ts +1 -1
  174. package/dist/types/compute-engine/numeric-value/types.d.ts +1 -1
  175. package/dist/types/compute-engine/numerics/bigint.d.ts +1 -1
  176. package/dist/types/compute-engine/numerics/expression.d.ts +1 -1
  177. package/dist/types/compute-engine/numerics/interval.d.ts +1 -1
  178. package/dist/types/compute-engine/numerics/monte-carlo.d.ts +1 -1
  179. package/dist/types/compute-engine/numerics/numeric-bigint.d.ts +1 -1
  180. package/dist/types/compute-engine/numerics/numeric-bignum.d.ts +1 -1
  181. package/dist/types/compute-engine/numerics/numeric-complex.d.ts +1 -1
  182. package/dist/types/compute-engine/numerics/numeric.d.ts +1 -1
  183. package/dist/types/compute-engine/numerics/primes.d.ts +1 -1
  184. package/dist/types/compute-engine/numerics/rationals.d.ts +1 -1
  185. package/dist/types/compute-engine/numerics/richardson.d.ts +1 -1
  186. package/dist/types/compute-engine/numerics/special-functions.d.ts +15 -1
  187. package/dist/types/compute-engine/numerics/statistics.d.ts +1 -1
  188. package/dist/types/compute-engine/numerics/strings.d.ts +1 -1
  189. package/dist/types/compute-engine/numerics/types.d.ts +1 -1
  190. package/dist/types/compute-engine/numerics/unit-data.d.ts +1 -1
  191. package/dist/types/compute-engine/oeis.d.ts +1 -1
  192. package/dist/types/compute-engine/sequence.d.ts +1 -1
  193. package/dist/types/compute-engine/symbolic/antiderivative.d.ts +1 -1
  194. package/dist/types/compute-engine/symbolic/derivative.d.ts +1 -1
  195. package/dist/types/compute-engine/symbolic/distribute.d.ts +1 -1
  196. package/dist/types/compute-engine/symbolic/fu-cost.d.ts +1 -1
  197. package/dist/types/compute-engine/symbolic/fu-transforms.d.ts +1 -1
  198. package/dist/types/compute-engine/symbolic/fu.d.ts +1 -1
  199. package/dist/types/compute-engine/symbolic/logic-utils.d.ts +1 -1
  200. package/dist/types/compute-engine/symbolic/simplify-abs.d.ts +1 -1
  201. package/dist/types/compute-engine/symbolic/simplify-divide.d.ts +1 -1
  202. package/dist/types/compute-engine/symbolic/simplify-factorial.d.ts +1 -1
  203. package/dist/types/compute-engine/symbolic/simplify-hyperbolic.d.ts +1 -1
  204. package/dist/types/compute-engine/symbolic/simplify-infinity.d.ts +1 -1
  205. package/dist/types/compute-engine/symbolic/simplify-log.d.ts +1 -1
  206. package/dist/types/compute-engine/symbolic/simplify-logic.d.ts +1 -1
  207. package/dist/types/compute-engine/symbolic/simplify-power.d.ts +1 -1
  208. package/dist/types/compute-engine/symbolic/simplify-product.d.ts +1 -1
  209. package/dist/types/compute-engine/symbolic/simplify-rules.d.ts +1 -1
  210. package/dist/types/compute-engine/symbolic/simplify-sum.d.ts +1 -1
  211. package/dist/types/compute-engine/symbolic/simplify-trig.d.ts +1 -1
  212. package/dist/types/compute-engine/tensor/tensor-fields.d.ts +1 -1
  213. package/dist/types/compute-engine/tensor/tensors.d.ts +1 -1
  214. package/dist/types/compute-engine/types-definitions.d.ts +1 -1
  215. package/dist/types/compute-engine/types-engine.d.ts +1 -1
  216. package/dist/types/compute-engine/types-evaluation.d.ts +1 -1
  217. package/dist/types/compute-engine/types-expression.d.ts +47 -16
  218. package/dist/types/compute-engine/types-kernel-evaluation.d.ts +1 -1
  219. package/dist/types/compute-engine/types-kernel-serialization.d.ts +1 -1
  220. package/dist/types/compute-engine/types-serialization.d.ts +1 -1
  221. package/dist/types/compute-engine/types.d.ts +1 -1
  222. package/dist/types/compute-engine.d.ts +4 -3
  223. package/dist/types/math-json/symbols.d.ts +1 -1
  224. package/dist/types/math-json/types.d.ts +1 -1
  225. package/dist/types/math-json/utils.d.ts +1 -1
  226. package/dist/types/math-json.d.ts +2 -2
  227. package/package.json +2 -1
  228. package/dist/types/color/categorical.d.ts +0 -9
  229. package/dist/types/color/contrast.d.ts +0 -16
  230. package/dist/types/color/conversion.d.ts +0 -13
  231. package/dist/types/color/diverging-palettes.d.ts +0 -15
  232. package/dist/types/color/index.d.ts +0 -4
  233. package/dist/types/color/manipulation.d.ts +0 -95
  234. package/dist/types/color/palette.d.ts +0 -38
  235. package/dist/types/color/sequential.d.ts +0 -21
  236. package/dist/types/color/types.d.ts +0 -19
  237. package/dist/types/compute-engine/boxed-expression/product.d.ts +0 -1
@@ -1,4 +1,4 @@
1
- /** Compute Engine 0.51.0 */
1
+ /** Compute Engine 0.52.0 */
2
2
 
3
3
  // src/math-json/utils.ts
4
4
  function isNumberObject(expr) {
@@ -115,7 +115,7 @@ function expressionToDictionaryValue(expr) {
115
115
  }
116
116
 
117
117
  // src/math-json.ts
118
- var version = "0.51.0";
118
+ var version = "0.52.0";
119
119
  export {
120
120
  dictionaryFromExpression,
121
121
  isFunctionObject,
@@ -1,2 +1,2 @@
1
- /** Compute Engine 0.51.0 */
2
- function b(n){return n!==null&&typeof n=="object"&&"num"in n}function s(n){return n!==null&&typeof n=="object"&&"sym"in n}function f(n){return n!==null&&typeof n=="object"&&"str"in n}function M(n){return n!==null&&typeof n=="object"&&"dict"in n&&typeof n.dict=="object"&&!Array.isArray(n.dict)&&n.dict!==null}function r(n){return n!==null&&typeof n=="object"&&"fn"in n&&Array.isArray(n.fn)&&n.fn.length>0&&typeof n.fn[0]=="string"}function c(n){return n==null?null:typeof n=="object"&&"str"in n?n.str:typeof n!="string"?null:n.length>=2&&n.at(0)==="'"&&n.at(-1)==="'"?n.substring(1,n.length-1):j(n)||y(n)?null:n}function l(n){return Array.isArray(n)?n[0]:n==null?"":r(n)?n.fn[0]:""}function h(n){return Array.isArray(n)?n.slice(1):n!==void 0&&r(n)?n.fn.slice(1):[]}function d(n,t){return Array.isArray(n)?n[t]??null:n===null||!r(n)?null:n.fn[t]??null}function J(n){return n==null?0:Array.isArray(n)?Math.max(0,n.length-1):r(n)?Math.max(0,n.fn.length-1):0}function m(n){return typeof n=="string"&&y(n)?n.length>=2&&n.at(0)==="`"&&n.at(-1)==="`"?n.slice(1,-1):n:n==null?null:s(n)?n.sym:null}function a(n){let t=l(n);if(t==="KeyValuePair"||t==="Tuple"||t==="Pair"){let[i,o]=h(n),e=c(i);return e?[e,o??"Nothing"]:null}return null}function E(n){if(n===null)return null;if(M(n))return n;let t=a(n);if(t)return{[t[0]]:t[1]};if(l(n)==="Dictionary"){let i={},o=h(n);for(let e=1;e<J(n);e++){let u=a(o[e]);u&&(i[u[0]]=O(u[1])??"Nothing")}return{dict:i}}return null}function g(n,t){let i=null;if(Array.isArray(n)&&(i=n),r(n)&&(i=n.fn),i===null)return[];let o=1,e=[];for(;o<i.length;)e.push(t(i[o])),o+=1;return e}function j(n){return/^(nan|oo|\+oo|-oo|infinity|\+infinity|-infinity)$/i.test(n)||/^[+-]?(0|[1-9][0-9]*)(\.[0-9]+)?(\([0-9]+\))?([eE][+-]?[0-9]+)?$/.test(n)}function y(n){return/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(n)||n.length>=2&&n[0]==="`"&&n[n.length-1]==="`"}function O(n){return n==null?null:f(n)?n.str:b(n)?parseFloat(n.num):s(n)?n.sym:typeof n=="string"||typeof n=="number"?n:Array.isArray(n)?{fn:n}:n}var S="0.51.0";export{E as dictionaryFromExpression,r as isFunctionObject,f as isStringObject,s as isSymbolObject,g as mapArgs,d as operand,l as operator,c as stringValue,m as symbol,S as version};
1
+ /** Compute Engine 0.52.0 */
2
+ function b(n){return n!==null&&typeof n=="object"&&"num"in n}function s(n){return n!==null&&typeof n=="object"&&"sym"in n}function f(n){return n!==null&&typeof n=="object"&&"str"in n}function M(n){return n!==null&&typeof n=="object"&&"dict"in n&&typeof n.dict=="object"&&!Array.isArray(n.dict)&&n.dict!==null}function r(n){return n!==null&&typeof n=="object"&&"fn"in n&&Array.isArray(n.fn)&&n.fn.length>0&&typeof n.fn[0]=="string"}function c(n){return n==null?null:typeof n=="object"&&"str"in n?n.str:typeof n!="string"?null:n.length>=2&&n.at(0)==="'"&&n.at(-1)==="'"?n.substring(1,n.length-1):j(n)||y(n)?null:n}function l(n){return Array.isArray(n)?n[0]:n==null?"":r(n)?n.fn[0]:""}function h(n){return Array.isArray(n)?n.slice(1):n!==void 0&&r(n)?n.fn.slice(1):[]}function d(n,t){return Array.isArray(n)?n[t]??null:n===null||!r(n)?null:n.fn[t]??null}function J(n){return n==null?0:Array.isArray(n)?Math.max(0,n.length-1):r(n)?Math.max(0,n.fn.length-1):0}function m(n){return typeof n=="string"&&y(n)?n.length>=2&&n.at(0)==="`"&&n.at(-1)==="`"?n.slice(1,-1):n:n==null?null:s(n)?n.sym:null}function a(n){let t=l(n);if(t==="KeyValuePair"||t==="Tuple"||t==="Pair"){let[i,o]=h(n),e=c(i);return e?[e,o??"Nothing"]:null}return null}function E(n){if(n===null)return null;if(M(n))return n;let t=a(n);if(t)return{[t[0]]:t[1]};if(l(n)==="Dictionary"){let i={},o=h(n);for(let e=1;e<J(n);e++){let u=a(o[e]);u&&(i[u[0]]=O(u[1])??"Nothing")}return{dict:i}}return null}function g(n,t){let i=null;if(Array.isArray(n)&&(i=n),r(n)&&(i=n.fn),i===null)return[];let o=1,e=[];for(;o<i.length;)e.push(t(i[o])),o+=1;return e}function j(n){return/^(nan|oo|\+oo|-oo|infinity|\+infinity|-infinity)$/i.test(n)||/^[+-]?(0|[1-9][0-9]*)(\.[0-9]+)?(\([0-9]+\))?([eE][+-]?[0-9]+)?$/.test(n)}function y(n){return/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(n)||n.length>=2&&n[0]==="`"&&n[n.length-1]==="`"}function O(n){return n==null?null:f(n)?n.str:b(n)?parseFloat(n.num):s(n)?n.sym:typeof n=="string"||typeof n=="number"?n:Array.isArray(n)?{fn:n}:n}var S="0.52.0";export{E as dictionaryFromExpression,r as isFunctionObject,f as isStringObject,s as isSymbolObject,g as mapArgs,d as operand,l as operator,c as stringValue,m as symbol,S as version};
@@ -1,4 +1,4 @@
1
- /** MathJSON 0.51.0 */
1
+ /** MathJSON 0.52.0 */
2
2
  (function(global,factory){typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'],factory):(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.MathJson = {}));})(this, (function (exports) { 'use strict';
3
- var MathJson=(()=>{var a=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var j=Object.prototype.hasOwnProperty;var O=(n,t)=>{for(var i in t)a(n,i,{get:t[i],enumerable:!0})},A=(n,t,i,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of g(t))!j.call(n,e)&&e!==i&&a(n,e,{get:()=>t[e],enumerable:!(o=E(t,e))||o.enumerable});return n};var S=n=>A(a({},"__esModule",{value:!0}),n);var T={};O(T,{dictionaryFromExpression:()=>d,isFunctionObject:()=>r,isStringObject:()=>f,isSymbolObject:()=>u,mapArgs:()=>J,operand:()=>b,operator:()=>s,stringValue:()=>c,symbol:()=>M,version:()=>V});function N(n){return n!==null&&typeof n=="object"&&"num"in n}function u(n){return n!==null&&typeof n=="object"&&"sym"in n}function f(n){return n!==null&&typeof n=="object"&&"str"in n}function p(n){return n!==null&&typeof n=="object"&&"dict"in n&&typeof n.dict=="object"&&!Array.isArray(n.dict)&&n.dict!==null}function r(n){return n!==null&&typeof n=="object"&&"fn"in n&&Array.isArray(n.fn)&&n.fn.length>0&&typeof n.fn[0]=="string"}function c(n){return n==null?null:typeof n=="object"&&"str"in n?n.str:typeof n!="string"?null:n.length>=2&&n.at(0)==="'"&&n.at(-1)==="'"?n.substring(1,n.length-1):k(n)||m(n)?null:n}function s(n){return Array.isArray(n)?n[0]:n==null?"":r(n)?n.fn[0]:""}function y(n){return Array.isArray(n)?n.slice(1):n!==void 0&&r(n)?n.fn.slice(1):[]}function b(n,t){return Array.isArray(n)?n[t]??null:n===null||!r(n)?null:n.fn[t]??null}function D(n){return n==null?0:Array.isArray(n)?Math.max(0,n.length-1):r(n)?Math.max(0,n.fn.length-1):0}function M(n){return typeof n=="string"&&m(n)?n.length>=2&&n.at(0)==="`"&&n.at(-1)==="`"?n.slice(1,-1):n:n==null?null:u(n)?n.sym:null}function h(n){let t=s(n);if(t==="KeyValuePair"||t==="Tuple"||t==="Pair"){let[i,o]=y(n),e=c(i);return e?[e,o??"Nothing"]:null}return null}function d(n){if(n===null)return null;if(p(n))return n;let t=h(n);if(t)return{[t[0]]:t[1]};if(s(n)==="Dictionary"){let i={},o=y(n);for(let e=1;e<D(n);e++){let l=h(o[e]);l&&(i[l[0]]=F(l[1])??"Nothing")}return{dict:i}}return null}function J(n,t){let i=null;if(Array.isArray(n)&&(i=n),r(n)&&(i=n.fn),i===null)return[];let o=1,e=[];for(;o<i.length;)e.push(t(i[o])),o+=1;return e}function k(n){return/^(nan|oo|\+oo|-oo|infinity|\+infinity|-infinity)$/i.test(n)||/^[+-]?(0|[1-9][0-9]*)(\.[0-9]+)?(\([0-9]+\))?([eE][+-]?[0-9]+)?$/.test(n)}function m(n){return/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(n)||n.length>=2&&n[0]==="`"&&n[n.length-1]==="`"}function F(n){return n==null?null:f(n)?n.str:N(n)?parseFloat(n.num):u(n)?n.sym:typeof n=="string"||typeof n=="number"?n:Array.isArray(n)?{fn:n}:n}var V="0.51.0";return S(T);})();
3
+ var MathJson=(()=>{var a=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var j=Object.prototype.hasOwnProperty;var O=(n,t)=>{for(var i in t)a(n,i,{get:t[i],enumerable:!0})},A=(n,t,i,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of g(t))!j.call(n,e)&&e!==i&&a(n,e,{get:()=>t[e],enumerable:!(o=E(t,e))||o.enumerable});return n};var S=n=>A(a({},"__esModule",{value:!0}),n);var T={};O(T,{dictionaryFromExpression:()=>d,isFunctionObject:()=>r,isStringObject:()=>f,isSymbolObject:()=>u,mapArgs:()=>J,operand:()=>b,operator:()=>s,stringValue:()=>c,symbol:()=>M,version:()=>V});function N(n){return n!==null&&typeof n=="object"&&"num"in n}function u(n){return n!==null&&typeof n=="object"&&"sym"in n}function f(n){return n!==null&&typeof n=="object"&&"str"in n}function p(n){return n!==null&&typeof n=="object"&&"dict"in n&&typeof n.dict=="object"&&!Array.isArray(n.dict)&&n.dict!==null}function r(n){return n!==null&&typeof n=="object"&&"fn"in n&&Array.isArray(n.fn)&&n.fn.length>0&&typeof n.fn[0]=="string"}function c(n){return n==null?null:typeof n=="object"&&"str"in n?n.str:typeof n!="string"?null:n.length>=2&&n.at(0)==="'"&&n.at(-1)==="'"?n.substring(1,n.length-1):k(n)||m(n)?null:n}function s(n){return Array.isArray(n)?n[0]:n==null?"":r(n)?n.fn[0]:""}function y(n){return Array.isArray(n)?n.slice(1):n!==void 0&&r(n)?n.fn.slice(1):[]}function b(n,t){return Array.isArray(n)?n[t]??null:n===null||!r(n)?null:n.fn[t]??null}function D(n){return n==null?0:Array.isArray(n)?Math.max(0,n.length-1):r(n)?Math.max(0,n.fn.length-1):0}function M(n){return typeof n=="string"&&m(n)?n.length>=2&&n.at(0)==="`"&&n.at(-1)==="`"?n.slice(1,-1):n:n==null?null:u(n)?n.sym:null}function h(n){let t=s(n);if(t==="KeyValuePair"||t==="Tuple"||t==="Pair"){let[i,o]=y(n),e=c(i);return e?[e,o??"Nothing"]:null}return null}function d(n){if(n===null)return null;if(p(n))return n;let t=h(n);if(t)return{[t[0]]:t[1]};if(s(n)==="Dictionary"){let i={},o=y(n);for(let e=1;e<D(n);e++){let l=h(o[e]);l&&(i[l[0]]=F(l[1])??"Nothing")}return{dict:i}}return null}function J(n,t){let i=null;if(Array.isArray(n)&&(i=n),r(n)&&(i=n.fn),i===null)return[];let o=1,e=[];for(;o<i.length;)e.push(t(i[o])),o+=1;return e}function k(n){return/^(nan|oo|\+oo|-oo|infinity|\+infinity|-infinity)$/i.test(n)||/^[+-]?(0|[1-9][0-9]*)(\.[0-9]+)?(\([0-9]+\))?([eE][+-]?[0-9]+)?$/.test(n)}function m(n){return/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(n)||n.length>=2&&n[0]==="`"&&n[n.length-1]==="`"}function F(n){return n==null?null:f(n)?n.str:N(n)?parseFloat(n.num):u(n)?n.sym:typeof n=="string"||typeof n=="number"?n:Array.isArray(n)?{fn:n}:n}var V="0.52.0";return S(T);})();
4
4
  Object.assign(exports, MathJson); Object.defineProperty(exports, '__esModule', { value: true });}));
@@ -1,4 +1,4 @@
1
- /** MathJSON 0.51.0 */
1
+ /** MathJSON 0.52.0 */
2
2
  (function(global,factory){typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'],factory):(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.MathJson = {}));})(this, (function (exports) { 'use strict';
3
3
  var MathJson = (() => {
4
4
  var __defProp = Object.defineProperty;
@@ -149,7 +149,7 @@ var MathJson = (() => {
149
149
  }
150
150
 
151
151
  // src/math-json.ts
152
- var version = "0.51.0";
152
+ var version = "0.52.0";
153
153
  return __toCommonJS(math_json_exports);
154
154
  })();
155
155
  Object.assign(exports, MathJson); Object.defineProperty(exports, '__esModule', { value: true });}));
@@ -1,4 +1,4 @@
1
- /* 0.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.0 */
2
2
  private _listeners;
3
3
  private _pending;
4
4
  private _version;
@@ -1,2 +1,2 @@
1
- /* 0.51.0 */
1
+ /* 0.52.0 */
2
2
  export declare function fuzzyStringMatch(invalidWord: string, validWords: string[]): string | null;
@@ -1,4 +1,4 @@
1
- /* 0.51.0 */
1
+ /* 0.52.0 */
2
2
  /**
3
3
  * Return a string or an array of graphemes.
4
4
  *
@@ -1,4 +1,4 @@
1
- /* 0.51.0 */
1
+ /* 0.52.0 */
2
2
  cause: unknown;
3
3
  value: T;
4
4
  constructor({ message, value, cause, }?: {
@@ -1,4 +1,4 @@
1
- /* 0.51.0 */
1
+ /* 0.52.0 */
2
2
  infer Head,
3
3
  ...infer Rem
4
4
  ] ? MergeTypes<Rem, Res & Head> : Res;
@@ -1,4 +1,4 @@
1
- /* 0.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.0 */
2
2
  kind: string;
3
3
  position: number;
4
4
  line: number;
@@ -1,4 +1,4 @@
1
- /* 0.51.0 */
1
+ /* 0.52.0 */
2
2
  /** @category Type */
3
3
  export declare class BoxedType {
4
4
  static unknown: BoxedType;
@@ -1,4 +1,4 @@
1
- /* 0.51.0 */
1
+ /* 0.52.0 */
2
2
  export interface Token {
3
3
  type: TokenType;
4
4
  value: string;
@@ -1,4 +1,4 @@
1
- /* 0.51.0 */
1
+ /* 0.52.0 */
2
2
  /**
3
3
  * BNF grammar for the type parser:
4
4
  *
@@ -1,4 +1,4 @@
1
- /* 0.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.0 */
2
2
  /**
3
3
  * Reduce the input type
4
4
  *
@@ -1,2 +1,2 @@
1
- /* 0.51.0 */
1
+ /* 0.52.0 */
2
2
  export declare function typeToString(type: Type, precedence?: number): string;
@@ -1,6 +1,16 @@
1
- /* 0.51.0 */
1
+ /* 0.52.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 */
5
5
  export declare function isSubtype(lhs: Type | TypeString, rhs: Type | TypeString): boolean;
6
6
  export declare function isCompatible(lhs: PrimitiveType, rhs: PrimitiveType, compatibility: TypeCompatibility): boolean;
7
+ /** Convert two or more types into a more specific type that is a subtype of
8
+ * all the input types. The resulting type is usually more constrained and
9
+ * only encompasses values that belong to both input types.
10
+ */
11
+ export declare function narrow(...types: Readonly<Type>[]): Type;
12
+ /** Convert two or more types into a broader, more general type that can
13
+ * accommodate all the input types. The resulting type is usually a supertype
14
+ * that encompasses the possible values of the input types.
15
+ */
16
+ export declare function widen(...types: Readonly<Type>[]): Readonly<Type>;
@@ -1,4 +1,4 @@
1
- /* 0.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.0 */
2
2
  * A primitive type is a simple type that represents a concrete value.
3
3
  *
4
4
  * - `any`: the top type
@@ -1,35 +1,7 @@
1
- /* 0.51.0 */
1
+ /* 0.52.0 */
2
2
  export { isValidType };
3
+ export { widen, narrow } from './subtype';
3
4
  import type { Type, FunctionSignature, TypeString } from './types';
4
- /** Convert two or more types into a more specific type that is a subtype of
5
- * all the input types. The resulting type is usually more constrained and
6
- * only encompasses values that belong to both input types.
7
- *
8
- * Examples:
9
- * narrow('integer', 'rational') => 'integer'
10
- * narrow('number', 'complex') => 'complex'
11
- * narrow('number', 'collection') => 'nothing'
12
- * narrow('number', 'value') => 'value'
13
- * narrow('number', 'expression') => 'expression'
14
- * narrow('number', 'string') => 'nothing'
15
- *
16
- *
17
- */
18
- export declare function narrow(...types: Readonly<Type>[]): Type;
19
- /**
20
- * Convert two or more types into a broader, more general type that can
21
- * accommodate all the input types. The resulting type is usually a supertype
22
- * that encompasses the possible values of the input types
23
- *
24
- * Examples:
25
- * widen('integer', 'rational') => 'rational'
26
- * widen('number', 'complex') => 'complex'
27
- * widen('number', 'collection') => 'collection'
28
- * widen('number', 'value') => 'value'
29
- * widen('number', 'expression') => 'expression'
30
- * widen('number', 'string') => 'any'
31
- */
32
- export declare function widen(...types: Readonly<Type>[]): Readonly<Type>;
33
5
  export declare function isSignatureType(type: Readonly<Type> | TypeString): type is FunctionSignature;
34
6
  export declare function functionSignature(type: Readonly<Type>): Type | undefined;
35
7
  export declare function functionResult(type: Readonly<Type> | undefined): Type | undefined;
@@ -1,4 +1,4 @@
1
- /* 0.51.0 */
1
+ /* 0.52.0 */
2
2
  *
3
3
  * <!--
4
4
  * !@consider?
@@ -1,4 +1,4 @@
1
- /* 0.51.0 */
1
+ /* 0.52.0 */
2
2
  /**
3
3
  * Add an assumption, in the form of a predicate, for example:
4
4
  *
@@ -1,4 +1,4 @@
1
- /* 0.51.0 */
1
+ /* 0.52.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';
@@ -6,9 +6,9 @@ import type { BoxedSubstitution, Metadata, Substitution, CanonicalOptions, Boxed
6
6
  import type { NumericValue } from '../numeric-value/types';
7
7
  import type { SmallInteger } from '../numerics/types';
8
8
  import type { LatexString, SerializeLatexOptions } from '../latex-syntax/types';
9
- import type { serializeJson as _SerializeJsonFn } from './serialize';
9
+ type SerializeJsonFn = (ce: ComputeEngine, expr: Expression, options: Readonly<JsonSerializationOptions>) => MathJsonExpression;
10
10
  /** @internal */
11
- export declare function _setSerializeJson(fn: typeof _SerializeJsonFn): void;
11
+ export declare function _setSerializeJson(fn: SerializeJsonFn): void;
12
12
  /**
13
13
  * _BoxedExpression
14
14
  *
@@ -82,7 +82,7 @@ export declare abstract class _BoxedExpression implements Expression {
82
82
  get denominator(): Expression;
83
83
  get numeratorDenominator(): [Expression, Expression];
84
84
  is(other: Expression | number | bigint | boolean | string): boolean;
85
- isSame(other: Expression): boolean;
85
+ isSame(other: Expression | number | bigint | boolean | string): boolean;
86
86
  isEqual(other: number | Expression): boolean | undefined;
87
87
  isLess(other: number | Expression): boolean | undefined;
88
88
  isLessEqual(other: number | Expression): boolean | undefined;
@@ -95,6 +95,7 @@ export declare abstract class _BoxedExpression implements Expression {
95
95
  get subexpressions(): ReadonlyArray<Expression>;
96
96
  get symbols(): ReadonlyArray<string>;
97
97
  get unknowns(): ReadonlyArray<string>;
98
+ get freeVariables(): ReadonlyArray<string>;
98
99
  get errors(): ReadonlyArray<Expression>;
99
100
  get isFunctionExpression(): boolean;
100
101
  get ops(): ReadonlyArray<Expression> | undefined;
@@ -156,3 +157,4 @@ export declare abstract class _BoxedExpression implements Expression {
156
157
  indexWhere(_predicate: (element: Expression) => boolean): number | undefined;
157
158
  }
158
159
  export declare function getSubexpressions(expr: Expression, name: MathJsonSymbol): ReadonlyArray<Expression>;
160
+ export {};
@@ -1,4 +1,4 @@
1
- /* 0.51.0 */
1
+ /* 0.52.0 */
2
2
  import { Decimal } from 'decimal.js';
3
3
  import type { Expression } from '../global-types';
4
4
  export declare function apply(expr: Expression, fn: (x: number) => number | Complex, bigFn?: (x: Decimal) => Decimal | Complex | number, complexFn?: (x: Complex) => number | Complex): Expression | undefined;
@@ -1,4 +1,4 @@
1
- /* 0.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.0 */
2
2
  import type { SimplifyOptions, ReplaceOptions, PatternMatchOptions, Expression, BoxedBaseDefinition, BoxedOperatorDefinition, BoxedRuleSet, BoxedSubstitution, CanonicalOptions, EvaluateOptions, IComputeEngine as ComputeEngine, Metadata, Rule, Sign, Substitution, Scope, BoxedValueDefinition, 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.51.0 */
1
+ /* 0.52.0 */
2
2
  import { Decimal } from 'decimal.js';
3
3
  import type { MathJsonExpression, MathJsonNumberObject } from '../../math-json';
4
4
  import type { Rational, SmallInteger } from '../numerics/types';
@@ -92,7 +92,8 @@ export declare class BoxedNumber extends _BoxedExpression implements NumberLiter
92
92
  get isInteger(): boolean;
93
93
  get isRational(): boolean;
94
94
  get isReal(): boolean;
95
- is(other: Expression | number | bigint | boolean): boolean;
95
+ is(other: Expression | number | bigint | boolean | string): boolean;
96
+ isSame(other: Expression | number | bigint | boolean | string): boolean;
96
97
  get canonical(): Expression;
97
98
  get isStructural(): boolean;
98
99
  get structural(): Expression;
@@ -1,4 +1,4 @@
1
- /* 0.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.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';
@@ -57,7 +57,8 @@ export declare class BoxedSymbol extends _BoxedExpression implements SymbolInter
57
57
  get isCanonical(): boolean;
58
58
  set isCanonical(val: boolean);
59
59
  get canonical(): Expression;
60
- is(other: unknown): boolean;
60
+ is(other: Expression | number | bigint | boolean | string): boolean;
61
+ isSame(other: Expression | number | bigint | boolean | string): boolean;
61
62
  toNumericValue(): [NumericValue, Expression];
62
63
  neg(): Expression;
63
64
  inv(): Expression;
@@ -1,4 +1,4 @@
1
- /* 0.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.0 */
2
2
  value: T | null;
3
3
  generation: number | undefined;
4
4
  };
@@ -1,4 +1,4 @@
1
- /* 0.51.0 */
1
+ /* 0.52.0 */
2
2
  /**
3
3
  * Ensure all expressions in the array are in canonical form
4
4
  */
@@ -1,2 +1,2 @@
1
- /* 0.51.0 */
1
+ /* 0.52.0 */
2
2
  export declare function canonicalForm(expr: Expression, forms: CanonicalOptions, scope?: Scope): Expression;
@@ -1,7 +1,7 @@
1
- /* 0.51.0 */
2
- import type { expand as _ExpandFn } from './expand';
1
+ /* 0.52.0 */
2
+ type ExpandFn = (expr: Expression | undefined) => Expression | null;
3
3
  /** @internal */
4
- export declare function _setExpand(fn: typeof _ExpandFn): void;
4
+ export declare function _setExpand(fn: ExpandFn): void;
5
5
  /**
6
6
  * Structural equality of boxed expressions.
7
7
  */
@@ -14,3 +14,4 @@ export declare function same(a: Expression, b: Expression): boolean;
14
14
  */
15
15
  export declare function eq(a: Expression, inputB: number | Expression): boolean | undefined;
16
16
  export declare function cmp(a: Expression, b: number | Expression): '<' | '=' | '>' | '>=' | '<=' | undefined;
17
+ export {};
@@ -1,4 +1,4 @@
1
- /* 0.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.0 */
2
2
  /**
3
3
  *
4
4
  * Optionally make all the arguments canonical (default).
@@ -1,4 +1,4 @@
1
- /* 0.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.0 */
2
2
  /**
3
3
  * Get inequality bounds for a symbol from the assumption database.
4
4
  *
@@ -1 +1 @@
1
- /* 0.51.0 */
1
+ /* 0.52.0 */
@@ -1,4 +1,4 @@
1
- /* 0.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.0 */
2
2
  import { Decimal } from 'decimal.js';
3
3
  import type { Rational } from '../numerics/types';
4
4
  import type { Expression, ExpressionInput } from '../global-types';
@@ -1,4 +1,4 @@
1
- /* 0.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.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.51.0 */
1
+ /* 0.52.0 */
2
2
  export declare function isPrime(expr: Expression): boolean | undefined;
@@ -1,4 +1,4 @@
1
- /* 0.51.0 */
1
+ /* 0.52.0 */
2
2
  export declare const ConditionParent: {
3
3
  boolean: string;
4
4
  string: string;
@@ -1,6 +1,12 @@
1
- /* 0.51.0 */
1
+ /* 0.52.0 */
2
2
  import type { IComputeEngine as ComputeEngine, Expression, JsonSerializationOptions } from '../global-types';
3
- import type { Product as _ProductClass } from './product';
3
+ interface ProductLike {
4
+ asRationalExpression(): Expression;
5
+ }
6
+ type ProductConstructor = new (ce: ComputeEngine, xs?: ReadonlyArray<Expression>, options?: {
7
+ canonical?: boolean;
8
+ }) => ProductLike;
4
9
  /** @internal */
5
- export declare function _setProduct(fn: typeof _ProductClass): void;
10
+ export declare function _setProduct(fn: ProductConstructor): void;
6
11
  export declare function serializeJson(ce: ComputeEngine, expr: Expression, options: Readonly<JsonSerializationOptions>): MathJsonExpression;
12
+ export {};