@cortex-js/compute-engine 0.55.5 → 0.55.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. package/dist/compile.esm.js +138 -633
  2. package/dist/compile.min.esm.js +71 -493
  3. package/dist/compile.min.umd.cjs +71 -493
  4. package/dist/compile.umd.cjs +138 -633
  5. package/dist/compute-engine.esm.js +227 -651
  6. package/dist/compute-engine.min.esm.js +68 -489
  7. package/dist/compute-engine.min.umd.cjs +68 -489
  8. package/dist/compute-engine.umd.cjs +227 -651
  9. package/dist/core.esm.js +226 -650
  10. package/dist/core.min.esm.js +66 -487
  11. package/dist/core.min.umd.cjs +67 -488
  12. package/dist/core.umd.cjs +226 -650
  13. package/dist/interval.esm.js +136 -60
  14. package/dist/interval.min.esm.js +7 -7
  15. package/dist/interval.min.umd.cjs +7 -7
  16. package/dist/interval.umd.cjs +136 -60
  17. package/dist/latex-syntax.esm.js +219 -74
  18. package/dist/latex-syntax.min.esm.js +7 -6
  19. package/dist/latex-syntax.min.umd.cjs +7 -6
  20. package/dist/latex-syntax.umd.cjs +219 -74
  21. package/dist/math-json.esm.js +2 -2
  22. package/dist/math-json.min.esm.js +2 -2
  23. package/dist/math-json.min.umd.cjs +2 -2
  24. package/dist/math-json.umd.cjs +2 -2
  25. package/dist/numerics.esm.js +2 -2
  26. package/dist/numerics.min.esm.js +2 -2
  27. package/dist/numerics.min.umd.cjs +2 -2
  28. package/dist/numerics.umd.cjs +2 -2
  29. package/dist/types/big-decimal/big-decimal.d.ts +1 -1
  30. package/dist/types/big-decimal/index.d.ts +1 -1
  31. package/dist/types/big-decimal/transcendentals.d.ts +1 -1
  32. package/dist/types/big-decimal/utils.d.ts +1 -1
  33. package/dist/types/common/ansi-codes.d.ts +1 -1
  34. package/dist/types/common/configuration-change.d.ts +1 -1
  35. package/dist/types/common/fuzzy-string-match.d.ts +1 -1
  36. package/dist/types/common/grapheme-splitter.d.ts +1 -1
  37. package/dist/types/common/interruptible.d.ts +1 -1
  38. package/dist/types/common/one-of.d.ts +1 -1
  39. package/dist/types/common/signals.d.ts +1 -1
  40. package/dist/types/common/type/ast-nodes.d.ts +1 -1
  41. package/dist/types/common/type/boxed-type.d.ts +1 -1
  42. package/dist/types/common/type/lexer.d.ts +1 -1
  43. package/dist/types/common/type/parse.d.ts +1 -1
  44. package/dist/types/common/type/parser.d.ts +1 -1
  45. package/dist/types/common/type/primitive.d.ts +1 -1
  46. package/dist/types/common/type/reduce.d.ts +1 -1
  47. package/dist/types/common/type/serialize.d.ts +1 -1
  48. package/dist/types/common/type/subtype.d.ts +1 -1
  49. package/dist/types/common/type/type-builder.d.ts +1 -1
  50. package/dist/types/common/type/types.d.ts +1 -1
  51. package/dist/types/common/type/utils.d.ts +1 -1
  52. package/dist/types/common/utils.d.ts +1 -1
  53. package/dist/types/compile.d.ts +1 -1
  54. package/dist/types/compute-engine/assume.d.ts +1 -1
  55. package/dist/types/compute-engine/boxed-expression/abstract-boxed-expression.d.ts +1 -1
  56. package/dist/types/compute-engine/boxed-expression/apply.d.ts +1 -1
  57. package/dist/types/compute-engine/boxed-expression/arithmetic-add.d.ts +1 -1
  58. package/dist/types/compute-engine/boxed-expression/arithmetic-mul-div.d.ts +1 -1
  59. package/dist/types/compute-engine/boxed-expression/arithmetic-power.d.ts +1 -1
  60. package/dist/types/compute-engine/boxed-expression/ascii-math.d.ts +1 -1
  61. package/dist/types/compute-engine/boxed-expression/box.d.ts +1 -1
  62. package/dist/types/compute-engine/boxed-expression/boxed-dictionary.d.ts +1 -1
  63. package/dist/types/compute-engine/boxed-expression/boxed-function.d.ts +1 -1
  64. package/dist/types/compute-engine/boxed-expression/boxed-number.d.ts +1 -1
  65. package/dist/types/compute-engine/boxed-expression/boxed-operator-definition.d.ts +1 -1
  66. package/dist/types/compute-engine/boxed-expression/boxed-patterns.d.ts +1 -1
  67. package/dist/types/compute-engine/boxed-expression/boxed-string.d.ts +1 -1
  68. package/dist/types/compute-engine/boxed-expression/boxed-symbol.d.ts +1 -1
  69. package/dist/types/compute-engine/boxed-expression/boxed-tensor.d.ts +1 -1
  70. package/dist/types/compute-engine/boxed-expression/boxed-value-definition.d.ts +1 -1
  71. package/dist/types/compute-engine/boxed-expression/cache.d.ts +1 -1
  72. package/dist/types/compute-engine/boxed-expression/canonical-utils.d.ts +1 -1
  73. package/dist/types/compute-engine/boxed-expression/canonical.d.ts +1 -1
  74. package/dist/types/compute-engine/boxed-expression/compare.d.ts +1 -1
  75. package/dist/types/compute-engine/boxed-expression/constants.d.ts +1 -1
  76. package/dist/types/compute-engine/boxed-expression/expand.d.ts +1 -1
  77. package/dist/types/compute-engine/boxed-expression/expression-map.d.ts +1 -1
  78. package/dist/types/compute-engine/boxed-expression/factor.d.ts +1 -1
  79. package/dist/types/compute-engine/boxed-expression/flatten.d.ts +1 -1
  80. package/dist/types/compute-engine/boxed-expression/hold.d.ts +1 -1
  81. package/dist/types/compute-engine/boxed-expression/inequality-bounds.d.ts +1 -1
  82. package/dist/types/compute-engine/boxed-expression/init-lazy-refs.d.ts +1 -1
  83. package/dist/types/compute-engine/boxed-expression/invisible-operator.d.ts +1 -1
  84. package/dist/types/compute-engine/boxed-expression/match.d.ts +1 -1
  85. package/dist/types/compute-engine/boxed-expression/negate.d.ts +1 -1
  86. package/dist/types/compute-engine/boxed-expression/numerics.d.ts +1 -1
  87. package/dist/types/compute-engine/boxed-expression/order.d.ts +1 -1
  88. package/dist/types/compute-engine/boxed-expression/pattern-utils.d.ts +1 -1
  89. package/dist/types/compute-engine/boxed-expression/polynomial-degree.d.ts +1 -1
  90. package/dist/types/compute-engine/boxed-expression/polynomials.d.ts +1 -1
  91. package/dist/types/compute-engine/boxed-expression/predicates.d.ts +1 -1
  92. package/dist/types/compute-engine/boxed-expression/rules.d.ts +1 -1
  93. package/dist/types/compute-engine/boxed-expression/serialize.d.ts +1 -1
  94. package/dist/types/compute-engine/boxed-expression/sgn.d.ts +1 -1
  95. package/dist/types/compute-engine/boxed-expression/simplify.d.ts +1 -1
  96. package/dist/types/compute-engine/boxed-expression/solve-linear-system.d.ts +1 -1
  97. package/dist/types/compute-engine/boxed-expression/solve.d.ts +1 -1
  98. package/dist/types/compute-engine/boxed-expression/stochastic-equal.d.ts +1 -1
  99. package/dist/types/compute-engine/boxed-expression/trigonometry.d.ts +1 -1
  100. package/dist/types/compute-engine/boxed-expression/type-guards.d.ts +1 -1
  101. package/dist/types/compute-engine/boxed-expression/utils.d.ts +1 -1
  102. package/dist/types/compute-engine/boxed-expression/validate.d.ts +1 -1
  103. package/dist/types/compute-engine/collection-utils.d.ts +1 -1
  104. package/dist/types/compute-engine/compilation/base-compiler.d.ts +1 -1
  105. package/dist/types/compute-engine/compilation/compile-expression.d.ts +2 -3
  106. package/dist/types/compute-engine/compilation/constant-folding.d.ts +1 -1
  107. package/dist/types/compute-engine/compilation/glsl-target.d.ts +1 -1
  108. package/dist/types/compute-engine/compilation/gpu-target.d.ts +1 -54
  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 -67
  113. package/dist/types/compute-engine/compilation/wgsl-target.d.ts +1 -1
  114. package/dist/types/compute-engine/cost-function.d.ts +1 -1
  115. package/dist/types/compute-engine/engine-assumptions.d.ts +1 -1
  116. package/dist/types/compute-engine/engine-cache.d.ts +1 -1
  117. package/dist/types/compute-engine/engine-common-symbols.d.ts +1 -1
  118. package/dist/types/compute-engine/engine-compilation-targets.d.ts +1 -1
  119. package/dist/types/compute-engine/engine-configuration-lifecycle.d.ts +1 -1
  120. package/dist/types/compute-engine/engine-declarations.d.ts +1 -1
  121. package/dist/types/compute-engine/engine-expression-entrypoints.d.ts +1 -1
  122. package/dist/types/compute-engine/engine-extension-contracts.d.ts +1 -1
  123. package/dist/types/compute-engine/engine-library-bootstrap.d.ts +1 -1
  124. package/dist/types/compute-engine/engine-numeric-configuration.d.ts +1 -1
  125. package/dist/types/compute-engine/engine-runtime-state.d.ts +1 -1
  126. package/dist/types/compute-engine/engine-scope.d.ts +1 -1
  127. package/dist/types/compute-engine/engine-sequences.d.ts +1 -1
  128. package/dist/types/compute-engine/engine-simplification-rules.d.ts +1 -1
  129. package/dist/types/compute-engine/engine-startup-coordinator.d.ts +1 -1
  130. package/dist/types/compute-engine/engine-type-resolver.d.ts +1 -1
  131. package/dist/types/compute-engine/engine-validation-entrypoints.d.ts +1 -1
  132. package/dist/types/compute-engine/free-functions.d.ts +1 -1
  133. package/dist/types/compute-engine/function-utils.d.ts +1 -1
  134. package/dist/types/compute-engine/global-types.d.ts +1 -1
  135. package/dist/types/compute-engine/index.d.ts +2 -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-complex.d.ts +1 -1
  148. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-core.d.ts +1 -1
  149. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-linear-algebra.d.ts +1 -1
  150. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-logic.d.ts +1 -1
  151. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-other.d.ts +1 -1
  152. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-relational-operators.d.ts +1 -1
  153. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-sets.d.ts +1 -1
  154. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-statistics.d.ts +1 -1
  155. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-symbols.d.ts +1 -1
  156. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-trigonometry.d.ts +1 -1
  157. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-units.d.ts +1 -1
  158. package/dist/types/compute-engine/latex-syntax/dictionary/definitions.d.ts +1 -1
  159. package/dist/types/compute-engine/latex-syntax/dictionary/indexed-types.d.ts +1 -1
  160. package/dist/types/compute-engine/latex-syntax/latex-syntax.d.ts +1 -1
  161. package/dist/types/compute-engine/latex-syntax/parse-number.d.ts +1 -1
  162. package/dist/types/compute-engine/latex-syntax/parse-symbol.d.ts +1 -1
  163. package/dist/types/compute-engine/latex-syntax/parse.d.ts +1 -1
  164. package/dist/types/compute-engine/latex-syntax/serialize-dms.d.ts +1 -1
  165. package/dist/types/compute-engine/latex-syntax/serialize-number.d.ts +1 -1
  166. package/dist/types/compute-engine/latex-syntax/serializer-style.d.ts +1 -1
  167. package/dist/types/compute-engine/latex-syntax/serializer.d.ts +4 -2
  168. package/dist/types/compute-engine/latex-syntax/tokenizer.d.ts +1 -1
  169. package/dist/types/compute-engine/latex-syntax/types.d.ts +1 -1
  170. package/dist/types/compute-engine/latex-syntax/utils.d.ts +1 -1
  171. package/dist/types/compute-engine/library/arithmetic.d.ts +1 -1
  172. package/dist/types/compute-engine/library/calculus.d.ts +1 -1
  173. package/dist/types/compute-engine/library/collections.d.ts +1 -1
  174. package/dist/types/compute-engine/library/colors.d.ts +1 -1
  175. package/dist/types/compute-engine/library/combinatorics.d.ts +1 -1
  176. package/dist/types/compute-engine/library/complex.d.ts +1 -1
  177. package/dist/types/compute-engine/library/control-structures.d.ts +1 -1
  178. package/dist/types/compute-engine/library/core.d.ts +1 -1
  179. package/dist/types/compute-engine/library/fractals.d.ts +1 -1
  180. package/dist/types/compute-engine/library/library.d.ts +1 -1
  181. package/dist/types/compute-engine/library/linear-algebra.d.ts +1 -1
  182. package/dist/types/compute-engine/library/logic-analysis.d.ts +1 -1
  183. package/dist/types/compute-engine/library/logic.d.ts +1 -1
  184. package/dist/types/compute-engine/library/number-theory.d.ts +1 -1
  185. package/dist/types/compute-engine/library/polynomials.d.ts +1 -1
  186. package/dist/types/compute-engine/library/quantity-arithmetic.d.ts +1 -1
  187. package/dist/types/compute-engine/library/random-expression.d.ts +1 -1
  188. package/dist/types/compute-engine/library/relational-operator.d.ts +1 -1
  189. package/dist/types/compute-engine/library/sets.d.ts +1 -1
  190. package/dist/types/compute-engine/library/statistics.d.ts +1 -1
  191. package/dist/types/compute-engine/library/trigonometry.d.ts +1 -1
  192. package/dist/types/compute-engine/library/type-handlers.d.ts +1 -1
  193. package/dist/types/compute-engine/library/unit-data.d.ts +1 -1
  194. package/dist/types/compute-engine/library/units.d.ts +1 -1
  195. package/dist/types/compute-engine/library/utils.d.ts +1 -1
  196. package/dist/types/compute-engine/numeric-value/big-numeric-value.d.ts +1 -1
  197. package/dist/types/compute-engine/numeric-value/exact-numeric-value.d.ts +1 -1
  198. package/dist/types/compute-engine/numeric-value/machine-numeric-value.d.ts +1 -1
  199. package/dist/types/compute-engine/numeric-value/types.d.ts +1 -1
  200. package/dist/types/compute-engine/numerics/bigint.d.ts +1 -1
  201. package/dist/types/compute-engine/numerics/expression.d.ts +1 -1
  202. package/dist/types/compute-engine/numerics/interval.d.ts +1 -1
  203. package/dist/types/compute-engine/numerics/linear-algebra.d.ts +1 -1
  204. package/dist/types/compute-engine/numerics/monte-carlo.d.ts +1 -1
  205. package/dist/types/compute-engine/numerics/numeric-bigint.d.ts +1 -1
  206. package/dist/types/compute-engine/numerics/numeric-bignum.d.ts +1 -1
  207. package/dist/types/compute-engine/numerics/numeric-complex.d.ts +1 -1
  208. package/dist/types/compute-engine/numerics/numeric.d.ts +1 -1
  209. package/dist/types/compute-engine/numerics/primes.d.ts +1 -1
  210. package/dist/types/compute-engine/numerics/rationals.d.ts +1 -1
  211. package/dist/types/compute-engine/numerics/richardson.d.ts +1 -1
  212. package/dist/types/compute-engine/numerics/special-functions.d.ts +1 -1
  213. package/dist/types/compute-engine/numerics/statistics.d.ts +1 -1
  214. package/dist/types/compute-engine/numerics/strings.d.ts +1 -1
  215. package/dist/types/compute-engine/numerics/types.d.ts +1 -1
  216. package/dist/types/compute-engine/numerics/unit-data.d.ts +1 -1
  217. package/dist/types/compute-engine/oeis.d.ts +1 -1
  218. package/dist/types/compute-engine/sequence.d.ts +1 -1
  219. package/dist/types/compute-engine/symbolic/antiderivative.d.ts +1 -1
  220. package/dist/types/compute-engine/symbolic/derivative.d.ts +1 -1
  221. package/dist/types/compute-engine/symbolic/distribute.d.ts +1 -1
  222. package/dist/types/compute-engine/symbolic/fu-cost.d.ts +1 -1
  223. package/dist/types/compute-engine/symbolic/fu-transforms.d.ts +1 -1
  224. package/dist/types/compute-engine/symbolic/fu.d.ts +1 -1
  225. package/dist/types/compute-engine/symbolic/logic-utils.d.ts +1 -1
  226. package/dist/types/compute-engine/symbolic/simplify-abs.d.ts +1 -1
  227. package/dist/types/compute-engine/symbolic/simplify-divide.d.ts +1 -1
  228. package/dist/types/compute-engine/symbolic/simplify-factorial.d.ts +1 -1
  229. package/dist/types/compute-engine/symbolic/simplify-hyperbolic.d.ts +1 -1
  230. package/dist/types/compute-engine/symbolic/simplify-infinity.d.ts +1 -1
  231. package/dist/types/compute-engine/symbolic/simplify-log.d.ts +1 -1
  232. package/dist/types/compute-engine/symbolic/simplify-logic.d.ts +1 -1
  233. package/dist/types/compute-engine/symbolic/simplify-power.d.ts +1 -1
  234. package/dist/types/compute-engine/symbolic/simplify-product.d.ts +1 -1
  235. package/dist/types/compute-engine/symbolic/simplify-rules.d.ts +1 -1
  236. package/dist/types/compute-engine/symbolic/simplify-sum.d.ts +1 -1
  237. package/dist/types/compute-engine/symbolic/simplify-trig.d.ts +1 -1
  238. package/dist/types/compute-engine/tensor/tensor-fields.d.ts +1 -1
  239. package/dist/types/compute-engine/tensor/tensors.d.ts +1 -1
  240. package/dist/types/compute-engine/types-definitions.d.ts +1 -1
  241. package/dist/types/compute-engine/types-engine.d.ts +1 -1
  242. package/dist/types/compute-engine/types-evaluation.d.ts +1 -1
  243. package/dist/types/compute-engine/types-expression.d.ts +1 -1
  244. package/dist/types/compute-engine/types-kernel-evaluation.d.ts +1 -1
  245. package/dist/types/compute-engine/types-kernel-serialization.d.ts +1 -1
  246. package/dist/types/compute-engine/types-serialization.d.ts +1 -1
  247. package/dist/types/compute-engine/types.d.ts +1 -1
  248. package/dist/types/compute-engine.d.ts +2 -2
  249. package/dist/types/core.d.ts +1 -1
  250. package/dist/types/interval.d.ts +1 -1
  251. package/dist/types/latex-syntax.d.ts +2 -2
  252. package/dist/types/math-json/symbols.d.ts +1 -1
  253. package/dist/types/math-json/types.d.ts +1 -1
  254. package/dist/types/math-json/utils.d.ts +1 -1
  255. package/dist/types/math-json.d.ts +2 -2
  256. package/dist/types/numerics.d.ts +1 -1
  257. package/package.json +1 -1
  258. package/dist/types/compute-engine/compilation/fractal-orbit.d.ts +0 -19
