@cortex-js/compute-engine 0.26.4 → 0.27.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 (142) hide show
  1. package/dist/compute-engine.esm.js +8291 -7913
  2. package/dist/compute-engine.js +8291 -7913
  3. package/dist/compute-engine.min.esm.js +45 -41
  4. package/dist/compute-engine.min.js +45 -41
  5. package/dist/math-json.esm.js +2 -2
  6. package/dist/math-json.js +2 -2
  7. package/dist/math-json.min.esm.js +2 -2
  8. package/dist/math-json.min.js +2 -2
  9. package/dist/types/common/ansi-codes.d.ts +1 -1
  10. package/dist/types/common/buffer.d.ts +1 -1
  11. package/dist/types/common/grapheme-splitter.d.ts +1 -1
  12. package/dist/types/common/interruptible.d.ts +20 -0
  13. package/dist/types/common/one-of.d.ts +1 -1
  14. package/dist/types/common/signals.d.ts +1 -1
  15. package/dist/types/common/styled-text.d.ts +1 -1
  16. package/dist/types/common/suggest.d.ts +1 -1
  17. package/dist/types/common/syntax-highlighter.d.ts +1 -1
  18. package/dist/types/common/terminal.d.ts +1 -1
  19. package/dist/types/common/type/parse.d.ts +1 -1
  20. package/dist/types/common/type/primitive.d.ts +1 -1
  21. package/dist/types/common/type/serialize.d.ts +1 -1
  22. package/dist/types/common/type/subtype.d.ts +1 -1
  23. package/dist/types/common/type/types.d.ts +1 -1
  24. package/dist/types/common/type/utils.d.ts +1 -1
  25. package/dist/types/common/utils.d.ts +1 -1
  26. package/dist/types/compute-engine/assume.d.ts +1 -1
  27. package/dist/types/compute-engine/boxed-expression/abstract-boxed-expression.d.ts +9 -4
  28. package/dist/types/compute-engine/boxed-expression/apply.d.ts +1 -1
  29. package/dist/types/compute-engine/boxed-expression/arithmetic-add.d.ts +1 -1
  30. package/dist/types/compute-engine/boxed-expression/arithmetic-divide.d.ts +1 -1
  31. package/dist/types/compute-engine/boxed-expression/arithmetic-multiply.d.ts +1 -1
  32. package/dist/types/compute-engine/boxed-expression/arithmetic-power.d.ts +1 -1
  33. package/dist/types/compute-engine/boxed-expression/ascii-math.d.ts +1 -1
  34. package/dist/types/compute-engine/boxed-expression/box.d.ts +1 -1
  35. package/dist/types/compute-engine/boxed-expression/boxed-function-definition.d.ts +5 -5
  36. package/dist/types/compute-engine/boxed-expression/boxed-function.d.ts +2 -2
  37. package/dist/types/compute-engine/boxed-expression/boxed-number.d.ts +2 -2
  38. package/dist/types/compute-engine/boxed-expression/boxed-patterns.d.ts +1 -1
  39. package/dist/types/compute-engine/boxed-expression/boxed-string.d.ts +1 -1
  40. package/dist/types/compute-engine/boxed-expression/boxed-symbol-definition.d.ts +1 -1
  41. package/dist/types/compute-engine/boxed-expression/boxed-symbol.d.ts +2 -2
  42. package/dist/types/compute-engine/boxed-expression/boxed-tensor.d.ts +2 -2
  43. package/dist/types/compute-engine/boxed-expression/cache.d.ts +1 -1
  44. package/dist/types/compute-engine/boxed-expression/canonical.d.ts +1 -1
  45. package/dist/types/compute-engine/boxed-expression/compare.d.ts +3 -3
  46. package/dist/types/compute-engine/boxed-expression/expand.d.ts +1 -1
  47. package/dist/types/compute-engine/boxed-expression/expression-map.d.ts +1 -1
  48. package/dist/types/compute-engine/boxed-expression/factor.d.ts +1 -1
  49. package/dist/types/compute-engine/boxed-expression/flatten.d.ts +1 -1
  50. package/dist/types/compute-engine/boxed-expression/hold.d.ts +1 -1
  51. package/dist/types/compute-engine/boxed-expression/match.d.ts +1 -1
  52. package/dist/types/compute-engine/boxed-expression/negate.d.ts +1 -1
  53. package/dist/types/compute-engine/boxed-expression/numerics.d.ts +1 -1
  54. package/dist/types/compute-engine/boxed-expression/order.d.ts +1 -1
  55. package/dist/types/compute-engine/boxed-expression/polynomials.d.ts +1 -1
  56. package/dist/types/compute-engine/boxed-expression/product.d.ts +1 -1
  57. package/dist/types/compute-engine/boxed-expression/public.d.ts +48 -13
  58. package/dist/types/compute-engine/boxed-expression/rules.d.ts +1 -1
  59. package/dist/types/compute-engine/boxed-expression/serialize.d.ts +1 -1
  60. package/dist/types/compute-engine/boxed-expression/sgn.d.ts +1 -1
  61. package/dist/types/compute-engine/boxed-expression/simplify.d.ts +1 -1
  62. package/dist/types/compute-engine/boxed-expression/solve.d.ts +1 -1
  63. package/dist/types/compute-engine/boxed-expression/tensor-fields.d.ts +1 -1
  64. package/dist/types/compute-engine/boxed-expression/terms.d.ts +1 -1
  65. package/dist/types/compute-engine/boxed-expression/trigonometry.d.ts +7 -1
  66. package/dist/types/compute-engine/boxed-expression/utils.d.ts +1 -1
  67. package/dist/types/compute-engine/boxed-expression/validate.d.ts +2 -2
  68. package/dist/types/compute-engine/collection-utils.d.ts +3 -1
  69. package/dist/types/compute-engine/compile.d.ts +9 -8
  70. package/dist/types/compute-engine/compute-engine.d.ts +5 -5
  71. package/dist/types/compute-engine/cost-function.d.ts +1 -1
  72. package/dist/types/compute-engine/debug.d.ts +3 -0
  73. package/dist/types/compute-engine/function-utils.d.ts +1 -1
  74. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-algebra.d.ts +1 -1
  75. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-arithmetic.d.ts +1 -1
  76. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-calculus.d.ts +1 -1
  77. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-complex.d.ts +1 -1
  78. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-core.d.ts +1 -1
  79. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-linear-algebra.d.ts +1 -1
  80. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-logic.d.ts +1 -1
  81. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-other.d.ts +1 -1
  82. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-relational-operators.d.ts +1 -1
  83. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-sets.d.ts +1 -1
  84. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-statistics.d.ts +1 -1
  85. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-symbols.d.ts +1 -1
  86. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-trigonometry.d.ts +1 -1
  87. package/dist/types/compute-engine/latex-syntax/dictionary/definitions.d.ts +1 -1
  88. package/dist/types/compute-engine/latex-syntax/parse-identifier.d.ts +1 -1
  89. package/dist/types/compute-engine/latex-syntax/parse.d.ts +1 -1
  90. package/dist/types/compute-engine/latex-syntax/public.d.ts +1 -1
  91. package/dist/types/compute-engine/latex-syntax/serialize-number.d.ts +1 -1
  92. package/dist/types/compute-engine/latex-syntax/serializer-style.d.ts +2 -1
  93. package/dist/types/compute-engine/latex-syntax/serializer.d.ts +3 -3
  94. package/dist/types/compute-engine/latex-syntax/tokenizer.d.ts +2 -2
  95. package/dist/types/compute-engine/library/arithmetic.d.ts +1 -1
  96. package/dist/types/compute-engine/library/calculus.d.ts +1 -1
  97. package/dist/types/compute-engine/library/collections.d.ts +1 -1
  98. package/dist/types/compute-engine/library/complex.d.ts +1 -1
  99. package/dist/types/compute-engine/library/control-structures.d.ts +1 -1
  100. package/dist/types/compute-engine/library/core.d.ts +1 -1
  101. package/dist/types/compute-engine/library/invisible-operator.d.ts +1 -1
  102. package/dist/types/compute-engine/library/library.d.ts +1 -1
  103. package/dist/types/compute-engine/library/linear-algebra.d.ts +1 -1
  104. package/dist/types/compute-engine/library/logic.d.ts +1 -1
  105. package/dist/types/compute-engine/library/polynomials.d.ts +1 -1
  106. package/dist/types/compute-engine/library/random-expression.d.ts +1 -1
  107. package/dist/types/compute-engine/library/relational-operator.d.ts +1 -1
  108. package/dist/types/compute-engine/library/sets.d.ts +1 -1
  109. package/dist/types/compute-engine/library/statistics.d.ts +1 -1
  110. package/dist/types/compute-engine/library/trigonometry.d.ts +1 -1
  111. package/dist/types/compute-engine/library/utils.d.ts +1 -1
  112. package/dist/types/compute-engine/numeric-value/big-numeric-value.d.ts +1 -1
  113. package/dist/types/compute-engine/numeric-value/exact-numeric-value.d.ts +1 -1
  114. package/dist/types/compute-engine/numeric-value/machine-numeric-value.d.ts +1 -1
  115. package/dist/types/compute-engine/numeric-value/public.d.ts +1 -1
  116. package/dist/types/compute-engine/numerics/bigint.d.ts +1 -1
  117. package/dist/types/compute-engine/numerics/bignum.d.ts +1 -1
  118. package/dist/types/compute-engine/numerics/expression.d.ts +1 -1
  119. package/dist/types/compute-engine/numerics/interval.d.ts +1 -1
  120. package/dist/types/compute-engine/numerics/monte-carlo.d.ts +1 -1
  121. package/dist/types/compute-engine/numerics/numeric-bigint.d.ts +9 -1
  122. package/dist/types/compute-engine/numerics/numeric-bignum.d.ts +1 -2
  123. package/dist/types/compute-engine/numerics/numeric-complex.d.ts +1 -1
  124. package/dist/types/compute-engine/numerics/numeric.d.ts +2 -3
  125. package/dist/types/compute-engine/numerics/primes.d.ts +1 -1
  126. package/dist/types/compute-engine/numerics/rationals.d.ts +1 -1
  127. package/dist/types/compute-engine/numerics/richardson.d.ts +1 -1
  128. package/dist/types/compute-engine/numerics/special-functions.d.ts +1 -1
  129. package/dist/types/compute-engine/numerics/statistics.d.ts +24 -0
  130. package/dist/types/compute-engine/numerics/strings.d.ts +1 -1
  131. package/dist/types/compute-engine/private.d.ts +29 -0
  132. package/dist/types/compute-engine/public.d.ts +1 -1
  133. package/dist/types/compute-engine/symbolic/derivative.d.ts +1 -1
  134. package/dist/types/compute-engine/symbolic/distribute.d.ts +1 -1
  135. package/dist/types/compute-engine/symbolic/simplify-rules.d.ts +1 -1
  136. package/dist/types/compute-engine/tensor/tensors.d.ts +2 -2
  137. package/dist/types/compute-engine.d.ts +2 -2
  138. package/dist/types/math-json/identifiers.d.ts +1 -1
  139. package/dist/types/math-json/types.d.ts +1 -1
  140. package/dist/types/math-json/utils.d.ts +1 -1
  141. package/dist/types/math-json.d.ts +2 -2
  142. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- /* 0.26.4 */
