@cortex-js/compute-engine 0.50.2 → 0.51.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 (235) hide show
  1. package/dist/compute-engine.esm.js +6638 -202
  2. package/dist/compute-engine.min.esm.js +482 -65
  3. package/dist/compute-engine.min.umd.js +482 -65
  4. package/dist/compute-engine.umd.js +6638 -202
  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/color/categorical.d.ts +9 -0
  10. package/dist/types/color/contrast.d.ts +16 -0
  11. package/dist/types/color/conversion.d.ts +13 -0
  12. package/dist/types/color/diverging-palettes.d.ts +15 -0
  13. package/dist/types/color/index.d.ts +4 -0
  14. package/dist/types/color/manipulation.d.ts +95 -0
  15. package/dist/types/color/palette.d.ts +38 -0
  16. package/dist/types/color/sequential.d.ts +21 -0
  17. package/dist/types/color/types.d.ts +19 -0
  18. package/dist/types/common/ansi-codes.d.ts +1 -1
  19. package/dist/types/common/configuration-change.d.ts +1 -1
  20. package/dist/types/common/fuzzy-string-match.d.ts +1 -1
  21. package/dist/types/common/grapheme-splitter.d.ts +1 -1
  22. package/dist/types/common/interruptible.d.ts +1 -1
  23. package/dist/types/common/one-of.d.ts +1 -1
  24. package/dist/types/common/signals.d.ts +1 -1
  25. package/dist/types/common/type/ast-nodes.d.ts +1 -1
  26. package/dist/types/common/type/boxed-type.d.ts +1 -1
  27. package/dist/types/common/type/lexer.d.ts +1 -1
  28. package/dist/types/common/type/parse.d.ts +1 -1
  29. package/dist/types/common/type/parser.d.ts +1 -1
  30. package/dist/types/common/type/primitive.d.ts +1 -1
  31. package/dist/types/common/type/reduce.d.ts +1 -1
  32. package/dist/types/common/type/serialize.d.ts +1 -1
  33. package/dist/types/common/type/subtype.d.ts +1 -1
  34. package/dist/types/common/type/type-builder.d.ts +1 -1
  35. package/dist/types/common/type/types.d.ts +1 -1
  36. package/dist/types/common/type/utils.d.ts +1 -1
  37. package/dist/types/common/utils.d.ts +1 -1
  38. package/dist/types/compute-engine/assume.d.ts +1 -1
  39. package/dist/types/compute-engine/boxed-expression/abstract-boxed-expression.d.ts +1 -1
  40. package/dist/types/compute-engine/boxed-expression/apply.d.ts +1 -1
  41. package/dist/types/compute-engine/boxed-expression/arithmetic-add.d.ts +1 -1
  42. package/dist/types/compute-engine/boxed-expression/arithmetic-mul-div.d.ts +1 -1
  43. package/dist/types/compute-engine/boxed-expression/arithmetic-power.d.ts +1 -1
  44. package/dist/types/compute-engine/boxed-expression/ascii-math.d.ts +1 -1
  45. package/dist/types/compute-engine/boxed-expression/box.d.ts +1 -1
  46. package/dist/types/compute-engine/boxed-expression/boxed-dictionary.d.ts +1 -1
  47. package/dist/types/compute-engine/boxed-expression/boxed-function.d.ts +1 -1
  48. package/dist/types/compute-engine/boxed-expression/boxed-number.d.ts +1 -1
  49. package/dist/types/compute-engine/boxed-expression/boxed-operator-definition.d.ts +1 -1
  50. package/dist/types/compute-engine/boxed-expression/boxed-patterns.d.ts +1 -1
  51. package/dist/types/compute-engine/boxed-expression/boxed-string.d.ts +1 -1
  52. package/dist/types/compute-engine/boxed-expression/boxed-symbol.d.ts +1 -1
  53. package/dist/types/compute-engine/boxed-expression/boxed-tensor.d.ts +1 -1
  54. package/dist/types/compute-engine/boxed-expression/boxed-value-definition.d.ts +1 -1
  55. package/dist/types/compute-engine/boxed-expression/cache.d.ts +1 -1
  56. package/dist/types/compute-engine/boxed-expression/canonical-utils.d.ts +1 -1
  57. package/dist/types/compute-engine/boxed-expression/canonical.d.ts +1 -1
  58. package/dist/types/compute-engine/boxed-expression/compare.d.ts +1 -1
  59. package/dist/types/compute-engine/boxed-expression/constants.d.ts +1 -1
  60. package/dist/types/compute-engine/boxed-expression/expand.d.ts +1 -1
  61. package/dist/types/compute-engine/boxed-expression/expression-map.d.ts +1 -1
  62. package/dist/types/compute-engine/boxed-expression/factor.d.ts +1 -1
  63. package/dist/types/compute-engine/boxed-expression/flatten.d.ts +1 -1
  64. package/dist/types/compute-engine/boxed-expression/hold.d.ts +1 -1
  65. package/dist/types/compute-engine/boxed-expression/inequality-bounds.d.ts +1 -1
  66. package/dist/types/compute-engine/boxed-expression/init-lazy-refs.d.ts +1 -1
  67. package/dist/types/compute-engine/boxed-expression/invisible-operator.d.ts +1 -1
  68. package/dist/types/compute-engine/boxed-expression/match.d.ts +1 -1
  69. package/dist/types/compute-engine/boxed-expression/negate.d.ts +1 -1
  70. package/dist/types/compute-engine/boxed-expression/numerics.d.ts +1 -1
  71. package/dist/types/compute-engine/boxed-expression/order.d.ts +1 -1
  72. package/dist/types/compute-engine/boxed-expression/pattern-utils.d.ts +1 -1
  73. package/dist/types/compute-engine/boxed-expression/polynomial-degree.d.ts +1 -1
  74. package/dist/types/compute-engine/boxed-expression/polynomials.d.ts +1 -1
  75. package/dist/types/compute-engine/boxed-expression/predicates.d.ts +1 -1
  76. package/dist/types/compute-engine/boxed-expression/product.d.ts +1 -1
  77. package/dist/types/compute-engine/boxed-expression/rules.d.ts +1 -1
  78. package/dist/types/compute-engine/boxed-expression/serialize.d.ts +1 -1
  79. package/dist/types/compute-engine/boxed-expression/sgn.d.ts +1 -1
  80. package/dist/types/compute-engine/boxed-expression/simplify.d.ts +1 -1
  81. package/dist/types/compute-engine/boxed-expression/solve-linear-system.d.ts +1 -1
  82. package/dist/types/compute-engine/boxed-expression/solve.d.ts +1 -1
  83. package/dist/types/compute-engine/boxed-expression/trigonometry.d.ts +1 -1
  84. package/dist/types/compute-engine/boxed-expression/type-guards.d.ts +1 -1
  85. package/dist/types/compute-engine/boxed-expression/utils.d.ts +1 -1
  86. package/dist/types/compute-engine/boxed-expression/validate.d.ts +1 -1
  87. package/dist/types/compute-engine/collection-utils.d.ts +1 -1
  88. package/dist/types/compute-engine/compilation/base-compiler.d.ts +12 -1
  89. package/dist/types/compute-engine/compilation/compile-expression.d.ts +1 -1
  90. package/dist/types/compute-engine/compilation/glsl-target.d.ts +1 -1
  91. package/dist/types/compute-engine/compilation/gpu-target.d.ts +40 -1
  92. package/dist/types/compute-engine/compilation/interval-glsl-target.d.ts +1 -1
  93. package/dist/types/compute-engine/compilation/interval-javascript-target.d.ts +1 -1
  94. package/dist/types/compute-engine/compilation/interval-wgsl-target.d.ts +1 -1
  95. package/dist/types/compute-engine/compilation/javascript-target.d.ts +283 -3
  96. package/dist/types/compute-engine/compilation/python-target.d.ts +1 -1
  97. package/dist/types/compute-engine/compilation/types.d.ts +11 -2
  98. package/dist/types/compute-engine/compilation/wgsl-target.d.ts +1 -1
  99. package/dist/types/compute-engine/cost-function.d.ts +1 -1
  100. package/dist/types/compute-engine/engine-assumptions.d.ts +1 -1
  101. package/dist/types/compute-engine/engine-cache.d.ts +1 -1
  102. package/dist/types/compute-engine/engine-common-symbols.d.ts +1 -1
  103. package/dist/types/compute-engine/engine-compilation-targets.d.ts +1 -1
  104. package/dist/types/compute-engine/engine-configuration-lifecycle.d.ts +1 -1
  105. package/dist/types/compute-engine/engine-declarations.d.ts +1 -1
  106. package/dist/types/compute-engine/engine-expression-entrypoints.d.ts +1 -1
  107. package/dist/types/compute-engine/engine-extension-contracts.d.ts +1 -1
  108. package/dist/types/compute-engine/engine-latex-dictionary-state.d.ts +1 -1
  109. package/dist/types/compute-engine/engine-library-bootstrap.d.ts +1 -1
  110. package/dist/types/compute-engine/engine-numeric-configuration.d.ts +1 -1
  111. package/dist/types/compute-engine/engine-parse-entrypoint.d.ts +1 -1
  112. package/dist/types/compute-engine/engine-runtime-state.d.ts +1 -1
  113. package/dist/types/compute-engine/engine-scope.d.ts +1 -1
  114. package/dist/types/compute-engine/engine-sequences.d.ts +1 -1
  115. package/dist/types/compute-engine/engine-simplification-rules.d.ts +1 -1
  116. package/dist/types/compute-engine/engine-startup-coordinator.d.ts +1 -1
  117. package/dist/types/compute-engine/engine-type-resolver.d.ts +1 -1
  118. package/dist/types/compute-engine/engine-validation-entrypoints.d.ts +1 -1
  119. package/dist/types/compute-engine/free-functions.d.ts +14 -9
  120. package/dist/types/compute-engine/function-utils.d.ts +1 -1
  121. package/dist/types/compute-engine/global-types.d.ts +1 -1
  122. package/dist/types/compute-engine/index.d.ts +2 -2
  123. package/dist/types/compute-engine/interval/arithmetic.d.ts +1 -1
  124. package/dist/types/compute-engine/interval/comparison.d.ts +1 -1
  125. package/dist/types/compute-engine/interval/elementary.d.ts +9 -1
  126. package/dist/types/compute-engine/interval/index.d.ts +1 -1
  127. package/dist/types/compute-engine/interval/trigonometric.d.ts +1 -1
  128. package/dist/types/compute-engine/interval/types.d.ts +1 -1
  129. package/dist/types/compute-engine/interval/util.d.ts +1 -1
  130. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-algebra.d.ts +1 -1
  131. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-arithmetic.d.ts +1 -1
  132. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-calculus.d.ts +1 -1
  133. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-complex.d.ts +1 -1
  134. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-core.d.ts +1 -1
  135. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-linear-algebra.d.ts +1 -1
  136. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-logic.d.ts +1 -1
  137. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-other.d.ts +1 -1
  138. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-relational-operators.d.ts +1 -1
  139. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-sets.d.ts +1 -1
  140. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-statistics.d.ts +1 -1
  141. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-symbols.d.ts +1 -1
  142. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-trigonometry.d.ts +1 -1
  143. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-units.d.ts +23 -0
  144. package/dist/types/compute-engine/latex-syntax/dictionary/definitions.d.ts +1 -1
  145. package/dist/types/compute-engine/latex-syntax/dictionary/indexed-types.d.ts +1 -1
  146. package/dist/types/compute-engine/latex-syntax/parse-number.d.ts +1 -1
  147. package/dist/types/compute-engine/latex-syntax/parse-symbol.d.ts +1 -1
  148. package/dist/types/compute-engine/latex-syntax/parse.d.ts +1 -1
  149. package/dist/types/compute-engine/latex-syntax/serialize-number.d.ts +1 -1
  150. package/dist/types/compute-engine/latex-syntax/serializer-style.d.ts +1 -1
  151. package/dist/types/compute-engine/latex-syntax/serializer.d.ts +1 -1
  152. package/dist/types/compute-engine/latex-syntax/tokenizer.d.ts +1 -1
  153. package/dist/types/compute-engine/latex-syntax/types.d.ts +2 -2
  154. package/dist/types/compute-engine/latex-syntax/utils.d.ts +1 -1
  155. package/dist/types/compute-engine/library/arithmetic.d.ts +1 -1
  156. package/dist/types/compute-engine/library/calculus.d.ts +1 -1
  157. package/dist/types/compute-engine/library/collections.d.ts +1 -1
  158. package/dist/types/compute-engine/library/colors.d.ts +2 -0
  159. package/dist/types/compute-engine/library/combinatorics.d.ts +1 -1
  160. package/dist/types/compute-engine/library/complex.d.ts +1 -1
  161. package/dist/types/compute-engine/library/control-structures.d.ts +1 -1
  162. package/dist/types/compute-engine/library/core.d.ts +1 -1
  163. package/dist/types/compute-engine/library/library.d.ts +1 -1
  164. package/dist/types/compute-engine/library/linear-algebra.d.ts +1 -1
  165. package/dist/types/compute-engine/library/logic-analysis.d.ts +1 -1
  166. package/dist/types/compute-engine/library/logic.d.ts +1 -1
  167. package/dist/types/compute-engine/library/number-theory.d.ts +1 -1
  168. package/dist/types/compute-engine/library/polynomials.d.ts +1 -1
  169. package/dist/types/compute-engine/library/quantity-arithmetic.d.ts +37 -0
  170. package/dist/types/compute-engine/library/random-expression.d.ts +1 -1
  171. package/dist/types/compute-engine/library/relational-operator.d.ts +1 -1
  172. package/dist/types/compute-engine/library/sets.d.ts +1 -1
  173. package/dist/types/compute-engine/library/statistics.d.ts +1 -1
  174. package/dist/types/compute-engine/library/trigonometry.d.ts +1 -1
  175. package/dist/types/compute-engine/library/type-handlers.d.ts +1 -1
  176. package/dist/types/compute-engine/library/unit-data.d.ts +8 -0
  177. package/dist/types/compute-engine/library/units.d.ts +9 -0
  178. package/dist/types/compute-engine/library/utils.d.ts +1 -1
  179. package/dist/types/compute-engine/numeric-value/big-numeric-value.d.ts +1 -1
  180. package/dist/types/compute-engine/numeric-value/exact-numeric-value.d.ts +1 -1
  181. package/dist/types/compute-engine/numeric-value/machine-numeric-value.d.ts +1 -1
  182. package/dist/types/compute-engine/numeric-value/types.d.ts +1 -1
  183. package/dist/types/compute-engine/numerics/bigint.d.ts +1 -1
  184. package/dist/types/compute-engine/numerics/expression.d.ts +1 -1
  185. package/dist/types/compute-engine/numerics/interval.d.ts +1 -1
  186. package/dist/types/compute-engine/numerics/monte-carlo.d.ts +1 -1
  187. package/dist/types/compute-engine/numerics/numeric-bigint.d.ts +1 -1
  188. package/dist/types/compute-engine/numerics/numeric-bignum.d.ts +1 -1
  189. package/dist/types/compute-engine/numerics/numeric-complex.d.ts +1 -1
  190. package/dist/types/compute-engine/numerics/numeric.d.ts +1 -1
  191. package/dist/types/compute-engine/numerics/primes.d.ts +1 -1
  192. package/dist/types/compute-engine/numerics/rationals.d.ts +1 -1
  193. package/dist/types/compute-engine/numerics/richardson.d.ts +1 -1
  194. package/dist/types/compute-engine/numerics/special-functions.d.ts +1 -1
  195. package/dist/types/compute-engine/numerics/statistics.d.ts +1 -1
  196. package/dist/types/compute-engine/numerics/strings.d.ts +1 -1
  197. package/dist/types/compute-engine/numerics/types.d.ts +1 -1
  198. package/dist/types/compute-engine/numerics/unit-data.d.ts +128 -0
  199. package/dist/types/compute-engine/oeis.d.ts +1 -1
  200. package/dist/types/compute-engine/sequence.d.ts +1 -1
  201. package/dist/types/compute-engine/symbolic/antiderivative.d.ts +1 -1
  202. package/dist/types/compute-engine/symbolic/derivative.d.ts +1 -1
  203. package/dist/types/compute-engine/symbolic/distribute.d.ts +1 -1
  204. package/dist/types/compute-engine/symbolic/fu-cost.d.ts +1 -1
  205. package/dist/types/compute-engine/symbolic/fu-transforms.d.ts +1 -1
  206. package/dist/types/compute-engine/symbolic/fu.d.ts +1 -1
  207. package/dist/types/compute-engine/symbolic/logic-utils.d.ts +1 -1
  208. package/dist/types/compute-engine/symbolic/simplify-abs.d.ts +1 -1
  209. package/dist/types/compute-engine/symbolic/simplify-divide.d.ts +4 -2
  210. package/dist/types/compute-engine/symbolic/simplify-factorial.d.ts +33 -0
  211. package/dist/types/compute-engine/symbolic/simplify-hyperbolic.d.ts +1 -1
  212. package/dist/types/compute-engine/symbolic/simplify-infinity.d.ts +1 -1
  213. package/dist/types/compute-engine/symbolic/simplify-log.d.ts +1 -1
  214. package/dist/types/compute-engine/symbolic/simplify-logic.d.ts +1 -1
  215. package/dist/types/compute-engine/symbolic/simplify-power.d.ts +1 -1
  216. package/dist/types/compute-engine/symbolic/simplify-product.d.ts +1 -1
  217. package/dist/types/compute-engine/symbolic/simplify-rules.d.ts +1 -1
  218. package/dist/types/compute-engine/symbolic/simplify-sum.d.ts +1 -1
  219. package/dist/types/compute-engine/symbolic/simplify-trig.d.ts +1 -1
  220. package/dist/types/compute-engine/tensor/tensor-fields.d.ts +1 -1
  221. package/dist/types/compute-engine/tensor/tensors.d.ts +1 -1
  222. package/dist/types/compute-engine/types-definitions.d.ts +1 -1
  223. package/dist/types/compute-engine/types-engine.d.ts +1 -1
  224. package/dist/types/compute-engine/types-evaluation.d.ts +1 -1
  225. package/dist/types/compute-engine/types-expression.d.ts +1 -1
  226. package/dist/types/compute-engine/types-kernel-evaluation.d.ts +1 -1
  227. package/dist/types/compute-engine/types-kernel-serialization.d.ts +1 -1
  228. package/dist/types/compute-engine/types-serialization.d.ts +1 -1
  229. package/dist/types/compute-engine/types.d.ts +1 -1
  230. package/dist/types/compute-engine.d.ts +2 -2
  231. package/dist/types/math-json/symbols.d.ts +1 -1
  232. package/dist/types/math-json/types.d.ts +1 -1
  233. package/dist/types/math-json/utils.d.ts +1 -1
  234. package/dist/types/math-json.d.ts +2 -2
  235. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  /**
3
3
  * Source code in the target language
4
4
  */
