@cortex-js/compute-engine 0.25.0 → 0.25.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 (110) hide show
  1. package/dist/compute-engine.esm.js +3185 -5191
  2. package/dist/compute-engine.js +3185 -5191
  3. package/dist/compute-engine.min.esm.js +10 -10
  4. package/dist/compute-engine.min.js +10 -10
  5. package/dist/math-json.esm.js +39 -76
  6. package/dist/math-json.js +39 -76
  7. package/dist/math-json.min.esm.js +39 -76
  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/grapheme-splitter.d.ts +1 -1
  11. package/dist/types/common/signals.d.ts +1 -1
  12. package/dist/types/common/utils.d.ts +1 -1
  13. package/dist/types/compute-engine/assume.d.ts +1 -1
  14. package/dist/types/compute-engine/boxed-expression/abstract-boxed-expression.d.ts +2 -1
  15. package/dist/types/compute-engine/boxed-expression/box.d.ts +1 -1
  16. package/dist/types/compute-engine/boxed-expression/boxed-dictionary.d.ts +1 -1
  17. package/dist/types/compute-engine/boxed-expression/boxed-domain.d.ts +1 -1
  18. package/dist/types/compute-engine/boxed-expression/boxed-function-definition.d.ts +1 -1
  19. package/dist/types/compute-engine/boxed-expression/boxed-function.d.ts +1 -1
  20. package/dist/types/compute-engine/boxed-expression/boxed-number.d.ts +1 -1
  21. package/dist/types/compute-engine/boxed-expression/boxed-patterns.d.ts +1 -1
  22. package/dist/types/compute-engine/boxed-expression/boxed-string.d.ts +1 -1
  23. package/dist/types/compute-engine/boxed-expression/boxed-symbol-definition.d.ts +1 -1
  24. package/dist/types/compute-engine/boxed-expression/boxed-symbol.d.ts +1 -1
  25. package/dist/types/compute-engine/boxed-expression/boxed-tensor.d.ts +1 -1
  26. package/dist/types/compute-engine/boxed-expression/canonical.d.ts +1 -1
  27. package/dist/types/compute-engine/boxed-expression/coefficient-field.d.ts +56 -0
  28. package/dist/types/compute-engine/boxed-expression/expression-map.d.ts +1 -1
  29. package/dist/types/compute-engine/boxed-expression/factor.d.ts +1 -1
  30. package/dist/types/compute-engine/boxed-expression/match.d.ts +1 -1
  31. package/dist/types/compute-engine/boxed-expression/numerics.d.ts +1 -1
  32. package/dist/types/compute-engine/boxed-expression/order.d.ts +1 -1
  33. package/dist/types/compute-engine/boxed-expression/public.d.ts +54 -35
  34. package/dist/types/compute-engine/boxed-expression/serialize.d.ts +1 -1
  35. package/dist/types/compute-engine/boxed-expression/utils.d.ts +1 -1
  36. package/dist/types/compute-engine/boxed-expression/validate.d.ts +1 -1
  37. package/dist/types/compute-engine/collection-utils.d.ts +1 -1
  38. package/dist/types/compute-engine/compile.d.ts +1 -1
  39. package/dist/types/compute-engine/compute-engine.d.ts +4 -3
  40. package/dist/types/compute-engine/cost-function.d.ts +1 -1
  41. package/dist/types/compute-engine/domain-utils.d.ts +1 -1
  42. package/dist/types/compute-engine/function-utils.d.ts +1 -1
  43. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-algebra.d.ts +1 -1
  44. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-arithmetic.d.ts +1 -1
  45. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-calculus.d.ts +1 -1
  46. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-complex.d.ts +1 -1
  47. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-core.d.ts +1 -1
  48. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-linear-algebra.d.ts +1 -1
  49. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-logic.d.ts +1 -1
  50. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-other.d.ts +1 -1
  51. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-relational-operators.d.ts +1 -1
  52. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-sets.d.ts +1 -1
  53. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-statistics.d.ts +1 -1
  54. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-symbols.d.ts +1 -1
  55. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-trigonometry.d.ts +1 -1
  56. package/dist/types/compute-engine/latex-syntax/dictionary/definitions.d.ts +1 -1
  57. package/dist/types/compute-engine/latex-syntax/parse-identifier.d.ts +1 -1
  58. package/dist/types/compute-engine/latex-syntax/parse.d.ts +1 -1
  59. package/dist/types/compute-engine/latex-syntax/public.d.ts +1 -1
  60. package/dist/types/compute-engine/latex-syntax/serialize-number.d.ts +1 -1
  61. package/dist/types/compute-engine/latex-syntax/serializer-style.d.ts +1 -1
  62. package/dist/types/compute-engine/latex-syntax/serializer.d.ts +1 -1
  63. package/dist/types/compute-engine/latex-syntax/tokenizer.d.ts +1 -1
  64. package/dist/types/compute-engine/library/arithmetic-add.d.ts +1 -1
  65. package/dist/types/compute-engine/library/arithmetic-divide.d.ts +1 -2
  66. package/dist/types/compute-engine/library/arithmetic-multiply.d.ts +2 -2
  67. package/dist/types/compute-engine/library/arithmetic-power.d.ts +1 -1
  68. package/dist/types/compute-engine/library/arithmetic.d.ts +1 -1
  69. package/dist/types/compute-engine/library/calculus.d.ts +1 -1
  70. package/dist/types/compute-engine/library/collections.d.ts +1 -1
  71. package/dist/types/compute-engine/library/complex.d.ts +1 -1
  72. package/dist/types/compute-engine/library/control-structures.d.ts +1 -1
  73. package/dist/types/compute-engine/library/core.d.ts +1 -1
  74. package/dist/types/compute-engine/library/domains.d.ts +1 -1
  75. package/dist/types/compute-engine/library/library.d.ts +1 -1
  76. package/dist/types/compute-engine/library/linear-algebra.d.ts +1 -1
  77. package/dist/types/compute-engine/library/logic.d.ts +1 -1
  78. package/dist/types/compute-engine/library/polynomials.d.ts +1 -1
  79. package/dist/types/compute-engine/library/random-expression.d.ts +1 -1
  80. package/dist/types/compute-engine/library/relational-operator.d.ts +1 -1
  81. package/dist/types/compute-engine/library/sets.d.ts +1 -1
  82. package/dist/types/compute-engine/library/statistics.d.ts +1 -1
  83. package/dist/types/compute-engine/library/trigonometry.d.ts +1 -1
  84. package/dist/types/compute-engine/library/utils.d.ts +1 -1
  85. package/dist/types/compute-engine/numerics/numeric-bigint.d.ts +1 -1
  86. package/dist/types/compute-engine/numerics/numeric-bignum.d.ts +1 -1
  87. package/dist/types/compute-engine/numerics/numeric-complex.d.ts +1 -1
  88. package/dist/types/compute-engine/numerics/numeric.d.ts +1 -1
  89. package/dist/types/compute-engine/numerics/primes.d.ts +1 -1
  90. package/dist/types/compute-engine/numerics/rationals.d.ts +1 -1
  91. package/dist/types/compute-engine/numerics/richardson.d.ts +1 -1
  92. package/dist/types/compute-engine/numerics/terms.d.ts +1 -1
  93. package/dist/types/compute-engine/public.d.ts +1 -1
  94. package/dist/types/compute-engine/rules.d.ts +1 -1
  95. package/dist/types/compute-engine/simplify-rules.d.ts +1 -1
  96. package/dist/types/compute-engine/solve.d.ts +1 -1
  97. package/dist/types/compute-engine/symbolic/derivative.d.ts +1 -1
  98. package/dist/types/compute-engine/symbolic/expand.d.ts +1 -1
  99. package/dist/types/compute-engine/symbolic/flatten.d.ts +1 -1
  100. package/dist/types/compute-engine/symbolic/negate.d.ts +1 -1
  101. package/dist/types/compute-engine/symbolic/polynomials.d.ts +1 -1
  102. package/dist/types/compute-engine/symbolic/product.d.ts +1 -1
  103. package/dist/types/compute-engine/symbolic/tensor-fields.d.ts +1 -1
  104. package/dist/types/compute-engine/symbolic/tensors.d.ts +1 -1
  105. package/dist/types/compute-engine/symbolic/utils.d.ts +2 -2
  106. package/dist/types/compute-engine.d.ts +2 -2
  107. package/dist/types/math-json/math-json-format.d.ts +1 -1
  108. package/dist/types/math-json/utils.d.ts +1 -1
  109. package/dist/types/math-json.d.ts +2 -2
  110. package/package.json +10 -10