@@ -1,4 +1,4 @@
1
- /** Interval 0.55.5 */
1
+ /** Interval 0.55.6 */
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.Interval = {}));})(this, (function (exports) { 'use strict';
3
3
  var Interval = (() => {
4
4
  var __defProp = Object.defineProperty;
@@ -7103,10 +7103,6 @@ var Interval = (() => {
7103
7103
  // Lagrange notation
7104
7104
  {
7105
7105
  name: "Derivative",
7106
- // @todo: Leibniz notation: {% latex " \\frac{d^n}{dx^n} f(x)" %}
7107
- // @todo: Euler modified notation: This notation is used by Mathematica. The Euler notation uses `D` instead of
7108
- // `\partial`: `\partial_{x} f`, `\partial_{x,y} f`
7109
- // Newton notation (\dot{v}, \ddot{v}) is implemented below
7110
7106
  serialize: (serializer, expr) => {
7111
7107
  const degree = machineValue(operand(expr, 2)) ?? 1;
7112
7108
  const base = serializer.serialize(operand(expr, 1));
@@ -8144,14 +8140,18 @@ var Interval = (() => {
8144
8140
  return ["Complement", lhs];
8145
8141
  }
8146
8142
  // precedence: 240,
8147
- // @todo: serialize for the multiple argument case
8148
8143
  },
8149
8144
  {
8150
8145
  name: "Complement",
8151
8146
  latexTrigger: ["^", "<{>", "\\complement", "<}>"],
8152
- kind: "postfix"
8147
+ kind: "postfix",
8153
8148
  // precedence: 240,
8154
- // @todo: serialize for the multiple argument case
8149
+ serialize: (serializer, expr) => {
8150
+ return joinLatex([
8151
+ serializer.serialize(operand(expr, 1)),
8152
+ "^\\complement"
8153
+ ]);
8154
+ }
8155
8155
  },
8156
8156
  {
8157
8157
  name: "Intersection",
@@ -8238,7 +8238,6 @@ var Interval = (() => {
8238
8238
  // commands like \rbrack a, b \rbrack which are unambiguous.
8239
8239
  {
8240
8240
  name: "Multiple",
8241
- // @todo: parse
8242
8241
  serialize: serializeSet
8243
8242
  },
8244
8243
  {
@@ -8247,14 +8246,28 @@ var Interval = (() => {
8247
8246
  kind: "infix",
8248
8247
  precedence: 350
8249
8248
  },
8249
+ // \mid as a separator/operator (used in set-builder notation: {x \mid x > 0})
8250
+ // Low precedence so it binds loosely — everything on each side is parsed first
8251
+ {
8252
+ name: "Divides",
8253
+ latexTrigger: ["\\mid"],
8254
+ kind: "infix",
8255
+ precedence: 160
8256
+ },
8250
8257
  {
8251
8258
  name: "Set",
8252
8259
  kind: "matchfix",
8253
8260
  openTrigger: "{",
8254
8261
  closeTrigger: "}",
8255
- // @todo: the set syntax can also include conditions...
8256
8262
  parse: (_parser, body) => {
8257
8263
  if (isEmptySequence(body)) return "EmptySet";
8264
+ const h = operator(body);
8265
+ if (h === "Divides" || h === "Colon") {
8266
+ const expr = operand(body, 1);
8267
+ const condition = operand(body, 2);
8268
+ if (expr !== null && condition !== null)
8269
+ return ["Set", expr, ["Condition", condition]];
8270
+ }
8258
8271
  if (operator(body) == "Delimiter" && stringValue(operand(body, 2)) === ",") {
8259
8272
  body = operand(body, 1);
8260
8273
  }
@@ -8262,6 +8275,17 @@ var Interval = (() => {
8262
8275
  return ["Set", ...operands(body)];
8263
8276
  },
8264
8277
  serialize: (serializer, expr) => {
8278
+ if (nops(expr) === 2 && operator(operand(expr, 2)) === "Condition") {
8279
+ const condition = operand(expr, 2);
8280
+ return joinLatex([
8281
+ "\\lbrace",
8282
+ serializer.serialize(operand(expr, 1)),
8283
+ "\\mid",
8284
+ // Serialize the inner expression of the Condition wrapper
8285
+ serializer.serialize(operand(condition, 1)),
8286
+ "\\rbrace"
8287
+ ]);
8288
+ }
8265
8289
  return joinLatex([
8266
8290
  "\\lbrace",
8267
8291
  operands(expr).map((x) => serializer.serialize(x)).join(", "),
@@ -8428,23 +8452,6 @@ var Interval = (() => {
8428
8452
  if (expr === null) return "";
8429
8453
  const h = operator(expr);
8430
8454
  if (!h) return "";
8431
- if (h === "Set") {
8432
- if (nops(expr) === 0) return "\\emptyset";
8433
- if (nops(expr) === 2 && operator(operand(expr, 2)) === "Condition") {
8434
- return joinLatex([
8435
- "\\left\\lbrace",
8436
- serializer.serialize(operand(expr, 1)),
8437
- "\\middle\\mid",
8438
- serializer.serialize(operand(expr, 2)),
8439
- "\\right\\rbrace"
8440
- ]);
8441
- }
8442
- return joinLatex([
8443
- "\\left\\lbrace",
8444
- ...operands(expr).map((x) => serializer.serialize(x) + " ,"),
8445
- "\\right\\rbrace"
8446
- ]);
8447
- }
8448
8455
  if (h === "Multiple") {
8449
8456
  }
8450
8457
  if (h === "Range") {
@@ -9562,11 +9569,13 @@ var Interval = (() => {
9562
9569
  if (!parser.match("_")) return null;
9563
9570
  const base = parser.parseGroup();
9564
9571
  if (operator(base) !== "To") return null;
9565
- const expr = parser.parseArguments("implicit");
9572
+ const expr = parser.parseExpression({
9573
+ minPrec: MULTIPLICATION_PRECEDENCE
9574
+ });
9566
9575
  if (!expr) return null;
9567
9576
  return [
9568
9577
  "Limit",
9569
- ["Function", expr[0], operand(base, 1)],
9578
+ ["Function", expr, operand(base, 1)],
9570
9579
  operand(base, 2)
9571
9580
  ];
9572
9581
  },
@@ -11770,12 +11779,52 @@ var Interval = (() => {
11770
11779
  ];
11771
11780
 
11772
11781
  // src/compute-engine/latex-syntax/dictionary/definitions-other.ts
11782
+ var TEX_UNITS = [
11783
+ "pt",
11784
+ "em",
11785
+ "mu",
11786
+ "ex",
11787
+ "mm",
11788
+ "cm",
11789
+ "in",
11790
+ "bp",
11791
+ "sp",
11792
+ "dd",
11793
+ "cc",
11794
+ "pc",
11795
+ "nc",
11796
+ "nd"
11797
+ ];
11798
+ function skipTexDimension(parser) {
11799
+ parser.skipSpace();
11800
+ if (parser.peek === "-" || parser.peek === "+") parser.nextToken();
11801
+ while (/^[\d.]$/.test(parser.peek)) parser.nextToken();
11802
+ for (const unit of TEX_UNITS) {
11803
+ if (parser.matchAll([...unit])) return;
11804
+ }
11805
+ }
11773
11806
  function parseSingleArg(cmd) {
11774
11807
  return (parser) => {
11775
11808
  const arg = parser.parseGroup();
11776
11809
  return arg === null ? [cmd] : [cmd, arg];
11777
11810
  };
11778
11811
  }
11812
+ function parseMathStyleSwitch(mathStyle) {
11813
+ return (parser) => {
11814
+ const body = parser.parseExpression();
11815
+ if (body !== null && !isEmptySequence(body))
11816
+ return ["Annotated", body, { dict: { mathStyle } }];
11817
+ return "Nothing";
11818
+ };
11819
+ }
11820
+ function parseSizeSwitch(size) {
11821
+ return (parser) => {
11822
+ const body = parser.parseExpression();
11823
+ if (body !== null && !isEmptySequence(body))
11824
+ return ["Annotated", body, { dict: { size } }];
11825
+ return "Nothing";
11826
+ };
11827
+ }
11779
11828
  var DEFINITIONS_OTHERS = [
11780
11829
  {
11781
11830
  name: "Overscript",
@@ -12015,80 +12064,71 @@ var Interval = (() => {
12015
12064
  },
12016
12065
  {
12017
12066
  latexTrigger: ["\\displaystyle"],
12018
- parse: () => "Nothing"
12019
- // @todo: parse as ['Annotated'...]
12067
+ parse: parseMathStyleSwitch("normal")
12020
12068
  },
12021
12069
  {
12022
12070
  latexTrigger: ["\\textstyle"],
12023
- parse: () => "Nothing"
12024
- // @todo: parse as ['Annotated'...]
12071
+ parse: parseMathStyleSwitch("compact")
12025
12072
  },
12026
12073
  {
12027
12074
  latexTrigger: ["\\scriptstyle"],
12028
- parse: () => "Nothing"
12029
- // @todo: parse as ['Annotated'...]
12075
+ parse: parseMathStyleSwitch("script")
12030
12076
  },
12031
12077
  {
12032
12078
  latexTrigger: ["\\scriptscriptstyle"],
12033
- parse: () => "Nothing"
12034
- // @todo: parse as ['Annotated'...]
12079
+ parse: parseMathStyleSwitch("scriptscript")
12035
12080
  },
12036
12081
  {
12037
12082
  latexTrigger: ["\\color"],
12038
12083
  parse: (parser) => {
12039
- parser.parseGroup();
12084
+ const color = parser.parseStringGroup();
12085
+ if (color !== null) {
12086
+ const body = parser.parseExpression();
12087
+ if (body !== null && !isEmptySequence(body))
12088
+ return ["Annotated", body, { dict: { color } }];
12089
+ }
12040
12090
  return "Nothing";
12041
12091
  }
12042
12092
  },
12043
12093
  {
12044
12094
  latexTrigger: ["\\tiny"],
12045
- parse: () => "Nothing"
12046
- // @todo: parse as ['Annotated'...]
12095
+ parse: parseSizeSwitch(1)
12047
12096
  },
12048
12097
  {
12049
12098
  latexTrigger: ["\\scriptsize"],
12050
- parse: () => "Nothing"
12051
- // @todo: parse as ['Annotated'...]
12099
+ parse: parseSizeSwitch(2)
12052
12100
  },
12053
12101
  {
12054
12102
  latexTrigger: ["\\footnotesize"],
12055
- parse: () => "Nothing"
12056
- // @todo: parse as ['Annotated'...]
12103
+ parse: parseSizeSwitch(3)
12057
12104
  },
12058
12105
  {
12059
12106
  latexTrigger: ["\\small"],
12060
- parse: () => "Nothing"
12061
- // @todo: parse as ['Annotated'...]
12107
+ parse: parseSizeSwitch(4)
12062
12108
  },
12063
12109
  {
12064
12110
  latexTrigger: ["\\normalsize"],
12065
- parse: () => "Nothing"
12066
- // @todo: parse as ['Annotated'...]
12111
+ parse: parseSizeSwitch(5)
12067
12112
  },
12068
12113
  {
12069
12114
  latexTrigger: ["\\large"],
12070
- parse: () => "Nothing"
12071
- // @todo: parse as ['Annotated'...]
12115
+ parse: parseSizeSwitch(6)
12072
12116
  },
12073
12117
  {
12074
12118
  latexTrigger: ["\\Large"],
12075
- parse: () => "Nothing"
12076
- // @todo: parse as ['Annotated'...]
12119
+ parse: parseSizeSwitch(7)
12077
12120
  },
12078
12121
  {
12079
12122
  latexTrigger: ["\\LARGE"],
12080
- parse: () => "Nothing"
12081
- // @todo: parse as ['Annotated'...]
12123
+ parse: parseSizeSwitch(8)
12082
12124
  },
12083
12125
  {
12084
12126
  latexTrigger: ["\\huge"],
12085
- parse: () => "Nothing"
12086
- // @todo: parse as ['Annotated'...]
12127
+ parse: parseSizeSwitch(9)
12087
12128
  },
12088
12129
  {
12089
12130
  latexTrigger: ["\\Huge"],
12090
- parse: () => "Nothing"
12091
- // @todo: parse as ['Annotated'...]
12131
+ parse: parseSizeSwitch(10)
12092
12132
  },
12093
12133
  {
12094
12134
  name: "Annotated",
@@ -12100,6 +12140,10 @@ var Interval = (() => {
12100
12140
  result = joinLatex(["{\\displaystyle", result, "}"]);
12101
12141
  else if (dict.dict.mathStyle === "compact")
12102
12142
  result = joinLatex(["{\\textstyle", result, "}"]);
12143
+ else if (dict.dict.mathStyle === "script")
12144
+ result = joinLatex(["{\\scriptstyle", result, "}"]);
12145
+ else if (dict.dict.mathStyle === "scriptscript")
12146
+ result = joinLatex(["{\\scriptscriptstyle", result, "}"]);
12103
12147
  const v = dict.dict.size;
12104
12148
  if (v !== null && v >= 1 && v <= 10) {
12105
12149
  result = joinLatex([
@@ -12187,6 +12231,28 @@ var Interval = (() => {
12187
12231
  latexTrigger: ["\\enspace"],
12188
12232
  parse: () => ["HorizontalSpacing", 9]
12189
12233
  },
12234
+ {
12235
+ latexTrigger: ["\\hspace"],
12236
+ parse: (parser) => {
12237
+ if (parser.peek === "*") parser.nextToken();
12238
+ parser.parseStringGroup();
12239
+ return ["HorizontalSpacing", 0];
12240
+ }
12241
+ },
12242
+ {
12243
+ latexTrigger: ["\\hskip"],
12244
+ parse: (parser) => {
12245
+ skipTexDimension(parser);
12246
+ return ["HorizontalSpacing", 0];
12247
+ }
12248
+ },
12249
+ {
12250
+ latexTrigger: ["\\kern"],
12251
+ parse: (parser) => {
12252
+ skipTexDimension(parser);
12253
+ return ["HorizontalSpacing", 0];
12254
+ }
12255
+ },
12190
12256
  {
12191
12257
  latexTrigger: ["\\phantom"],
12192
12258
  parse: (parser) => {
@@ -12237,7 +12303,17 @@ var Interval = (() => {
12237
12303
  // `["HorizontalSpacing", expr, 'op'|'bin'|rel]` -> indicate a spacing around and expression, i.e. `\mathbin{x}`, etc...
12238
12304
  serialize: (serializer, expr) => {
12239
12305
  if (operand(expr, 2) !== null) {
12240
- return serializer.serialize(operand(expr, 1));
12306
+ const cls = stringValue(operand(expr, 2));
12307
+ const inner = serializer.serialize(operand(expr, 1));
12308
+ if (cls === "bin") return `\\mathbin{${inner}}`;
12309
+ if (cls === "op") return `\\mathop{${inner}}`;
12310
+ if (cls === "rel") return `\\mathrel{${inner}}`;
12311
+ if (cls === "ord") return `\\mathord{${inner}}`;
12312
+ if (cls === "open") return `\\mathopen{${inner}}`;
12313
+ if (cls === "close") return `\\mathclose{${inner}}`;
12314
+ if (cls === "punct") return `\\mathpunct{${inner}}`;
12315
+ if (cls === "inner") return `\\mathinner{${inner}}`;
12316
+ return inner;
12241
12317
  }
12242
12318
  const v = machineValue(operand(expr, 1));
12243
12319
  if (v === null) return "";
@@ -13448,7 +13524,7 @@ var Interval = (() => {
13448
13524
  };
13449
13525
 
13450
13526
  // src/interval.ts
13451
- var version = "0.55.5";
13527
+ var version = "0.55.6";
13452
13528
  return __toCommonJS(interval_exports);
13453
13529
  })();
13454
13530
  /*! Bundled license information: