@cortex-js/compute-engine 0.35.4 → 0.35.5

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 (177) hide show
  1. package/dist/compute-engine.esm.js +103 -29
  2. package/dist/compute-engine.min.esm.js +28 -28
  3. package/dist/compute-engine.min.umd.js +28 -28
  4. package/dist/compute-engine.umd.js +103 -29
  5. package/dist/math-json.esm.js +2 -2
  6. package/dist/math-json.min.esm.js +2 -2
  7. package/dist/math-json.min.umd.js +2 -2
  8. package/dist/math-json.umd.js +2 -2
  9. package/dist/types/common/ansi-codes.d.ts +1 -1
  10. package/dist/types/common/configuration-change.d.ts +1 -1
  11. package/dist/types/common/fuzzy-string-match.d.ts +1 -1
  12. package/dist/types/common/grapheme-splitter.d.ts +1 -1
  13. package/dist/types/common/interruptible.d.ts +1 -1
  14. package/dist/types/common/one-of.d.ts +1 -1
  15. package/dist/types/common/signals.d.ts +1 -1
  16. package/dist/types/common/type/ast-nodes.d.ts +1 -1
  17. package/dist/types/common/type/boxed-type.d.ts +1 -1
  18. package/dist/types/common/type/lexer.d.ts +1 -1
  19. package/dist/types/common/type/parse.d.ts +1 -1
  20. package/dist/types/common/type/parser.d.ts +1 -1
  21. package/dist/types/common/type/primitive.d.ts +1 -1
  22. package/dist/types/common/type/reduce.d.ts +1 -1
  23. package/dist/types/common/type/serialize.d.ts +1 -1
  24. package/dist/types/common/type/subtype.d.ts +1 -1
  25. package/dist/types/common/type/type-builder.d.ts +1 -1
  26. package/dist/types/common/type/types.d.ts +1 -1
  27. package/dist/types/common/type/utils.d.ts +1 -1
  28. package/dist/types/common/utils.d.ts +1 -1
  29. package/dist/types/compute-engine/assume.d.ts +1 -1
  30. package/dist/types/compute-engine/boxed-expression/abstract-boxed-expression.d.ts +1 -1
  31. package/dist/types/compute-engine/boxed-expression/apply.d.ts +1 -1
  32. package/dist/types/compute-engine/boxed-expression/arithmetic-add.d.ts +1 -1
  33. package/dist/types/compute-engine/boxed-expression/arithmetic-mul-div.d.ts +1 -1
  34. package/dist/types/compute-engine/boxed-expression/arithmetic-power.d.ts +1 -1
  35. package/dist/types/compute-engine/boxed-expression/ascii-math.d.ts +1 -1
  36. package/dist/types/compute-engine/boxed-expression/box.d.ts +1 -1
  37. package/dist/types/compute-engine/boxed-expression/boxed-dictionary.d.ts +1 -1
  38. package/dist/types/compute-engine/boxed-expression/boxed-function.d.ts +1 -1
  39. package/dist/types/compute-engine/boxed-expression/boxed-number.d.ts +1 -1
  40. package/dist/types/compute-engine/boxed-expression/boxed-operator-definition.d.ts +1 -1
  41. package/dist/types/compute-engine/boxed-expression/boxed-patterns.d.ts +1 -1
  42. package/dist/types/compute-engine/boxed-expression/boxed-string.d.ts +1 -1
  43. package/dist/types/compute-engine/boxed-expression/boxed-symbol.d.ts +1 -1
  44. package/dist/types/compute-engine/boxed-expression/boxed-tensor.d.ts +1 -1
  45. package/dist/types/compute-engine/boxed-expression/boxed-value-definition.d.ts +1 -1
  46. package/dist/types/compute-engine/boxed-expression/cache.d.ts +1 -1
  47. package/dist/types/compute-engine/boxed-expression/canonical-utils.d.ts +1 -1
  48. package/dist/types/compute-engine/boxed-expression/canonical.d.ts +1 -1
  49. package/dist/types/compute-engine/boxed-expression/compare.d.ts +1 -1
  50. package/dist/types/compute-engine/boxed-expression/expand.d.ts +1 -1
  51. package/dist/types/compute-engine/boxed-expression/expression-map.d.ts +1 -1
  52. package/dist/types/compute-engine/boxed-expression/factor.d.ts +1 -1
  53. package/dist/types/compute-engine/boxed-expression/flatten.d.ts +1 -1
  54. package/dist/types/compute-engine/boxed-expression/hold.d.ts +1 -1
  55. package/dist/types/compute-engine/boxed-expression/match.d.ts +1 -1
  56. package/dist/types/compute-engine/boxed-expression/negate.d.ts +1 -1
  57. package/dist/types/compute-engine/boxed-expression/numerics.d.ts +1 -1
  58. package/dist/types/compute-engine/boxed-expression/order.d.ts +1 -1
  59. package/dist/types/compute-engine/boxed-expression/polynomials.d.ts +1 -1
  60. package/dist/types/compute-engine/boxed-expression/product.d.ts +1 -1
  61. package/dist/types/compute-engine/boxed-expression/rules.d.ts +1 -1
  62. package/dist/types/compute-engine/boxed-expression/serialize.d.ts +1 -1
  63. package/dist/types/compute-engine/boxed-expression/sgn.d.ts +1 -1
  64. package/dist/types/compute-engine/boxed-expression/simplify.d.ts +1 -1
  65. package/dist/types/compute-engine/boxed-expression/solve-linear-system.d.ts +1 -1
  66. package/dist/types/compute-engine/boxed-expression/solve.d.ts +1 -1
  67. package/dist/types/compute-engine/boxed-expression/terms.d.ts +1 -1
  68. package/dist/types/compute-engine/boxed-expression/trigonometry.d.ts +1 -1
  69. package/dist/types/compute-engine/boxed-expression/utils.d.ts +1 -1
  70. package/dist/types/compute-engine/boxed-expression/validate.d.ts +1 -1
  71. package/dist/types/compute-engine/collection-utils.d.ts +1 -1
  72. package/dist/types/compute-engine/compilation/base-compiler.d.ts +1 -1
  73. package/dist/types/compute-engine/compilation/glsl-target.d.ts +1 -1
  74. package/dist/types/compute-engine/compilation/interval-glsl-target.d.ts +1 -1
  75. package/dist/types/compute-engine/compilation/interval-javascript-target.d.ts +1 -1
  76. package/dist/types/compute-engine/compilation/javascript-target.d.ts +1 -1
  77. package/dist/types/compute-engine/compilation/types.d.ts +1 -1
  78. package/dist/types/compute-engine/cost-function.d.ts +1 -1
  79. package/dist/types/compute-engine/function-utils.d.ts +1 -1
  80. package/dist/types/compute-engine/global-types.d.ts +1 -1
  81. package/dist/types/compute-engine/index.d.ts +1 -1
  82. package/dist/types/compute-engine/interval/arithmetic.d.ts +1 -1
  83. package/dist/types/compute-engine/interval/comparison.d.ts +1 -1
  84. package/dist/types/compute-engine/interval/elementary.d.ts +1 -1
  85. package/dist/types/compute-engine/interval/index.d.ts +1 -1
  86. package/dist/types/compute-engine/interval/trigonometric.d.ts +1 -1
  87. package/dist/types/compute-engine/interval/types.d.ts +1 -1
  88. package/dist/types/compute-engine/interval/util.d.ts +1 -1
  89. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-algebra.d.ts +1 -1
  90. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-arithmetic.d.ts +1 -1
  91. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-calculus.d.ts +1 -1
  92. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-complex.d.ts +1 -1
  93. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-core.d.ts +1 -1
  94. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-linear-algebra.d.ts +1 -1
  95. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-logic.d.ts +1 -1
  96. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-other.d.ts +1 -1
  97. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-relational-operators.d.ts +1 -1
  98. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-sets.d.ts +1 -1
  99. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-statistics.d.ts +1 -1
  100. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-symbols.d.ts +1 -1
  101. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-trigonometry.d.ts +1 -1
  102. package/dist/types/compute-engine/latex-syntax/dictionary/definitions.d.ts +1 -1
  103. package/dist/types/compute-engine/latex-syntax/parse-symbol.d.ts +1 -1
  104. package/dist/types/compute-engine/latex-syntax/parse.d.ts +1 -1
  105. package/dist/types/compute-engine/latex-syntax/serialize-number.d.ts +1 -1
  106. package/dist/types/compute-engine/latex-syntax/serializer-style.d.ts +1 -1
  107. package/dist/types/compute-engine/latex-syntax/serializer.d.ts +1 -1
  108. package/dist/types/compute-engine/latex-syntax/tokenizer.d.ts +1 -1
  109. package/dist/types/compute-engine/latex-syntax/types.d.ts +1 -1
  110. package/dist/types/compute-engine/latex-syntax/utils.d.ts +1 -1
  111. package/dist/types/compute-engine/library/arithmetic.d.ts +1 -1
  112. package/dist/types/compute-engine/library/calculus.d.ts +1 -1
  113. package/dist/types/compute-engine/library/collections.d.ts +1 -1
  114. package/dist/types/compute-engine/library/combinatorics.d.ts +1 -1
  115. package/dist/types/compute-engine/library/complex.d.ts +1 -1
  116. package/dist/types/compute-engine/library/control-structures.d.ts +1 -1
  117. package/dist/types/compute-engine/library/core.d.ts +1 -1
  118. package/dist/types/compute-engine/library/invisible-operator.d.ts +1 -1
  119. package/dist/types/compute-engine/library/library.d.ts +1 -1
  120. package/dist/types/compute-engine/library/linear-algebra.d.ts +1 -1
  121. package/dist/types/compute-engine/library/logic-analysis.d.ts +1 -1
  122. package/dist/types/compute-engine/library/logic-utils.d.ts +1 -1
  123. package/dist/types/compute-engine/library/logic.d.ts +1 -1
  124. package/dist/types/compute-engine/library/number-theory.d.ts +1 -1
  125. package/dist/types/compute-engine/library/polynomials.d.ts +1 -1
  126. package/dist/types/compute-engine/library/random-expression.d.ts +1 -1
  127. package/dist/types/compute-engine/library/relational-operator.d.ts +1 -1
  128. package/dist/types/compute-engine/library/sets.d.ts +1 -1
  129. package/dist/types/compute-engine/library/statistics.d.ts +1 -1
  130. package/dist/types/compute-engine/library/trigonometry.d.ts +1 -1
  131. package/dist/types/compute-engine/library/utils.d.ts +1 -1
  132. package/dist/types/compute-engine/numeric-value/big-numeric-value.d.ts +1 -1
  133. package/dist/types/compute-engine/numeric-value/exact-numeric-value.d.ts +1 -1
  134. package/dist/types/compute-engine/numeric-value/machine-numeric-value.d.ts +1 -1
  135. package/dist/types/compute-engine/numeric-value/types.d.ts +1 -1
  136. package/dist/types/compute-engine/numerics/bigint.d.ts +1 -1
  137. package/dist/types/compute-engine/numerics/expression.d.ts +1 -1
  138. package/dist/types/compute-engine/numerics/interval.d.ts +1 -1
  139. package/dist/types/compute-engine/numerics/monte-carlo.d.ts +1 -1
  140. package/dist/types/compute-engine/numerics/numeric-bigint.d.ts +1 -1
  141. package/dist/types/compute-engine/numerics/numeric-bignum.d.ts +1 -1
  142. package/dist/types/compute-engine/numerics/numeric-complex.d.ts +1 -1
  143. package/dist/types/compute-engine/numerics/numeric.d.ts +1 -1
  144. package/dist/types/compute-engine/numerics/primes.d.ts +1 -1
  145. package/dist/types/compute-engine/numerics/rationals.d.ts +1 -1
  146. package/dist/types/compute-engine/numerics/richardson.d.ts +1 -1
  147. package/dist/types/compute-engine/numerics/special-functions.d.ts +1 -1
  148. package/dist/types/compute-engine/numerics/statistics.d.ts +1 -1
  149. package/dist/types/compute-engine/numerics/strings.d.ts +1 -1
  150. package/dist/types/compute-engine/numerics/types.d.ts +1 -1
  151. package/dist/types/compute-engine/oeis.d.ts +1 -1
  152. package/dist/types/compute-engine/sequence.d.ts +1 -1
  153. package/dist/types/compute-engine/symbolic/antiderivative.d.ts +1 -1
  154. package/dist/types/compute-engine/symbolic/derivative.d.ts +1 -1
  155. package/dist/types/compute-engine/symbolic/distribute.d.ts +1 -1
  156. package/dist/types/compute-engine/symbolic/fu-cost.d.ts +1 -1
  157. package/dist/types/compute-engine/symbolic/fu-transforms.d.ts +1 -1
  158. package/dist/types/compute-engine/symbolic/fu.d.ts +1 -1
  159. package/dist/types/compute-engine/symbolic/simplify-abs.d.ts +1 -1
  160. package/dist/types/compute-engine/symbolic/simplify-divide.d.ts +1 -1
  161. package/dist/types/compute-engine/symbolic/simplify-hyperbolic.d.ts +1 -1
  162. package/dist/types/compute-engine/symbolic/simplify-infinity.d.ts +1 -1
  163. package/dist/types/compute-engine/symbolic/simplify-log.d.ts +1 -1
  164. package/dist/types/compute-engine/symbolic/simplify-power.d.ts +1 -1
  165. package/dist/types/compute-engine/symbolic/simplify-product.d.ts +1 -1
  166. package/dist/types/compute-engine/symbolic/simplify-rules.d.ts +1 -1
  167. package/dist/types/compute-engine/symbolic/simplify-sum.d.ts +1 -1
  168. package/dist/types/compute-engine/symbolic/simplify-trig.d.ts +1 -1
  169. package/dist/types/compute-engine/tensor/tensor-fields.d.ts +1 -1
  170. package/dist/types/compute-engine/tensor/tensors.d.ts +1 -1
  171. package/dist/types/compute-engine/types.d.ts +1 -1
  172. package/dist/types/compute-engine.d.ts +1 -1
  173. package/dist/types/math-json/symbols.d.ts +1 -1
  174. package/dist/types/math-json/types.d.ts +1 -1
  175. package/dist/types/math-json/utils.d.ts +1 -1
  176. package/dist/types/math-json.d.ts +2 -2
  177. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- /** Compute Engine 0.35.4 */
1
+ /** Compute Engine 0.35.5 */
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -23824,7 +23824,8 @@ function typeCouldBeCollection(type2) {
23824
23824
  }
23825
23825
  if (type2.kind === "list" || type2.kind === "set" || type2.kind === "tuple")
23826
23826
  return true;
23827
- if (type2.kind === "union") return type2.types.some((t) => typeCouldBeCollection(t));
23827
+ if (type2.kind === "union")
23828
+ return type2.types.some((t) => typeCouldBeCollection(t));
23828
23829
  return false;
23829
23830
  }
23830
23831
  function typeCouldBeNumericCollection(type2) {
@@ -24632,6 +24633,16 @@ var init_arithmetic = __esm({
24632
24633
  return engine.function("Power", [engine.E, ...args]);
24633
24634
  }
24634
24635
  },
24636
+ Exp2: {
24637
+ description: "Base-2 exponential: 2^x",
24638
+ complexity: 3500,
24639
+ broadcastable: true,
24640
+ signature: "(number) -> number",
24641
+ canonical: (args, { engine }) => {
24642
+ args = checkNumericArgs(engine, args, 1);
24643
+ return engine.function("Power", [engine.number(2), ...args]);
24644
+ }
24645
+ },
24635
24646
  Factorial: {
24636
24647
  description: "Factorial function: the product of all positive integers less than or equal to n",
24637
24648
  wikidata: "Q120976",
@@ -24721,6 +24732,22 @@ var init_arithmetic = __esm({
24721
24732
  (z) => z.floor(0)
24722
24733
  )
24723
24734
  },
24735
+ Fract: {
24736
+ description: "Fractional part of a number: x - floor(x)",
24737
+ complexity: 1250,
24738
+ broadcastable: true,
24739
+ signature: "(number) -> number",
24740
+ sgn: ([x]) => {
24741
+ if (x.isNonNegative) return "non-negative";
24742
+ return void 0;
24743
+ },
24744
+ evaluate: ([x]) => apply(
24745
+ x,
24746
+ (x2) => x2 - Math.floor(x2),
24747
+ (x2) => x2.sub(x2.floor()),
24748
+ (z) => z.sub(z.floor(0))
24749
+ )
24750
+ },
24724
24751
  Gamma: {
24725
24752
  wikidata: "Q190573",
24726
24753
  complexity: 8e3,
@@ -24936,6 +24963,22 @@ var init_arithmetic = __esm({
24936
24963
  sgn: ([x]) => lnSign(x),
24937
24964
  canonical: ([x], { engine }) => engine._fn("Log", [x])
24938
24965
  },
24966
+ Log10: {
24967
+ description: "Base-10 Logarithm",
24968
+ complexity: 4100,
24969
+ broadcastable: true,
24970
+ signature: "(number) -> number",
24971
+ sgn: ([x]) => lnSign(x),
24972
+ canonical: ([x], { engine }) => engine._fn("Log", [x])
24973
+ },
24974
+ Log2: {
24975
+ description: "Base-2 Logarithm",
24976
+ complexity: 4100,
24977
+ broadcastable: true,
24978
+ signature: "(number) -> number",
24979
+ sgn: ([x]) => lnSign(x),
24980
+ canonical: ([x], { engine }) => engine._fn("Log", [x, engine.number(2)])
24981
+ },
24939
24982
  Mod: {
24940
24983
  description: "Modulo",
24941
24984
  wikidata: "Q1799665",
@@ -25178,6 +25221,18 @@ var init_arithmetic = __esm({
25178
25221
  },
25179
25222
  evaluate: ([x, n], { numericApproximation }) => root(x, n, { numericApproximation })
25180
25223
  },
25224
+ Remainder: {
25225
+ description: "IEEE remainder: the signed remainder after dividing x by y, with the quotient rounded to the nearest integer",
25226
+ complexity: 2500,
25227
+ broadcastable: true,
25228
+ signature: "(number, number) -> number",
25229
+ evaluate: ([a, b]) => apply2(
25230
+ a,
25231
+ b,
25232
+ (a2, b2) => a2 - b2 * Math.round(a2 / b2),
25233
+ (a2, b2) => a2.sub(b2.mul(a2.div(b2).round()))
25234
+ )
25235
+ },
25181
25236
  Round: {
25182
25237
  complexity: 1250,
25183
25238
  broadcastable: true,
@@ -25309,6 +25364,19 @@ var init_arithmetic = __esm({
25309
25364
  const rest = args.slice(1);
25310
25365
  return canonicalAdd(engine, [first, ...rest.map((x) => x.neg())]);
25311
25366
  }
25367
+ },
25368
+ Truncate: {
25369
+ description: "Rounds a number towards zero (removes the fractional part)",
25370
+ complexity: 1250,
25371
+ broadcastable: true,
25372
+ signature: "(number) -> integer",
25373
+ sgn: ([x]) => x.sgn,
25374
+ evaluate: ([x]) => apply(
25375
+ x,
25376
+ Math.trunc,
25377
+ (x2) => x2.trunc(),
25378
+ (z) => z.trunc(0)
25379
+ )
25312
25380
  }
25313
25381
  },
25314
25382
  {
@@ -32603,7 +32671,7 @@ var DERIVATIVES_TABLE = {
32603
32671
  ]
32604
32672
  ],
32605
32673
  // d/dx ln(Γ(x)) = ψ(x) (digamma function)
32606
- LogGamma: ["Digamma", "_"],
32674
+ GammaLn: ["Digamma", "_"],
32607
32675
  // d/dx ψ(x) = ψ₁(x) (trigamma function)
32608
32676
  // https://en.wikipedia.org/wiki/Trigamma_function
32609
32677
  Digamma: ["Trigamma", "_"],
@@ -35595,8 +35663,7 @@ function numberForm(expr) {
35595
35663
  function multiplyForm(expr) {
35596
35664
  if (!expr.ops) return expr;
35597
35665
  const ops = expr.ops.map(multiplyForm);
35598
- if (expr.operator === "Multiply")
35599
- return canonicalMultiply(expr.engine, ops);
35666
+ if (expr.operator === "Multiply") return canonicalMultiply(expr.engine, ops);
35600
35667
  if (expr.operator === "Negate")
35601
35668
  return canonicalMultiply(expr.engine, [ops[0], expr.engine.NegativeOne]);
35602
35669
  return expr;
@@ -45969,7 +46036,8 @@ var BoxedFunction = class extends _BoxedExpression {
45969
46036
  return this.numeratorDenominator[1];
45970
46037
  }
45971
46038
  get numeratorDenominator() {
45972
- if (!(this.isCanonical || this.isStructural)) return [this, this.engine.One];
46039
+ if (!(this.isCanonical || this.isStructural))
46040
+ return [this, this.engine.One];
45973
46041
  if (this.isNumber !== true)
45974
46042
  return [this.engine.Nothing, this.engine.Nothing];
45975
46043
  const operator2 = this.operator;
@@ -46007,11 +46075,13 @@ var BoxedFunction = class extends _BoxedExpression {
46007
46075
  // ALGEBRAIC OPERATIONS
46008
46076
  //
46009
46077
  neg() {
46010
- if (!(this.isCanonical || this.isStructural)) throw new Error("Not canonical");
46078
+ if (!(this.isCanonical || this.isStructural))
46079
+ throw new Error("Not canonical");
46011
46080
  return negate(this);
46012
46081
  }
46013
46082
  inv() {
46014
- if (!(this.isCanonical || this.isStructural)) throw new Error("Not canonical");
46083
+ if (!(this.isCanonical || this.isStructural))
46084
+ throw new Error("Not canonical");
46015
46085
  if (this.isOne) return this;
46016
46086
  if (this.isNegativeOne) return this;
46017
46087
  if (this.operator === "Sqrt") return this.op1.inv().sqrt();
@@ -46032,7 +46102,8 @@ var BoxedFunction = class extends _BoxedExpression {
46032
46102
  return this.engine._fn("Divide", [this.engine.One, this]);
46033
46103
  }
46034
46104
  abs() {
46035
- if (!(this.isCanonical || this.isStructural)) throw new Error("Not canonical");
46105
+ if (!(this.isCanonical || this.isStructural))
46106
+ throw new Error("Not canonical");
46036
46107
  if (this.operator === "Abs" || this.operator === "Negate") return this;
46037
46108
  if (this.isNonNegative) return this;
46038
46109
  if (this.isNonPositive) return this.neg();
@@ -46040,11 +46111,13 @@ var BoxedFunction = class extends _BoxedExpression {
46040
46111
  }
46041
46112
  add(rhs) {
46042
46113
  if (rhs === 0) return this;
46043
- if (!(this.isCanonical || this.isStructural)) throw new Error("Not canonical");
46114
+ if (!(this.isCanonical || this.isStructural))
46115
+ throw new Error("Not canonical");
46044
46116
  return add3(this, this.engine.box(rhs));
46045
46117
  }
46046
46118
  mul(rhs) {
46047
- if (!(this.isCanonical || this.isStructural)) throw new Error("Not canonical");
46119
+ if (!(this.isCanonical || this.isStructural))
46120
+ throw new Error("Not canonical");
46048
46121
  if (rhs === 0) return this.engine.Zero;
46049
46122
  if (rhs === 1) return this;
46050
46123
  if (rhs === -1) return this.neg();
@@ -46056,7 +46129,8 @@ var BoxedFunction = class extends _BoxedExpression {
46056
46129
  return mul3(this, this.engine.box(rhs));
46057
46130
  }
46058
46131
  div(rhs) {
46059
- if (!(this.isCanonical || this.isStructural)) throw new Error("Not canonical");
46132
+ if (!(this.isCanonical || this.isStructural))
46133
+ throw new Error("Not canonical");
46060
46134
  return div2(this, rhs);
46061
46135
  }
46062
46136
  pow(exp3) {
@@ -46122,7 +46196,8 @@ var BoxedFunction = class extends _BoxedExpression {
46122
46196
  }
46123
46197
  ln(semiBase) {
46124
46198
  const base = semiBase ? this.engine.box(semiBase) : void 0;
46125
- if (!(this.isCanonical || this.isStructural)) throw new Error("Not canonical");
46199
+ if (!(this.isCanonical || this.isStructural))
46200
+ throw new Error("Not canonical");
46126
46201
  if (this.is(0)) return this.engine.NegativeInfinity;
46127
46202
  if (this.operator === "Exp") {
46128
46203
  if (!base) return this.op1;
@@ -51457,7 +51532,7 @@ var JAVASCRIPT_FUNCTIONS = {
51457
51532
  Arsinh: "Math.asinh",
51458
51533
  Arctan: "Math.atan",
51459
51534
  Artanh: "Math.atanh",
51460
- Ceiling: "Math.ceil",
51535
+ Ceil: "Math.ceil",
51461
51536
  Chop: "_SYS.chop",
51462
51537
  Cos: "Math.cos",
51463
51538
  Cosh: "Math.cosh",
@@ -51487,10 +51562,7 @@ var JAVASCRIPT_FUNCTIONS = {
51487
51562
  Floor: "Math.floor",
51488
51563
  Fract: ([x], compile) => {
51489
51564
  if (x === null) throw new Error("Fract: no argument");
51490
- return BaseCompiler.inlineExpression(
51491
- "${x} - Math.floor(${x})",
51492
- compile(x)
51493
- );
51565
+ return BaseCompiler.inlineExpression("${x} - Math.floor(${x})", compile(x));
51494
51566
  },
51495
51567
  Gamma: "_SYS.gamma",
51496
51568
  GCD: "_SYS.gcd",
@@ -51503,7 +51575,7 @@ var JAVASCRIPT_FUNCTIONS = {
51503
51575
  if (args.length === 1) return `Math.log10(${compile(args[0])})`;
51504
51576
  return `(Math.log(${compile(args[0])}) / Math.log(${compile(args[1])}))`;
51505
51577
  },
51506
- LogGamma: "_SYS.lngamma",
51578
+ GammaLn: "_SYS.lngamma",
51507
51579
  Lb: "Math.log2",
51508
51580
  Max: "Math.max",
51509
51581
  Mean: (args, compile) => {
@@ -51632,7 +51704,7 @@ var JAVASCRIPT_FUNCTIONS = {
51632
51704
  if (arg === null) throw new Error("Sech: no argument");
51633
51705
  return `1 / Math.cosh(${compile(arg)})`;
51634
51706
  },
51635
- Sgn: "Math.sign",
51707
+ Sign: "Math.sign",
51636
51708
  Sin: "Math.sin",
51637
51709
  Sinh: "Math.sinh",
51638
51710
  Sqrt: "Math.sqrt",
@@ -51900,7 +51972,7 @@ var GLSL_FUNCTIONS = {
51900
51972
  Arccos: "acos",
51901
51973
  Arcsin: "asin",
51902
51974
  Arctan: "atan",
51903
- Ceiling: "ceil",
51975
+ Ceil: "ceil",
51904
51976
  Clamp: "clamp",
51905
51977
  Cos: "cos",
51906
51978
  Degrees: "degrees",
@@ -51988,7 +52060,7 @@ var GLSL_FUNCTIONS = {
51988
52060
  return `acosh(1.0 / (${compile(x)}))`;
51989
52061
  },
51990
52062
  // Additional math functions
51991
- Sgn: "sign",
52063
+ // Sign is already registered in the standard functions above
51992
52064
  Lb: "log2",
51993
52065
  Log: (args, compile) => {
51994
52066
  if (args.length === 0) throw new Error("Log: no argument");
@@ -52611,7 +52683,9 @@ function mod2(a, b) {
52611
52683
  if (containsZero(bVal)) {
52612
52684
  return { kind: "singular" };
52613
52685
  }
52614
- const period = Math.abs(bVal.lo === bVal.hi ? bVal.lo : Math.max(Math.abs(bVal.lo), Math.abs(bVal.hi)));
52686
+ const period = Math.abs(
52687
+ bVal.lo === bVal.hi ? bVal.lo : Math.max(Math.abs(bVal.lo), Math.abs(bVal.hi))
52688
+ );
52615
52689
  const flo = Math.floor(aVal.lo / period);
52616
52690
  const fhi = Math.floor(aVal.hi / period);
52617
52691
  if (flo !== fhi) {
@@ -53219,7 +53293,7 @@ var INTERVAL_JAVASCRIPT_FUNCTIONS = {
53219
53293
  Negate: (args, compile) => `_IA.negate(${compile(args[0])})`,
53220
53294
  // Elementary functions
53221
53295
  Abs: (args, compile) => `_IA.abs(${compile(args[0])})`,
53222
- Ceiling: (args, compile) => `_IA.ceil(${compile(args[0])})`,
53296
+ Ceil: (args, compile) => `_IA.ceil(${compile(args[0])})`,
53223
53297
  Exp: (args, compile) => `_IA.exp(${compile(args[0])})`,
53224
53298
  Floor: (args, compile) => `_IA.floor(${compile(args[0])})`,
53225
53299
  Ln: (args, compile) => `_IA.ln(${compile(args[0])})`,
@@ -53272,7 +53346,7 @@ var INTERVAL_JAVASCRIPT_FUNCTIONS = {
53272
53346
  return `_IA.powInterval(${compile(arg)}, _IA.div(_IA.point(1), ${compile(exp3)}))`;
53273
53347
  },
53274
53348
  Round: (args, compile) => `_IA.round(${compile(args[0])})`,
53275
- Sgn: (args, compile) => `_IA.sign(${compile(args[0])})`,
53349
+ Sign: (args, compile) => `_IA.sign(${compile(args[0])})`,
53276
53350
  Sqrt: (args, compile) => `_IA.sqrt(${compile(args[0])})`,
53277
53351
  Square: (args, compile) => `_IA.square(${compile(args[0])})`,
53278
53352
  // Trigonometric functions
@@ -54432,7 +54506,7 @@ var INTERVAL_GLSL_FUNCTIONS = {
54432
54506
  Negate: (args, compile) => `ia_negate(${compile(args[0])})`,
54433
54507
  // Elementary functions
54434
54508
  Abs: (args, compile) => `ia_abs(${compile(args[0])})`,
54435
- Ceiling: (args, compile) => `ia_ceil(${compile(args[0])})`,
54509
+ Ceil: (args, compile) => `ia_ceil(${compile(args[0])})`,
54436
54510
  Exp: (args, compile) => `ia_exp(${compile(args[0])})`,
54437
54511
  Floor: (args, compile) => `ia_floor(${compile(args[0])})`,
54438
54512
  Fract: (args, compile) => `ia_fract(${compile(args[0])})`,
@@ -54471,7 +54545,7 @@ var INTERVAL_GLSL_FUNCTIONS = {
54471
54545
  throw new Error("Interval GLSL does not support variable exponents");
54472
54546
  },
54473
54547
  Round: (args, compile) => `ia_round(${compile(args[0])})`,
54474
- Sgn: (args, compile) => `ia_sign(${compile(args[0])})`,
54548
+ Sign: (args, compile) => `ia_sign(${compile(args[0])})`,
54475
54549
  Sqrt: (args, compile) => `ia_sqrt(${compile(args[0])})`,
54476
54550
  Square: (args, compile) => `ia_square(${compile(args[0])})`,
54477
54551
  // Trigonometric functions
@@ -56412,10 +56486,10 @@ function defToString(name, def, v) {
56412
56486
  // src/compute-engine.ts
56413
56487
  init_types6();
56414
56488
  init_base_compiler();
56415
- var version = "0.35.4";
56489
+ var version = "0.35.5";
56416
56490
  globalThis[Symbol.for("io.cortexjs.compute-engine")] = {
56417
56491
  ComputeEngine: ComputeEngine.prototype.constructor,
56418
- version: "0.35.4"
56492
+ version: "0.35.5"
56419
56493
  };
56420
56494
  export {
56421
56495
  BaseCompiler,