@cortex-js/compute-engine 0.50.2 → 0.51.1

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 (236) hide show
  1. package/dist/compute-engine.esm.js +7900 -267
  2. package/dist/compute-engine.min.esm.js +490 -65
  3. package/dist/compute-engine.min.umd.js +490 -65
  4. package/dist/compute-engine.umd.js +7900 -267
  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 +16 -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 +68 -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 +37 -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 +7 -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 +291 -3
  96. package/dist/types/compute-engine/compilation/python-target.d.ts +1 -1
  97. package/dist/types/compute-engine/compilation/types.d.ts +30 -3
  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 +15 -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 +26 -1
  126. package/dist/types/compute-engine/interval/index.d.ts +11 -5
  127. package/dist/types/compute-engine/interval/trigonometric.d.ts +16 -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-dms.d.ts +22 -0
  150. package/dist/types/compute-engine/latex-syntax/serialize-number.d.ts +1 -1
  151. package/dist/types/compute-engine/latex-syntax/serializer-style.d.ts +1 -1
  152. package/dist/types/compute-engine/latex-syntax/serializer.d.ts +2 -2
  153. package/dist/types/compute-engine/latex-syntax/tokenizer.d.ts +1 -1
  154. package/dist/types/compute-engine/latex-syntax/types.d.ts +59 -2
  155. package/dist/types/compute-engine/latex-syntax/utils.d.ts +1 -1
  156. package/dist/types/compute-engine/library/arithmetic.d.ts +1 -1
  157. package/dist/types/compute-engine/library/calculus.d.ts +1 -1
  158. package/dist/types/compute-engine/library/collections.d.ts +1 -1
  159. package/dist/types/compute-engine/library/colors.d.ts +2 -0
  160. package/dist/types/compute-engine/library/combinatorics.d.ts +1 -1
  161. package/dist/types/compute-engine/library/complex.d.ts +1 -1
  162. package/dist/types/compute-engine/library/control-structures.d.ts +1 -1
  163. package/dist/types/compute-engine/library/core.d.ts +1 -1
  164. package/dist/types/compute-engine/library/library.d.ts +1 -1
  165. package/dist/types/compute-engine/library/linear-algebra.d.ts +1 -1
  166. package/dist/types/compute-engine/library/logic-analysis.d.ts +1 -1
  167. package/dist/types/compute-engine/library/logic.d.ts +1 -1
  168. package/dist/types/compute-engine/library/number-theory.d.ts +1 -1
  169. package/dist/types/compute-engine/library/polynomials.d.ts +1 -1
  170. package/dist/types/compute-engine/library/quantity-arithmetic.d.ts +37 -0
  171. package/dist/types/compute-engine/library/random-expression.d.ts +1 -1
  172. package/dist/types/compute-engine/library/relational-operator.d.ts +1 -1
  173. package/dist/types/compute-engine/library/sets.d.ts +1 -1
  174. package/dist/types/compute-engine/library/statistics.d.ts +1 -1
  175. package/dist/types/compute-engine/library/trigonometry.d.ts +1 -1
  176. package/dist/types/compute-engine/library/type-handlers.d.ts +1 -1
  177. package/dist/types/compute-engine/library/unit-data.d.ts +8 -0
  178. package/dist/types/compute-engine/library/units.d.ts +9 -0
  179. package/dist/types/compute-engine/library/utils.d.ts +1 -1
  180. package/dist/types/compute-engine/numeric-value/big-numeric-value.d.ts +1 -1
  181. package/dist/types/compute-engine/numeric-value/exact-numeric-value.d.ts +1 -1
  182. package/dist/types/compute-engine/numeric-value/machine-numeric-value.d.ts +1 -1
  183. package/dist/types/compute-engine/numeric-value/types.d.ts +1 -1
  184. package/dist/types/compute-engine/numerics/bigint.d.ts +1 -1
  185. package/dist/types/compute-engine/numerics/expression.d.ts +1 -1
  186. package/dist/types/compute-engine/numerics/interval.d.ts +1 -1
  187. package/dist/types/compute-engine/numerics/monte-carlo.d.ts +1 -1
  188. package/dist/types/compute-engine/numerics/numeric-bigint.d.ts +1 -1
  189. package/dist/types/compute-engine/numerics/numeric-bignum.d.ts +1 -1
  190. package/dist/types/compute-engine/numerics/numeric-complex.d.ts +1 -1
  191. package/dist/types/compute-engine/numerics/numeric.d.ts +1 -1
  192. package/dist/types/compute-engine/numerics/primes.d.ts +1 -1
  193. package/dist/types/compute-engine/numerics/rationals.d.ts +1 -1
  194. package/dist/types/compute-engine/numerics/richardson.d.ts +1 -1
  195. package/dist/types/compute-engine/numerics/special-functions.d.ts +15 -1
  196. package/dist/types/compute-engine/numerics/statistics.d.ts +1 -1
  197. package/dist/types/compute-engine/numerics/strings.d.ts +1 -1
  198. package/dist/types/compute-engine/numerics/types.d.ts +1 -1
  199. package/dist/types/compute-engine/numerics/unit-data.d.ts +128 -0
  200. package/dist/types/compute-engine/oeis.d.ts +1 -1
  201. package/dist/types/compute-engine/sequence.d.ts +1 -1
  202. package/dist/types/compute-engine/symbolic/antiderivative.d.ts +1 -1
  203. package/dist/types/compute-engine/symbolic/derivative.d.ts +1 -1
  204. package/dist/types/compute-engine/symbolic/distribute.d.ts +1 -1
  205. package/dist/types/compute-engine/symbolic/fu-cost.d.ts +1 -1
  206. package/dist/types/compute-engine/symbolic/fu-transforms.d.ts +1 -1
  207. package/dist/types/compute-engine/symbolic/fu.d.ts +1 -1
  208. package/dist/types/compute-engine/symbolic/logic-utils.d.ts +1 -1
  209. package/dist/types/compute-engine/symbolic/simplify-abs.d.ts +1 -1
  210. package/dist/types/compute-engine/symbolic/simplify-divide.d.ts +4 -2
  211. package/dist/types/compute-engine/symbolic/simplify-factorial.d.ts +33 -0
  212. package/dist/types/compute-engine/symbolic/simplify-hyperbolic.d.ts +1 -1
  213. package/dist/types/compute-engine/symbolic/simplify-infinity.d.ts +1 -1
  214. package/dist/types/compute-engine/symbolic/simplify-log.d.ts +1 -1
  215. package/dist/types/compute-engine/symbolic/simplify-logic.d.ts +1 -1
  216. package/dist/types/compute-engine/symbolic/simplify-power.d.ts +1 -1
  217. package/dist/types/compute-engine/symbolic/simplify-product.d.ts +1 -1
  218. package/dist/types/compute-engine/symbolic/simplify-rules.d.ts +1 -1
  219. package/dist/types/compute-engine/symbolic/simplify-sum.d.ts +1 -1
  220. package/dist/types/compute-engine/symbolic/simplify-trig.d.ts +1 -1
  221. package/dist/types/compute-engine/tensor/tensor-fields.d.ts +1 -1
  222. package/dist/types/compute-engine/tensor/tensors.d.ts +1 -1
  223. package/dist/types/compute-engine/types-definitions.d.ts +1 -1
  224. package/dist/types/compute-engine/types-engine.d.ts +1 -1
  225. package/dist/types/compute-engine/types-evaluation.d.ts +1 -1
  226. package/dist/types/compute-engine/types-expression.d.ts +1 -1
  227. package/dist/types/compute-engine/types-kernel-evaluation.d.ts +1 -1
  228. package/dist/types/compute-engine/types-kernel-serialization.d.ts +1 -1
  229. package/dist/types/compute-engine/types-serialization.d.ts +1 -1
  230. package/dist/types/compute-engine/types.d.ts +1 -1
  231. package/dist/types/compute-engine.d.ts +2 -2
  232. package/dist/types/math-json/symbols.d.ts +1 -1
  233. package/dist/types/math-json/types.d.ts +1 -1
  234. package/dist/types/math-json/utils.d.ts +1 -1
  235. package/dist/types/math-json.d.ts +2 -2
  236. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