1
+ /* 0.27.0 */
2
2
  *
3
3
  * ## THEORY OF OPERATIONS
4
4
  *
@@ -1,2 +1,2 @@
1
- /* 0.26.4 */
1
+ /* 0.27.0 */
2
2
  export declare function bigint(a: Decimal | number | bigint | string): bigint | null;
@@ -1,4 +1,4 @@
1
- /* 0.26.4 */
1
+ /* 0.27.0 */
2
2
  export type BigNum = Decimal;
3
3
  export interface IBigNum {
4
4
  readonly _BIGNUM_NAN: BigNum;
@@ -1,4 +1,4 @@
1
- /* 0.26.4 */
1
+ /* 0.27.0 */
2
2
  export declare function bigintValue(expr: Expression | null | undefined): bigint | null;
3
3
  /** Output a shorthand if possible */
4
4
  export declare function numberToExpression(num: number | bigint, fractionalDigits?: string | number): Expression;
@@ -1,4 +1,4 @@
1
- /* 0.26.4 */
1
+ /* 0.27.0 */
2
2
  /** An interval is a continuous set of real numbers */
3
3
  export type Interval = {
4
4
  start: number;
@@ -1,4 +1,4 @@
1
- /* 0.26.4 */
1
+ /* 0.27.0 */
2
2
  * Return a numerical approximation of the integral
3
3
  * of the function `f` from `a` to `b` using Monte Carlo integration.
4
4
  *
@@ -1,4 +1,4 @@
1
- /* 0.26.4 */
1
+ /* 0.27.0 */
2
2
  export declare function lcm(a: bigint, b: bigint): bigint;
3
3
  /** Return `[factor, root]` such that
4
4
  * pow(n, 1/exponent) = factor * pow(root, 1/exponent)
@@ -8,3 +8,11 @@ export declare function lcm(a: bigint, b: bigint): bigint;
8
8
  */
9
9
  export declare function canonicalInteger(n: bigint, exponent: number): [factor: bigint, root: bigint];
10
10
  export declare function reducedInteger(n: bigint): bigint | number;
11
+ /**
12
+ * Computes the factorial of a number as a generator to allow interruptibility.
13
+ * Yields intermediate values periodically, but these are not intended to be the primary result.
14
+ *
15
+ * @param n - The number to compute the factorial of (as a BigInt).
16
+ * @returns A generator that can be iterated for intermediate values, with the final value returned when the computation completes.
17
+ */
18
+ export declare function factorial(n: bigint): Generator<bigint, bigint>;
@@ -1,7 +1,6 @@
1
- /* 0.26.4 */
1
+ /* 0.27.0 */
2
2
  export declare function gcd(a: BigNum, b: BigNum): BigNum;
3
3
  export declare function lcm(a: BigNum, b: BigNum): BigNum;
4
- export declare function factorial(ce: IBigNum, n: BigNum): BigNum;
5
4
  export declare function factorial2(ce: IBigNum, n: BigNum): BigNum;
6
5
  /**
7
6
  * If the exponent of the bignum is in the range of the exponents
@@ -1,3 +1,3 @@
1
- /* 0.26.4 */
1
+ /* 0.27.0 */
2
2
  export declare function gamma(c: Complex): Complex;
3
3
  export declare function gammaln(c: Complex): Complex;
@@ -1,8 +1,7 @@
1
- /* 0.26.4 */
1
+ /* 0.27.0 */
2
2
  export declare const MACHINE_PRECISION_BITS = 53;
3
3
  export declare const MACHINE_PRECISION: number;
4
- export declare const MACHINE_TOLERANCE_BITS = 7;
5
- export declare const MACHINE_TOLERANCE: number;
4
+ export declare const DEFAULT_TOLERANCE = 1e-10;
6
5
  export declare const SMALL_INTEGER = 1000000;
7
6
  type IsInteger<N extends number> = `${N}` extends `${string}.${string}` ? never : `${N}` extends `-${string}.${string}` ? never : number;
8
7
  export type SmallInteger = IsInteger<number>;
@@ -1,4 +1,4 @@
1
- /* 0.26.4 */
1
+ /* 0.27.0 */
2
2
  export declare function primeFactors(n: number): {
3
3
  [factor: number]: number;
4
4
  };
@@ -1,4 +1,4 @@
1
- /* 0.26.4 */
1
+ /* 0.27.0 */
2
2
  /**
3
3
  * @category Boxed Expression
4
4
  */
@@ -1,4 +1,4 @@
1
- /* 0.26.4 */
1
+ /* 0.27.0 */
2
2
 
3
3
  Translated from https://github.com/JuliaMath/Richardson.jl/blob/master/src/Richardson.jl
4
4
 
@@ -1,4 +1,4 @@
1
- /* 0.26.4 */
1
+ /* 0.27.0 */
2
2
  import { BigNum } from './bignum';
3
3
  export declare function gammaln(z: number): number;
4
4
  export declare function gamma(z: number): number;
@@ -0,0 +1,24 @@
1
+ /* 0.27.0 */
2
+ import { BigNum } from './bignum';
3
+ export declare function mean(values: Iterable<number>): number;
4
+ export declare function bigMean(bignum: BigNumFactory, values: Iterable<BigNum>): BigNum;
5
+ export declare function median(values: Iterable<number>): number;
6
+ export declare function bigMedian(values: Iterable<BigNum>): BigNum;
7
+ export declare function variance(values: Iterable<number>): number;
8
+ export declare function bigVariance(bignum: BigNumFactory, values: Iterable<BigNum>): BigNum;
9
+ export declare function populationVariance(values: Iterable<number>): number;
10
+ export declare function bigPopulationVariance(bignum: BigNumFactory, values: Iterable<BigNum>): BigNum;
11
+ export declare function standardDeviation(values: Iterable<number>): number;
12
+ export declare function bigStandardDeviation(bignum: BigNumFactory, values: Iterable<BigNum>): BigNum;
13
+ export declare function populationStandardDeviation(values: Iterable<number>): number;
14
+ export declare function bigPopulationStandardDeviation(bignum: BigNumFactory, values: Iterable<BigNum>): BigNum;
15
+ export declare function kurtosis(values: Iterable<number>): number;
16
+ export declare function bigKurtosis(bignum: BigNumFactory, values: Iterable<BigNum>): BigNum;
17
+ export declare function skewness(values: Iterable<number>): number;
18
+ export declare function bigSkewness(bignum: BigNumFactory, values: Iterable<BigNum>): BigNum;
19
+ export declare function mode(values: Iterable<number>): number;
20
+ export declare function bigMode(bignum: BigNumFactory, values: Iterable<BigNum>): BigNum;
21
+ export declare function quartiles(values: Iterable<number>): [number, number, number];
22
+ export declare function bigQuartiles(values: Iterable<BigNum>): [BigNum, BigNum, BigNum];
23
+ export declare function interquartileRange(values: Iterable<number>): number;
24
+ export declare function bigInterquartileRange(values: Iterable<BigNum>): BigNum;
@@ -1,2 +1,2 @@
1
- /* 0.26.4 */
1
+ /* 0.27.0 */
2
2
  export declare function numberToString(num: number | bigint, fractionalDigits?: number | string): string;
@@ -0,0 +1,29 @@
1
+ /* 0.27.0 */
2
+ import './compute-engine';
3
+ import './debug';
4
+ import './boxed-expression/expression-map';
5
+ import './boxed-expression/abstract-boxed-expression';
6
+ import './boxed-expression/boxed-function';
7
+ import './boxed-expression/boxed-number';
8
+ import './boxed-expression/boxed-patterns';
9
+ import './boxed-expression/boxed-string';
10
+ import './boxed-expression/order';
11
+ import './boxed-expression/utils';
12
+ import './boxed-expression/serialize';
13
+ import './boxed-expression/rules';
14
+ import './symbolic/simplify-rules';
15
+ import './boxed-expression/solve';
16
+ export * from './assume';
17
+ export * from './boxed-expression/expression-map';
18
+ export * from './boxed-expression/abstract-boxed-expression';
19
+ export * from './boxed-expression/boxed-function';
20
+ export * from './boxed-expression/boxed-number';
21
+ export * from './boxed-expression/boxed-patterns';
22
+ export * from './boxed-expression/boxed-string';
23
+ export * from './boxed-expression/order';
24
+ export * from './boxed-expression/utils';
25
+ export * from './compute-engine';
26
+ export * from './debug';
27
+ export * from './boxed-expression/rules';
28
+ export * from './symbolic/simplify-rules';
29
+ export * from './boxed-expression/solve';
@@ -1,4 +1,4 @@
1
- /* 0.26.4 */
1
+ /* 0.27.0 */
2
2
  *
3
3
  * The Compute Engine is a symbolic computation engine that can be used to
4
4
  * manipulate and evaluate mathematical expressions.
@@ -1,4 +1,4 @@
1
- /* 0.26.4 */
1
+ /* 0.27.0 */
2
2
  /**
3
3
  *
4
4
  * @param fn The function to differentiate, a `["Function"]` expression or
@@ -1,4 +1,4 @@
1
- /* 0.26.4 */
1
+ /* 0.27.0 */
2
2
  /**
3
3
  *
4
4
  */
@@ -1,4 +1,4 @@
1
- /* 0.26.4 */
1
+ /* 0.27.0 */
2
2
  /**
3
3
  * @todo: a set to "tidy" an expression. Different from a canonical form, but
4
4
  * inline with the user's expectations.
@@ -1,4 +1,4 @@
1
- /* 0.26.4 */
1
+ /* 0.27.0 */
2
2
  import { DataTypeMap, TensorDataType, TensorField } from '../boxed-expression/tensor-fields';
3
3
  /**
4
4
  * @noInheritDoc
@@ -16,7 +16,7 @@ export declare abstract class AbstractTensor<DT extends keyof DataTypeMap> imple
16
16
  * Return a tuple of tensors that have the same dtype.
17
17
  * If necessary, one of the two input tensors is upcast.
18
18
  *
19
- * The shape of the tensors is reshape to a compatible
19
+ * The shape of the tensors is reshaped to a compatible
20
20
  * shape. If the shape is not compatible, `undefined` is returned.
21
21
  *
22
22
  * @param lhs
@@ -1,5 +1,5 @@
1
- /* 0.26.4 */
2
- export declare const version = "0.26.4";
1
+ /* 0.27.0 */
2
+ export declare const version = "0.27.0";
3
3
  export { ComputeEngine } from './compute-engine/compute-engine';
4
4
  export { terminal } from './common/terminal';
5
5
  export { highlightCodeSpan, highlightCodeBlock, } from './common/syntax-highlighter';
@@ -1,4 +1,4 @@
1
- /* 0.26.4 */
1
+ /* 0.27.0 */
2
2
  * Return true if the string is a valid identifier.
3
3
  *
4
4
  * Check for identifiers matching a profile of [Unicode UAX31](https://unicode.org/reports/tr31/)
@@ -1,4 +1,4 @@
1
- /* 0.26.4 */
1
+ /* 0.27.0 */
2
2
  /** @category MathJSON */
3
3
  export type Attributes = {
4
4
  /** A human readable string to annotate this expression, since JSON does not
@@ -1,4 +1,4 @@
1
- /* 0.26.4 */
1
+ /* 0.27.0 */
2
2
  export declare const MISSING: Expression;
3
3
  export declare function isNumberExpression(expr: Expression | null): expr is number | string | MathJsonNumber;
4
4
  export declare function isNumberObject(expr: Expression | null): expr is MathJsonNumber;
@@ -1,3 +1,3 @@
1
- /* 0.26.4 */
1
+ /* 0.27.0 */
2
2
  export { isSymbolObject, isStringObject, isFunctionObject, stringValue as getStringValue, operator, operand, symbol, mapArgs, dictionary as getDictionary, } from './math-json/utils';
3
- export declare const version = "0.26.4";
3
+ export declare const version = "0.27.0";
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.26.4",
2
+ "version": "0.27.0",
3
3
  "scripts": {
4
4
  "doc": "bash ./scripts/doc.sh",
5
5
  "build": "bash ./scripts/build.sh",