@@ -34,6 +34,9 @@ export interface CompileTarget<Expr = unknown> {
34
34
  string: (str: string) => string;
35
35
  /** Format numeric literals for the target language */
36
36
  number: (n: number) => string;
37
+ /** Format a complex numeric literal for the target language.
38
+ * Only called when the imaginary part is non-zero. */
39
+ complex?: (re: number, im: number) => string;
37
40
  /** Format whitespace for the target language */
38
41
  ws: (s?: string) => string;
39
42
  /** Code to be inserted at the beginning of the compiled output */
@@ -152,5 +155,11 @@ export interface CompilationResult {
152
155
  */
153
156
  preamble?: string;
154
157
  /** Executable function (present for JS-executable targets only) */
155
- run?: (...args: number[]) => number;
158
+ run?: (...args: (number | {
159
+ re: number;
160
+ im: number;
161
+ })[]) => number | {
162
+ re: number;
163
+ im: number;
164
+ };
156
165
  }
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  import type { CompiledFunctions } from './types';
3
3
  import { GPUShaderTarget } from './gpu-target';
4
4
  /**
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  /**
3
3
  * The default cost function, used to determine if a new expression is simpler
4
4
  * than the old one.
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  import type { MathJsonSymbol } from '../math-json/types';
3
3
  export declare function ask(ce: IComputeEngine, pattern: Expression): BoxedSubstitution[];
4
4
  export declare function verify(ce: IComputeEngine, query: Expression): boolean | undefined;
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  private _entries;
3
3
  getOrBuild<T>(cacheName: string, build: () => T, purge?: (t: T) => T | undefined): T;
4
4
  invalidate(cacheName: string): void;
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export type CommonSymbolTable = {
3
3
  [symbol: string]: null | Expression;
4
4
  };
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  import type { LanguageTarget } from './compilation/types';
3
3
  /**
4
4
  * Internal registry for compilation targets.
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  type ResetHooks = {
3
3
  refreshNumericConstants: () => void;
4
4
  resetCommonSymbols: () => void;
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  import { BoxedType } from '../common/type/boxed-type';
3
3
  import type { MathJsonSymbol } from '../math-json/types';
4
4
  import type { ValueDefinition, OperatorDefinition, AssignValue, Expression, BoxedDefinition, SymbolDefinition, IComputeEngine, Scope } from './global-types';
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  import { Decimal } from 'decimal.js';
3
3
  import type { MathJsonNumberObject, MathJsonSymbol } from '../math-json/types';
4
4
  import { NumericValue } from './numeric-value/types';
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  import type { LanguageTarget, CompilationOptions } from './compilation/types';
3
3
  export declare function assertCompilationTargetName(name: unknown): string;
4
4
  export declare function assertLibraryName(name: unknown): string;
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  import type { LatexDictionaryEntry } from './latex-syntax/types';
3
3
  type DefaultDictionaryProvider = () => Readonly<LatexDictionaryEntry[]>;
4
4
  export declare class EngineLatexDictionaryState {
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  import type { LatexDictionaryEntry, LibraryCategory } from './latex-syntax/types';
3
3
  export declare function resolveBootstrapLibraries(libraries?: readonly (string | LibraryDefinition)[]): LibraryDefinition[];
4
4
  export declare function loadLibraryDefinitions(engine: ComputeEngine, libraries: readonly LibraryDefinition[]): void;
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  import type { AngularUnit } from './types-definitions';
3
3
  export declare class EngineNumericConfiguration {
4
4
  private _bignum;
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  import type { LatexString, ParseLatexOptions } from './latex-syntax/types';
3
3
  import type { FormOption } from './types-serialization';
4
4
  export type ParseEntrypointOptions = Partial<ParseLatexOptions> & {
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  private _timeLimit;
3
3
  private _iterationLimit;
4
4
  private _recursionLimit;
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  import type { IComputeEngine, Scope, EvalContext } from './global-types';
3
3
  export declare function pushScope(ce: IComputeEngine, scope?: Scope, name?: string): void;
4
4
  export declare function popScope(ce: IComputeEngine): void;
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export declare function declareSequence(ce: IComputeEngine, name: string, def: SequenceDefinition): IComputeEngine;
3
3
  export declare function getSequenceStatus(ce: IComputeEngine, name: string): SequenceStatus;
4
4
  export declare function getSequence(ce: IComputeEngine, name: string): SequenceInfo | undefined;
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  /**
3
3
  * Internal holder for simplification rules and their cache-staleness marker.
4
4
  *
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  import type { Expression, IComputeEngine as ComputeEngine, LibraryDefinition } from './global-types';
3
3
  export type CommonNumberBindings = {
4
4
  Zero: Expression;
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  type ResolverScope = {
3
3
  parent: ResolverScope | null;
4
4
  types?: Record<string, TypeReference>;
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  import { BoxedType } from '../common/type/boxed-type';
3
3
  import type { Expression, Metadata, ExpressionInput } from './global-types';
4
4
  type ValidationHost = {
@@ -1,4 +1,5 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
+ import type { Type, TypeString } from '../common/type/types';
2
3
  import type { LatexString } from './latex-syntax/types';
3
4
  import { compile as compileExpr } from './compilation/compile-expression';
4
5
  /** @internal Called by index.ts to register the ComputeEngine class,
@@ -6,15 +7,19 @@ import { compile as compileExpr } from './compilation/compile-expression';
6
7
  export declare function _setComputeEngineClass(cls: new () => IComputeEngine): void;
7
8
  export declare function getDefaultEngine(): IComputeEngine;
8
9
  export declare function parse(latex: LatexString): Expression;
9
- export declare function simplify(latex: LatexString | Expression): Expression;
10
- export declare function evaluate(latex: LatexString | Expression): Expression;
11
- export declare function N(latex: LatexString | Expression): Expression;
10
+ export declare function simplify(expr: LatexString | ExpressionInput): Expression;
11
+ export declare function evaluate(expr: LatexString | ExpressionInput): Expression;
12
+ export declare function N(expr: LatexString | ExpressionInput): Expression;
13
+ export declare function declare(id: string, def: Type | TypeString | Partial<SymbolDefinition>): void;
14
+ export declare function declare(symbols: {
15
+ [id: string]: Type | TypeString | Partial<SymbolDefinition>;
16
+ }): void;
12
17
  export declare function assign(id: string, value: AssignValue): void;
13
18
  export declare function assign(ids: {
14
19
  [id: string]: AssignValue;
15
20
  }): void;
16
- export declare function expand(latex: LatexString | Expression): Expression | null;
17
- export declare function solve(latex: LatexString | Expression, vars?: string | Iterable<string> | Expression | Iterable<Expression>): null | ReadonlyArray<Expression> | Record<string, Expression> | Array<Record<string, Expression>>;
18
- export declare function expandAll(latex: LatexString | Expression): Expression | null;
19
- export declare function factor(latex: LatexString | Expression): Expression;
20
- export declare function compile(latex: LatexString | Expression, options?: Parameters<typeof compileExpr>[1]): ReturnType<typeof compileExpr>;
21
+ export declare function expand(expr: LatexString | ExpressionInput): Expression | null;
22
+ export declare function solve(expr: LatexString | ExpressionInput, vars?: string | Iterable<string> | Expression | Iterable<Expression>): null | ReadonlyArray<Expression> | Record<string, Expression> | Array<Record<string, Expression>>;
23
+ export declare function expandAll(expr: LatexString | ExpressionInput): Expression | null;
24
+ export declare function factor(expr: LatexString | ExpressionInput): Expression;
25
+ export declare function compile(expr: LatexString | ExpressionInput, options?: Parameters<typeof compileExpr>[1]): ReturnType<typeof compileExpr>;
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  import type { BoxedDefinition, Expression, IComputeEngine as ComputeEngine, Scope } from './global-types';
3
3
  /***
4
4
  * ### THEORY OF OPERATIONS
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export type * from './types-serialization';
3
3
  export type { ValueDefinition, SequenceDefinition, SequenceStatus, SequenceInfo, OEISSequenceInfo, OEISOptions, OperatorDefinition, BaseDefinition, SimplifyOptions, SymbolDefinition, SymbolDefinitions, LibraryDefinition, AngularUnit, Sign, BaseCollectionHandlers, IndexedCollectionHandlers, CollectionHandlers, TaggedValueDefinition, TaggedOperatorDefinition, BoxedDefinition, BoxedBaseDefinition, BoxedValueDefinition, OperatorDefinitionFlags, BoxedOperatorDefinition, } from './types-definitions';
4
4
  export type * from './types-evaluation';
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  import { Decimal } from 'decimal.js';
3
3
  import { Type, TypeResolver, TypeString } from '../common/type/types';
4
4
  import { BoxedType } from '../common/type/boxed-type';
@@ -17,7 +17,7 @@ import { factorPerfectSquare, factorDifferenceOfSquares, factorQuadratic, factor
17
17
  import './boxed-expression/serialize';
18
18
  import { type ParseEntrypointOptions } from './engine-parse-entrypoint';
19
19
  export type * from './global-types';
20
- export { parse, simplify, evaluate, N, assign, expand, expandAll, factor, solve, compile, getDefaultEngine, } from './free-functions';
20
+ export { parse, simplify, evaluate, N, declare, assign, expand, expandAll, factor, solve, compile, getDefaultEngine, } from './free-functions';
21
21
  export { validatePattern };
22
22
  export { factorPerfectSquare, factorDifferenceOfSquares, factorQuadratic, factorPolynomial, };
23
23
  export type { CompileTarget, CompiledOperators, CompiledFunctions, CompilationOptions, CompilationResult, LanguageTarget, TargetSource, CompiledFunction, } from './compilation/types';
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  * Basic interval arithmetic operations
3
3
  *
4
4
  * @module interval/arithmetic
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  * Comparison and conditional interval operations
3
3
  *
4
4
  * @module interval/comparison
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  * Elementary interval functions (sqrt, pow, exp, ln, abs, floor, ceil, min, max, mod)
3
3
  *
4
4
  * @module interval/elementary
@@ -134,3 +134,11 @@ export declare function remainder(a: Interval | IntervalResult, b: Interval | In
134
134
  * Has a jump discontinuity at 0.
135
135
  */
136
136
  export declare function sign(x: Interval | IntervalResult): IntervalResult;
137
+ /**
138
+ * Gamma function on an interval.
139
+ *
140
+ * Gamma has poles at non-positive integers (0, -1, -2, ...) and
141
+ * a unique minimum at x ≈ 1.4616 for positive x. Between consecutive
142
+ * negative integers it is monotonic (but alternates direction).
143
+ */
144
+ export declare function gamma(x: Interval | IntervalResult): IntervalResult;
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  * Interval arithmetic library for reliable function evaluation
3
3
  *
4
4
  * This module provides interval versions of mathematical operations
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  * Trigonometric interval functions
3
3
  *
4
4
  * @module interval/trigonometric
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  * Interval arithmetic types for reliable function evaluation
3
3
  *
4
4
  * @module interval/types
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  * Utility functions for interval arithmetic
3
3
  *
4
4
  * @module interval/util
@@ -1,2 +1,2 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export declare const DEFINITIONS_ALGEBRA: LatexDictionary;
@@ -1,2 +1,2 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export declare const DEFINITIONS_ARITHMETIC: LatexDictionary;
@@ -1,2 +1,2 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export declare const DEFINITIONS_CALCULUS: LatexDictionary;
@@ -1,2 +1,2 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export declare const DEFINITIONS_COMPLEX: LatexDictionary;
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export declare const DEFINITIONS_CORE: LatexDictionary;
3
3
  export declare const DELIMITERS_SHORTHAND: {
4
4
  '(': string;
@@ -1,2 +1,2 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export declare const DEFINITIONS_LINEAR_ALGEBRA: LatexDictionary;
@@ -1,2 +1,2 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export declare const DEFINITIONS_LOGIC: LatexDictionary;
@@ -1,2 +1,2 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export declare const DEFINITIONS_OTHERS: LatexDictionary;
@@ -1,2 +1,2 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export declare const DEFINITIONS_INEQUALITIES: LatexDictionaryEntry[];
@@ -1,2 +1,2 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export declare const DEFINITIONS_SETS: LatexDictionary;
@@ -1,2 +1,2 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export declare const DEFINITIONS_STATISTICS: LatexDictionary;
@@ -1,3 +1,3 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export declare const SYMBOLS: [string, string, number][];
3
3
  export declare const DEFINITIONS_SYMBOLS: LatexDictionary;
@@ -1,2 +1,2 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export declare const DEFINITIONS_TRIGONOMETRY: LatexDictionary;
@@ -0,0 +1,23 @@
1
+ /* 0.51.0 */
2
+ * LaTeX dictionary entries for parsing and serializing physical quantities
3
+ * with units.
4
+ *
5
+ * Parsing: `12\,\mathrm{cm}` → `['Quantity', 12, 'cm']`
6
+ * Serializing: `['Quantity', 12, 'cm']` → `12\,\mathrm{cm}`
7
+ *
8
+ * Registers `\mathrm` and `\text` as **expression** entries. When the braced
9
+ * content is a recognised unit the handler returns the unit expression;
10
+ * otherwise it returns `null` so the parser backtracks and the normal
11
+ * symbol-parsing takes over.
12
+ *
13
+ * The number-times-unit → Quantity conversion is handled during
14
+ * canonicalization of `InvisibleOperator` (juxtaposition) in
15
+ * `invisible-operator.ts`.
16
+ *
17
+ * CRITICAL: The expression entry trigger `\mathrm` (1 token) coexists with
18
+ * existing longer triggers like `\mathrm{e}` (4 tokens, ExponentialE). The
19
+ * parser tries longer triggers first, so `\mathrm{e}` will always match before
20
+ * our 1-token `\mathrm` entry.
21
+ */
22
+ import type { LatexDictionary } from '../types';
23
+ export declare const DEFINITIONS_UNITS: LatexDictionary;
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  import { LatexDictionaryEntry } from '../types';
3
3
  export type { CommonEntry, IndexedSymbolEntry, IndexedExpressionEntry, IndexedFunctionEntry, IndexedMatchfixEntry, IndexedInfixEntry, IndexedPrefixEntry, IndexedPostfixEntry, IndexedEnvironmentEntry, IndexedLatexDictionaryEntry, IndexedLatexDictionary, } from './indexed-types';
4
4
  import type { IndexedSymbolEntry, IndexedExpressionEntry, IndexedFunctionEntry, IndexedMatchfixEntry, IndexedInfixEntry, IndexedPostfixEntry, IndexedEnvironmentEntry, IndexedLatexDictionaryEntry, IndexedLatexDictionary } from './indexed-types';
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  * Type definitions for the indexed LaTeX dictionary.
3
3
  *
4
4
  * These are separated from definitions.ts to break a circular dependency:
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  * Number parsing extracted from the _Parser class for modularity.
3
3
  *
4
4
  * All functions take a `Parser` interface and a `NumberFormatTokens` config
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  import { Parser } from './types';
3
3
  /** For error handling, if we have a symbol prefix, assume
4
4
  * the symbol is invalid (it would have been captured by
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  import { ParseLatexOptions, LatexToken, Terminator, Parser, SymbolTable } from './types';
3
3
  import type { IndexedLatexDictionary, IndexedLatexDictionaryEntry, IndexedInfixEntry, IndexedPostfixEntry, IndexedPrefixEntry, IndexedSymbolEntry, IndexedExpressionEntry, IndexedFunctionEntry } from './dictionary/definitions';
4
4
  import { BoxedType } from '../../common/type/boxed-type';
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  import { NumberSerializationFormat } from './types';
3
3
  /**
4
4
  * @param expr - A number, can be represented as a string
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  import { DelimiterScale } from './types';
3
3
  export declare function getApplyFunctionStyle(_expr: MathJsonExpression, _level: number): DelimiterScale;
4
4
  export declare function getGroupStyle(_expr: MathJsonExpression, _level: number): DelimiterScale;
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  import { LatexString, SerializeLatexOptions, DelimiterScale } from './types';
3
3
  import type { IndexedLatexDictionary, IndexedLatexDictionaryEntry } from './dictionary/definitions';
4
4
  export declare class Serializer {
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  * ## Reference
3
3
  * TeX source code:
4
4
  * {@link http://tug.org/texlive/devsrc/Build/source/texk/web2c/tex.web | Tex.web}
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  import type { MathJsonExpression, MathJsonSymbol } from '../../math-json/types';
3
3
  import type { TypeString } from '../../common/type/types';
4
4
  import { BoxedType } from '../../common/type/boxed-type';
@@ -36,7 +36,7 @@ export type DelimiterScale = 'normal' | 'scaled' | 'big' | 'none';
36
36
  /**
37
37
  * @category Latex Parsing and Serialization
38
38
  */
39
- export type LibraryCategory = 'arithmetic' | 'calculus' | 'collections' | 'control-structures' | 'combinatorics' | 'core' | 'linear-algebra' | 'logic' | 'number-theory' | 'other' | 'physics' | 'polynomials' | 'relop' | 'statistics' | 'trigonometry';
39
+ export type LibraryCategory = 'arithmetic' | 'calculus' | 'collections' | 'colors' | 'control-structures' | 'combinatorics' | 'core' | 'linear-algebra' | 'logic' | 'number-theory' | 'other' | 'physics' | 'polynomials' | 'relop' | 'statistics' | 'trigonometry' | 'units';
40
40
  /**
41
41
  *
42
42
  * :::info[THEORY OF OPERATIONS]
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export declare function asLatexString(s: unknown): string | null;
3
3
  export declare function isRelationalOperator(name: string | undefined): boolean;
4
4
  export declare function isInequalityOperator(operator: string | undefined): boolean;
@@ -1,3 +1,3 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export type CanonicalArithmeticOperators = 'Add' | 'Negate' | 'Multiply' | 'Divide' | 'Power' | 'Sqrt' | 'Root' | 'Ln';
3
3
  export declare const ARITHMETIC_LIBRARY: SymbolDefinitions[];
@@ -1,2 +1,2 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export declare const CALCULUS_LIBRARY: SymbolDefinitions[];
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export declare const DEFAULT_LINSPACE_COUNT = 50;
3
3
  export declare const COLLECTIONS_LIBRARY: SymbolDefinitions;
4
4
  /**
@@ -0,0 +1,2 @@
1
+ /* 0.51.0 */
2
+ export declare const COLORS_LIBRARY: SymbolDefinitions;
@@ -1,2 +1,2 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export declare const COMBINATORICS_LIBRARY: SymbolDefinitions[];
@@ -1,2 +1,2 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export declare const COMPLEX_LIBRARY: SymbolDefinitions[];
@@ -1,2 +1,2 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export declare const CONTROL_STRUCTURES_LIBRARY: SymbolDefinitions[];
@@ -1,2 +1,2 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export declare const CORE_LIBRARY: SymbolDefinitions[];
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  import type { SymbolDefinitions, IComputeEngine as ComputeEngine, LibraryDefinition } from '../global-types';
3
3
  /**
4
4
  * The standard libraries bundled with the Compute Engine.
@@ -1,2 +1,2 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export declare const LINEAR_ALGEBRA_LIBRARY: SymbolDefinitions[];
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  /**
3
3
  * Quantifier domain helpers and boolean analysis functions.
4
4
  * Extracted from logic.ts for better code organization.
@@ -1,3 +1,3 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export declare const LOGIC_LIBRARY: SymbolDefinitions;
3
3
  export declare const LOGIC_FUNCTION_LIBRARY: SymbolDefinitions;
@@ -1,2 +1,2 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export declare const NUMBER_THEORY_LIBRARY: SymbolDefinitions[];
@@ -1,2 +1,2 @@
1
- /* 0.50.2 */
1
+ /* 0.51.0 */
2
2
  export declare const POLYNOMIALS_LIBRARY: SymbolDefinitions[];