- /* 0.50.2 */
2
- import { chop, factorial, gcd, lcm, limit } from '../numerics/numeric';
3
- import { gamma, gammaln } from '../numerics/special-functions';
1
+ /* 0.51.1 */
2
+ import { chop, factorial, factorial2, gcd, lcm, limit } from '../numerics/numeric';
3
+ import { gamma, gammaln, erf, erfc, erfInv, beta, digamma, trigamma, polygamma, zeta, lambertW, besselJ, besselY, besselI, besselK, airyAi, airyBi, fresnelS, fresnelC, sinc } from '../numerics/special-functions';
4
+ import { choose } from '../boxed-expression/expand';
4
5
  import { interquartileRange, kurtosis, mean, median, mode, populationStandardDeviation, populationVariance, quartiles, skewness, standardDeviation, variance } from '../numerics/statistics';
5
6
  import type { CompileTarget, CompiledOperators, CompiledFunctions, LanguageTarget, CompilationOptions, CompilationResult } from './types';
6
7
  /**
@@ -8,10 +9,21 @@ import type { CompileTarget, CompiledOperators, CompiledFunctions, LanguageTarge
8
9
  */
9
10
  export declare class ComputeEngineFunction extends Function {
10
11
  SYS: {
12
+ color(input: string): number[];
13
+ colorToString(input: string | number[], format?: string): string;
14
+ colorMix(input1: string | number[], input2: string | number[], ratio?: number): number[];
15
+ colorContrast(bg: string | number[], fg: string | number[]): number;
16
+ contrastingColor(bg: string | number[], fg1?: string | number[], fg2?: string | number[]): number[];
17
+ colorToColorspace(input: string | number[], space: string): number[];
18
+ colormap(name: string, arg?: number): number[] | number[][];
19
+ _interpolatePalette(colors: [number, number, number][], t: number): number[];
20
+ colorFromColorspace(components: number[], space: string): number[];
11
21
  chop: typeof chop;
12
22
  factorial: typeof factorial;
23
+ factorial2: typeof factorial2;
13
24
  gamma: typeof gamma;
14
25
  gcd: typeof gcd;
26
+ heaviside: (x: number) => 0 | 1 | 0.5;
15
27
  integrate: (f: any, a: any, b: any) => number;
16
28
  lcm: typeof lcm;
17
29
  lngamma: typeof gammaln;
@@ -27,6 +39,136 @@ export declare class ComputeEngineFunction extends Function {
27
39
  mode: typeof mode;
28
40
  quartiles: typeof quartiles;
29
41
  interquartileRange: typeof interquartileRange;
42
+ erf: typeof erf;
43
+ erfc: typeof erfc;
44
+ erfInv: typeof erfInv;
45
+ beta: typeof beta;
46
+ digamma: typeof digamma;
47
+ trigamma: typeof trigamma;
48
+ polygamma: typeof polygamma;
49
+ zeta: typeof zeta;
50
+ lambertW: typeof lambertW;
51
+ besselJ: typeof besselJ;
52
+ besselY: typeof besselY;
53
+ besselI: typeof besselI;
54
+ besselK: typeof besselK;
55
+ airyAi: typeof airyAi;
56
+ airyBi: typeof airyBi;
57
+ sinc: typeof sinc;
58
+ fresnelS: typeof fresnelS;
59
+ fresnelC: typeof fresnelC;
60
+ binomial: typeof choose;
61
+ fibonacci: typeof fibonacci;
62
+ csin: (z: any) => {
63
+ re: number;
64
+ im: number;
65
+ };
66
+ ccos: (z: any) => {
67
+ re: number;
68
+ im: number;
69
+ };
70
+ ctan: (z: any) => {
71
+ re: number;
72
+ im: number;
73
+ };
74
+ casin: (z: any) => {
75
+ re: number;
76
+ im: number;
77
+ };
78
+ cacos: (z: any) => {
79
+ re: number;
80
+ im: number;
81
+ };
82
+ catan: (z: any) => {
83
+ re: number;
84
+ im: number;
85
+ };
86
+ csinh: (z: any) => {
87
+ re: number;
88
+ im: number;
89
+ };
90
+ ccosh: (z: any) => {
91
+ re: number;
92
+ im: number;
93
+ };
94
+ ctanh: (z: any) => {
95
+ re: number;
96
+ im: number;
97
+ };
98
+ csqrt: (z: any) => {
99
+ re: number;
100
+ im: number;
101
+ };
102
+ cexp: (z: any) => {
103
+ re: number;
104
+ im: number;
105
+ };
106
+ cln: (z: any) => {
107
+ re: number;
108
+ im: number;
109
+ };
110
+ cpow: (z: any, w: any) => {
111
+ re: number;
112
+ im: number;
113
+ };
114
+ ccot: (z: any) => {
115
+ re: number;
116
+ im: number;
117
+ };
118
+ csec: (z: any) => {
119
+ re: number;
120
+ im: number;
121
+ };
122
+ ccsc: (z: any) => {
123
+ re: number;
124
+ im: number;
125
+ };
126
+ ccoth: (z: any) => {
127
+ re: number;
128
+ im: number;
129
+ };
130
+ csech: (z: any) => {
131
+ re: number;
132
+ im: number;
133
+ };
134
+ ccsch: (z: any) => {
135
+ re: number;
136
+ im: number;
137
+ };
138
+ cacot: (z: any) => {
139
+ re: number;
140
+ im: number;
141
+ };
142
+ casec: (z: any) => {
143
+ re: number;
144
+ im: number;
145
+ };
146
+ cacsc: (z: any) => {
147
+ re: number;
148
+ im: number;
149
+ };
150
+ cacoth: (z: any) => {
151
+ re: number;
152
+ im: number;
153
+ };
154
+ casech: (z: any) => {
155
+ re: number;
156
+ im: number;
157
+ };
158
+ cacsch: (z: any) => {
159
+ re: number;
160
+ im: number;
161
+ };
162
+ cabs: (z: any) => any;
163
+ carg: (z: any) => any;
164
+ cconj: (z: any) => {
165
+ re: number;
166
+ im: number;
167
+ };
168
+ cneg: (z: any) => {
169
+ re: number;
170
+ im: number;
171
+ };
30
172
  };
31
173
  constructor(body: string, preamble?: string);
32
174
  }
@@ -35,10 +177,21 @@ export declare class ComputeEngineFunction extends Function {
35
177
  */
36
178
  export declare class ComputeEngineFunctionLiteral extends Function {
37
179
  SYS: {
180
+ color(input: string): number[];
181
+ colorToString(input: string | number[], format?: string): string;
182
+ colorMix(input1: string | number[], input2: string | number[], ratio?: number): number[];
183
+ colorContrast(bg: string | number[], fg: string | number[]): number;
184
+ contrastingColor(bg: string | number[], fg1?: string | number[], fg2?: string | number[]): number[];
185
+ colorToColorspace(input: string | number[], space: string): number[];
186
+ colormap(name: string, arg?: number): number[] | number[][];
187
+ _interpolatePalette(colors: [number, number, number][], t: number): number[];
188
+ colorFromColorspace(components: number[], space: string): number[];
38
189
  chop: typeof chop;
39
190
  factorial: typeof factorial;
191
+ factorial2: typeof factorial2;
40
192
  gamma: typeof gamma;
41
193
  gcd: typeof gcd;
194
+ heaviside: (x: number) => 0 | 1 | 0.5;
42
195
  integrate: (f: any, a: any, b: any) => number;
43
196
  lcm: typeof lcm;
44
197
  lngamma: typeof gammaln;
@@ -54,6 +207,136 @@ export declare class ComputeEngineFunctionLiteral extends Function {
54
207
  mode: typeof mode;
55
208
  quartiles: typeof quartiles;
56
209
  interquartileRange: typeof interquartileRange;
210
+ erf: typeof erf;
211
+ erfc: typeof erfc;
212
+ erfInv: typeof erfInv;
213
+ beta: typeof beta;
214
+ digamma: typeof digamma;
215
+ trigamma: typeof trigamma;
216
+ polygamma: typeof polygamma;
217
+ zeta: typeof zeta;
218
+ lambertW: typeof lambertW;
219
+ besselJ: typeof besselJ;
220
+ besselY: typeof besselY;
221
+ besselI: typeof besselI;
222
+ besselK: typeof besselK;
223
+ airyAi: typeof airyAi;
224
+ airyBi: typeof airyBi;
225
+ sinc: typeof sinc;
226
+ fresnelS: typeof fresnelS;
227
+ fresnelC: typeof fresnelC;
228
+ binomial: typeof choose;
229
+ fibonacci: typeof fibonacci;
230
+ csin: (z: any) => {
231
+ re: number;
232
+ im: number;
233
+ };
234
+ ccos: (z: any) => {
235
+ re: number;
236
+ im: number;
237
+ };
238
+ ctan: (z: any) => {
239
+ re: number;
240
+ im: number;
241
+ };
242
+ casin: (z: any) => {
243
+ re: number;
244
+ im: number;
245
+ };
246
+ cacos: (z: any) => {
247
+ re: number;
248
+ im: number;
249
+ };
250
+ catan: (z: any) => {
251
+ re: number;
252
+ im: number;
253
+ };
254
+ csinh: (z: any) => {
255
+ re: number;
256
+ im: number;
257
+ };
258
+ ccosh: (z: any) => {
259
+ re: number;
260
+ im: number;
261
+ };
262
+ ctanh: (z: any) => {
263
+ re: number;
264
+ im: number;
265
+ };
266
+ csqrt: (z: any) => {
267
+ re: number;
268
+ im: number;
269
+ };
270
+ cexp: (z: any) => {
271
+ re: number;
272
+ im: number;
273
+ };
274
+ cln: (z: any) => {
275
+ re: number;
276
+ im: number;
277
+ };
278
+ cpow: (z: any, w: any) => {
279
+ re: number;
280
+ im: number;
281
+ };
282
+ ccot: (z: any) => {
283
+ re: number;
284
+ im: number;
285
+ };
286
+ csec: (z: any) => {
287
+ re: number;
288
+ im: number;
289
+ };
290
+ ccsc: (z: any) => {
291
+ re: number;
292
+ im: number;
293
+ };
294
+ ccoth: (z: any) => {
295
+ re: number;
296
+ im: number;
297
+ };
298
+ csech: (z: any) => {
299
+ re: number;
300
+ im: number;
301
+ };
302
+ ccsch: (z: any) => {
303
+ re: number;
304
+ im: number;
305
+ };
306
+ cacot: (z: any) => {
307
+ re: number;
308
+ im: number;
309
+ };
310
+ casec: (z: any) => {
311
+ re: number;
312
+ im: number;
313
+ };
314
+ cacsc: (z: any) => {
315
+ re: number;
316
+ im: number;
317
+ };
318
+ cacoth: (z: any) => {
319
+ re: number;
320
+ im: number;
321
+ };
322
+ casech: (z: any) => {
323
+ re: number;
324
+ im: number;
325
+ };
326
+ cacsch: (z: any) => {
327
+ re: number;
328
+ im: number;
329
+ };
330
+ cabs: (z: any) => any;
331
+ carg: (z: any) => any;
332
+ cconj: (z: any) => {
333
+ re: number;
334
+ im: number;
335
+ };
336
+ cneg: (z: any) => {
337
+ re: number;
338
+ im: number;
339
+ };
57
340
  };
58
341
  constructor(body: string, args: string[]);
59
342
  }
@@ -66,3 +349,8 @@ export declare class JavaScriptTarget implements LanguageTarget<Expression> {
66
349
  createTarget(options?: Partial<CompileTarget<Expression>>): CompileTarget<Expression>;
67
350
  compile(expr: Expression, options?: CompilationOptions<Expression>): CompilationResult;
68
351
  }
352
+ /**
353
+ * Compute the nth Fibonacci number using iterative doubling.
354
+ */
355
+ declare function fibonacci(n: number): number;
356
+ export {};
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.1 */
2
2
  import type { CompileTarget, CompiledOperators, CompiledFunctions, LanguageTarget, CompilationOptions, CompilationResult } from './types';
3
3
  /**
4
4
  * Python/NumPy language target implementation
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.1 */
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 */
@@ -129,6 +132,15 @@ export interface CompilationOptions<Expr = unknown> {
129
132
  imports?: unknown[];
130
133
  /** Additional preamble code */
131
134
  preamble?: string;
135
+ /**
136
+ * When true, complex results (`{ re, im }`) are converted to real numbers:
137
+ * - If the imaginary part is zero, the real part is returned
138
+ * - Otherwise, `NaN` is returned
139
+ *
140
+ * This avoids object allocations for callers that only need real-valued
141
+ * results (e.g., plotting).
142
+ */
143
+ realOnly?: boolean;
132
144
  }
133
145
  /**
134
146
  * Result of compiling an expression
@@ -151,6 +163,21 @@ export interface CompilationResult {
151
163
  * target's `compileShaderFunction()` method directly.
152
164
  */
153
165
  preamble?: string;
154
- /** Executable function (present for JS-executable targets only) */
155
- run?: (...args: number[]) => number;
166
+ /**
167
+ * Executable function (present for JS-executable targets only).
168
+ *
169
+ * For plain expressions, call with a vars object:
170
+ * ```typescript
171
+ * result.run({ x: 0.5 })
172
+ * ```
173
+ *
174
+ * For `Function` (lambda) expressions, call with positional arguments:
175
+ * ```typescript
176
+ * result.run(0.5)
177
+ * ```
178
+ */
179
+ run?: (...args: unknown[]) => number | {
180
+ re: number;
181
+ im: number;
182
+ };
156
183
  }
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.1 */
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.1 */
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.1 */
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.1 */
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.1 */
2
2
  export type CommonSymbolTable = {
3
3
  [symbol: string]: null | Expression;
4
4
  };
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.1 */
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.1 */
2
2
  type ResetHooks = {
3
3
  refreshNumericConstants: () => void;
4
4
  resetCommonSymbols: () => void;
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.1 */
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.1 */
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.1 */
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.1 */
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.1 */
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.1 */
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.1 */
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.1 */
2
2
  private _timeLimit;
3
3
  private _iterationLimit;
4
4
  private _recursionLimit;
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.1 */
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.1 */
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.1 */
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.1 */
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.1 */
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.1 */
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.1 */
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,20 @@ 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 box(expr: ExpressionInput): Expression;
11
+ export declare function simplify(expr: LatexString | ExpressionInput): Expression;
12
+ export declare function evaluate(expr: LatexString | ExpressionInput): Expression;
13
+ export declare function N(expr: LatexString | ExpressionInput): Expression;
14
+ export declare function declare(id: string, def: Type | TypeString | Partial<SymbolDefinition>): void;
15
+ export declare function declare(symbols: {
16
+ [id: string]: Type | TypeString | Partial<SymbolDefinition>;
17
+ }): void;
12
18
  export declare function assign(id: string, value: AssignValue): void;
13
19
  export declare function assign(ids: {
14
20
  [id: string]: AssignValue;
15
21
  }): 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>;
22
+ export declare function expand(expr: LatexString | ExpressionInput): Expression | null;
23
+ export declare function solve(expr: LatexString | ExpressionInput, vars?: string | Iterable<string> | Expression | Iterable<Expression>): null | ReadonlyArray<Expression> | Record<string, Expression> | Array<Record<string, Expression>>;
24
+ export declare function expandAll(expr: LatexString | ExpressionInput): Expression | null;
25
+ export declare function factor(expr: LatexString | ExpressionInput): Expression;
26
+ 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.1 */
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.1 */
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.1 */
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, box, 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.1 */
2
2
  * Basic interval arithmetic operations
3
3
  *
4
4
  * @module interval/arithmetic
@@ -1,4 +1,4 @@
1
- /* 0.50.2 */
1
+ /* 0.51.1 */
2
2
  * Comparison and conditional interval operations
3
3
  *
4
4
  * @module interval/comparison