@@ -1,2 +1,2 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  export declare const CALCULUS_LIBRARY: IdentifierDefinitions[];
@@ -1,3 +1,3 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  export declare const DEFAULT_LINSPACE_COUNT = 50;
3
3
  export declare const COLLECTIONS_LIBRARY: IdentifierDefinitions;
@@ -1,2 +1,2 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  export declare const COMPLEX_LIBRARY: IdentifierDefinitions[];
@@ -1,2 +1,2 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  export declare const CONTROL_STRUCTURES_LIBRARY: IdentifierDefinitions[];
@@ -1,4 +1,4 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  import { BoxedExpression } from '../boxed-expression/public';
3
3
  export declare const CORE_LIBRARY: IdentifierDefinitions[];
4
4
  export declare function canonicalInvisibleOperator(ce: IComputeEngine, ops: ReadonlyArray<BoxedExpression>): BoxedExpression | null;
@@ -1,4 +1,4 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  export declare const DOMAIN_CONSTRUCTORS: string[];
3
3
  export declare const DOMAIN_ALIAS: {
4
4
  Functions: (string | string[])[];
@@ -1,4 +1,4 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  import { FunctionDefinition, IComputeEngine, IdentifierDefinitions, SymbolDefinition } from '../public';
3
3
  export declare function getStandardLibrary(categories: LibraryCategory[] | LibraryCategory | 'all'): readonly IdentifierDefinitions[];
4
4
  export declare const LIBRARIES: {
@@ -1,2 +1,2 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  export declare const LINEAR_ALGEBRA_LIBRARY: IdentifierDefinitions[];
@@ -1,2 +1,2 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  export declare const LOGIC_LIBRARY: IdentifierDefinitions;
@@ -1,2 +1,2 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  export declare const POLYNOMIALS_LIBRARY: IdentifierDefinitions[];
@@ -1,2 +1,2 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  export declare function randomExpression(level?: number): Expression;
@@ -1,2 +1,2 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  export declare const RELOP_LIBRARY: IdentifierDefinitions;
@@ -1,2 +1,2 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  export declare const SETS_LIBRARY: IdentifierDefinitions;
@@ -1,2 +1,2 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  export declare const STATISTICS_LIBRARY: IdentifierDefinitions[];
@@ -1,2 +1,2 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  export declare const TRIGONOMETRY_LIBRARY: IdentifierDefinitions[];
@@ -1,4 +1,4 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  /**
3
3
  * Assume the caller has setup a scope. The index
4
4
  * variable will be declared in that scope.
@@ -1,4 +1,4 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  import { Expression } from '../../math-json';
3
3
  export declare function bigintValue(expr: Expression | null | undefined): bigint | null;
4
4
  export declare function bigint(a: Decimal | number | bigint | string): bigint;
@@ -1,4 +1,4 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  import { IComputeEngine } from '../public';
3
3
  export declare function gcd(a: Decimal, b: Decimal): Decimal;
4
4
  export declare function lcm(a: Decimal, b: Decimal): Decimal;
@@ -1,3 +1,3 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  export declare function gamma(c: Complex): Complex;
3
3
  export declare function gammaln(c: Complex): Complex;
@@ -1,4 +1,4 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  import { Decimal } from 'decimal.js';
3
3
  export declare const MACHINE_PRECISION_BITS = 53;
4
4
  export declare const MACHINE_PRECISION: number;
@@ -1,4 +1,4 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  export declare const SMALL_PRIMES: Set<number>;
3
3
  export declare const LARGEST_SMALL_PRIME = 7919;
4
4
  export declare function primeFactors(n: number): {
@@ -1,4 +1,4 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  * @category Boxed Expression
3
3
  */
4
4
  export type Rational = [number, number] | [bigint, bigint];
@@ -1,4 +1,4 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
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.25.0 */
1
+ /* 0.25.1 */
2
2
  import { Rational } from './rationals';
3
3
  export declare class Terms {
4
4
  private engine;
@@ -1,4 +1,4 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
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.25.0 */
1
+ /* 0.25.1 */
2
2
  /**
3
3
  * For each rules in the rule set that match, return the `replace` of the rule
4
4
  *
@@ -1,4 +1,4 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
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.25.0 */
1
+ /* 0.25.1 */
2
2
  import { Rule } from './public';
3
3
  export declare const UNIVARIATE_ROOTS: Rule[];
4
4
  /**
@@ -1,4 +1,4 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  /**
3
3
  *
4
4
  * @param fn The function to differentiate, a `["Function"]` expression or
@@ -1,4 +1,4 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  export declare function distribute(expr: ReadonlyArray<BoxedExpression>): BoxedExpression;
3
3
  /** Use the multinomial theorem (https://en.wikipedia.org/wiki/Multinomial_theorem) to expand the expression.
4
4
  * The expression must be a power of a sum of terms.
@@ -1,4 +1,4 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  /**
3
3
  * Flatten the arguments.
4
4
  */
@@ -1,4 +1,4 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  /**
3
3
  * Distribute `Negate` (multiply by -1) if expr is a number literal, an
4
4
  * addition or multiplication or another `Negate`.
@@ -1,4 +1,4 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  /**
3
3
  * Coefficient of a univariate (single variable) polynomial.
4
4
  *
@@ -1,4 +1,4 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  import { Rational } from '../numerics/rationals';
3
3
  /**
4
4
  * Group terms in a product by common term.
@@ -1,4 +1,4 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  import { BoxedExpression, IComputeEngine } from '../public';
3
3
  export type DataTypeMap = {
4
4
  float64: number;
@@ -1,4 +1,4 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  import { DataTypeMap, TensorDataType, TensorField } from './tensor-fields';
3
3
  /**
4
4
  * @noInheritDoc
@@ -1,4 +1,4 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
2
2
  import { Decimal } from 'decimal.js';
3
3
  import { Rational } from '../numerics/rationals';
4
4
  import { BoxedExpression, Hold, IComputeEngine, SemiBoxedExpression } from '../public';
@@ -18,5 +18,5 @@ export declare function applyN(expr: BoxedExpression, fn: (x: number) => number
18
18
  export declare function apply2(expr1: BoxedExpression, expr2: BoxedExpression, fn: (x1: number, x2: number) => number | Complex | Rational, bigFn?: (x1: Decimal, x2: Decimal) => Decimal | Complex | Rational | number, complexFn?: (x1: Complex, x2: number | Complex) => Complex | number): number | Decimal | Complex | Rational;
19
19
  export declare function apply2N(expr1: BoxedExpression, expr2: BoxedExpression, fn: (x1: number, x2: number) => number | Complex | Rational, bigFn?: (x1: Decimal, x2: Decimal) => Decimal | Complex | number | Rational, complexFn?: (x1: Complex, x2: number | Complex) => Complex | number): BoxedExpression | undefined;
20
20
  export declare function shouldHold(skip: Hold, count: number, index: number): boolean;
21
- export declare function semiCanonical(ce: IComputeEngine, xs: ReadonlyArray<SemiBoxedExpression>): BoxedExpression[];
21
+ export declare function semiCanonical(ce: IComputeEngine, xs: ReadonlyArray<SemiBoxedExpression>): ReadonlyArray<BoxedExpression>;
22
22
  export declare function canonical(xs: ReadonlyArray<BoxedExpression>): ReadonlyArray<BoxedExpression>;
@@ -1,3 +1,3 @@
1
- /* 0.25.0 */
2
- export declare const version = "0.25.0";
1
+ /* 0.25.1 */
2
+ export declare const version = "0.25.1";
3
3
  export { ComputeEngine } from './compute-engine/compute-engine';
@@ -1,4 +1,4 @@
1
- /* 0.25.0 */
1
+ /* 0.25.1 */
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.25.0 */
1
+ /* 0.25.1 */
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.25.0 */
1
+ /* 0.25.1 */
2
2
  export { isSymbolObject, isStringObject, isFunctionObject, isDictionaryObject, stringValue as getStringValue, head, headName, symbol, applyRecursively, mapArgs, op, nops, dictionary as getDictionary, } from './math-json/utils';
3
- export declare const version = "0.25.0";
3
+ export declare const version = "0.25.1";
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.25.0",
2
+ "version": "0.25.1",
3
3
  "scripts": {
4
4
  "doc": "bash ./scripts/doc.sh",
5
5
  "build": "bash ./scripts/build.sh",
@@ -60,31 +60,31 @@
60
60
  "@jest/console": "^29.7.0",
61
61
  "@types/jest": "^29.5.5",
62
62
  "@types/node": "^20.6.3",
63
- "@typescript-eslint/eslint-plugin": "^6.7.2",
64
- "@typescript-eslint/parser": "^6.7.2",
65
- "@typescript-eslint/typescript-estree": "^6.7.2",
63
+ "@typescript-eslint/eslint-plugin": "^7.14.1",
64
+ "@typescript-eslint/parser": "^7.14.1",
65
+ "@typescript-eslint/typescript-estree": "^7.14.1",
66
66
  "chalk": "^5.3.0",
67
67
  "check-node-version": "^4.2.1",
68
68
  "concat-md": "^0.5.1",
69
- "esbuild": "^0.19.3",
70
- "eslint": "^8.50.0",
69
+ "esbuild": "^0.21.5",
70
+ "eslint": "^8.56.0",
71
71
  "eslint-config-prettier": "^9.0.0",
72
72
  "eslint-plugin-import": "^2.28.1",
73
73
  "eslint-plugin-no-unsanitized": "^4.0.2",
74
74
  "eslint-plugin-prettier": "^5.0.0",
75
75
  "jest": "^29.7.0",
76
- "jest-silent-reporter": "^0.5.0",
77
- "open": "^9.1.0",
76
+ "jest-silent-reporter": "^0.6.0",
77
+ "open": "^10.1.0",
78
78
  "prettier": "^3.0.3",
79
79
  "prettier-2": "npm:prettier@^2",
80
80
  "serve-http": "^1.0.7",
81
81
  "ts-jest": "^29.1.1",
82
82
  "ts-node": "^10.9.1",
83
- "typedoc": "^0.25.8",
83
+ "typedoc": "^0.26.2",
84
84
  "typedoc-plugin-markdown": "^4.0.0-next.53",
85
85
  "typedoc-plugin-no-inherit": "^1.4.0",
86
86
  "typescript": "^5.2.2",
87
- "update-notifier": "^6.0.2"
87
+ "update-notifier": "^7.0.0"
88
88
  },
89
89
  "prettier": "@cortex-js/prettier-config",
90
90
  "dependencies": {