@cortex-js/compute-engine 0.15.0 → 0.17.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.
- package/README.md +1 -1
- package/dist/compute-engine.esm.js +7319 -5823
- package/dist/compute-engine.js +7319 -5823
- package/dist/compute-engine.min.esm.js +47 -25822
- package/dist/compute-engine.min.js +19 -25805
- package/dist/math-json.esm.js +2 -2
- package/dist/math-json.js +2 -2
- package/dist/math-json.min.esm.js +2 -2
- package/dist/math-json.min.js +2 -281
- package/dist/types/common/ansi-codes.d.ts +15 -0
- package/dist/types/common/grapheme-splitter.d.ts +1 -1
- package/dist/types/common/signals.d.ts +1 -1
- package/dist/types/common/utils.d.ts +1 -1
- package/dist/types/compute-engine/assume.d.ts +2 -2
- package/dist/types/compute-engine/boxed-expression/abstract-boxed-expression.d.ts +15 -19
- package/dist/types/compute-engine/boxed-expression/box.d.ts +8 -3
- package/dist/types/compute-engine/boxed-expression/boxed-dictionary.d.ts +9 -9
- package/dist/types/compute-engine/boxed-expression/boxed-domain.d.ts +16 -28
- package/dist/types/compute-engine/boxed-expression/boxed-function-definition.d.ts +27 -1
- package/dist/types/compute-engine/boxed-expression/boxed-function.d.ts +9 -21
- package/dist/types/compute-engine/boxed-expression/boxed-number.d.ts +6 -5
- package/dist/types/compute-engine/boxed-expression/boxed-patterns.d.ts +4 -4
- package/dist/types/compute-engine/boxed-expression/boxed-string.d.ts +3 -3
- package/dist/types/compute-engine/boxed-expression/boxed-symbol-definition.d.ts +13 -12
- package/dist/types/compute-engine/boxed-expression/boxed-symbol.d.ts +21 -15
- package/dist/types/compute-engine/boxed-expression/expression-map.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/order.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/serialize.d.ts +2 -2
- package/dist/types/compute-engine/boxed-expression/utils.d.ts +30 -9
- package/dist/types/compute-engine/boxed-expression/validate.d.ts +32 -12
- package/dist/types/compute-engine/compile.d.ts +18 -2
- package/dist/types/compute-engine/compute-engine.d.ts +77 -55
- package/dist/types/compute-engine/cost-function.d.ts +1 -1
- package/dist/types/compute-engine/domain-utils.d.ts +4 -21
- package/dist/types/compute-engine/function-utils.d.ts +124 -0
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-algebra.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-arithmetic.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-calculus.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-complex.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-core.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-inequalities.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-logic.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-other.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-sets.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-statistics.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-symbols.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-trigonometry.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/latex-syntax.d.ts +2 -2
- package/dist/types/compute-engine/latex-syntax/parse-identifier.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/parse.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/public.d.ts +31 -13
- package/dist/types/compute-engine/latex-syntax/serialize-number.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/serializer-style.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/serializer.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/tokenizer.d.ts +1 -1
- package/dist/types/compute-engine/library/arithmetic-add.d.ts +2 -2
- package/dist/types/compute-engine/library/arithmetic-divide.d.ts +1 -1
- package/dist/types/compute-engine/library/arithmetic-multiply.d.ts +1 -1
- package/dist/types/compute-engine/library/arithmetic-power.d.ts +1 -1
- package/dist/types/compute-engine/library/arithmetic.d.ts +3 -2
- package/dist/types/compute-engine/library/calculus.d.ts +2 -2
- package/dist/types/compute-engine/library/collections.d.ts +2 -2
- package/dist/types/compute-engine/library/complex.d.ts +2 -2
- package/dist/types/compute-engine/library/control-structures.d.ts +2 -0
- package/dist/types/compute-engine/library/core.d.ts +2 -2
- package/dist/types/compute-engine/library/domains.d.ts +9 -9
- package/dist/types/compute-engine/library/library.d.ts +7 -5
- package/dist/types/compute-engine/library/linear-algebra.d.ts +2 -0
- package/dist/types/compute-engine/library/logic.d.ts +2 -2
- package/dist/types/compute-engine/library/polynomials.d.ts +2 -2
- package/dist/types/compute-engine/library/random-expression.d.ts +1 -1
- package/dist/types/compute-engine/library/relational-operator.d.ts +2 -2
- package/dist/types/compute-engine/library/sets.d.ts +2 -2
- package/dist/types/compute-engine/library/statistics.d.ts +2 -2
- package/dist/types/compute-engine/library/trigonometry.d.ts +2 -2
- package/dist/types/compute-engine/library/utils.d.ts +1 -3
- package/dist/types/compute-engine/numerics/numeric-bigint.d.ts +1 -1
- package/dist/types/compute-engine/numerics/numeric-bignum.d.ts +3 -2
- package/dist/types/compute-engine/numerics/numeric-complex.d.ts +2 -2
- package/dist/types/compute-engine/numerics/numeric.d.ts +61 -3
- package/dist/types/compute-engine/numerics/primes.d.ts +1 -1
- package/dist/types/compute-engine/numerics/rationals.d.ts +1 -1
- package/dist/types/compute-engine/public.d.ts +281 -189
- package/dist/types/compute-engine/rules.d.ts +1 -1
- package/dist/types/compute-engine/simplify-rules.d.ts +1 -1
- package/dist/types/compute-engine/solve.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/derivative.d.ts +20 -0
- package/dist/types/compute-engine/symbolic/expand.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/flatten.d.ts +1 -2
- package/dist/types/compute-engine/symbolic/negate.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/polynomials.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/product.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/sum.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/utils.d.ts +5 -3
- package/dist/types/compute-engine.d.ts +2 -2
- package/dist/types/math-json/math-json-format.d.ts +4 -3
- package/dist/types/math-json/utils.d.ts +1 -1
- package/dist/types/math-json.d.ts +2 -2
- package/package.json +25 -22
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/* 0.17.0 */
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @param fn The function to differentiate, a `["Function"]` expression or
|
|
5
|
+
* an identifier for a function name.
|
|
6
|
+
*
|
|
7
|
+
* @param degrees
|
|
8
|
+
* @returns a function expression representing the derivative of `fn` with
|
|
9
|
+
* respect to the variables in `degrees`.
|
|
10
|
+
*/
|
|
11
|
+
export declare function differentiateFunction(fn: BoxedExpression, degrees: number[]): BoxedExpression | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* Calculate the partial derivative of an expression with respect to a
|
|
14
|
+
* variable, `v`.
|
|
15
|
+
*
|
|
16
|
+
* All expressions that do not explicitly depend on `v` are taken to have zero
|
|
17
|
+
* partial derivative.
|
|
18
|
+
*
|
|
19
|
+
*/
|
|
20
|
+
export declare function differentiate(expr: BoxedExpression, v: string): BoxedExpression | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.17.0 */
|
|
2
2
|
export declare function distribute(expr: 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.
|
|
1
|
+
/* 0.17.0 */
|
|
2
2
|
/**
|
|
3
3
|
* Flatten the arguments.
|
|
4
4
|
* If `expr` was canonical, the result it canonical.
|
|
@@ -6,4 +6,3 @@
|
|
|
6
6
|
export declare function flatten(expr: BoxedExpression, head: string): BoxedExpression;
|
|
7
7
|
export declare function flattenOps(ops: BoxedExpression[], head: string): BoxedExpression[];
|
|
8
8
|
export declare function flattenSequence(xs: BoxedExpression[]): BoxedExpression[];
|
|
9
|
-
export declare function canonical(xs: BoxedExpression[]): BoxedExpression[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/* 0.
|
|
2
|
-
import Decimal from 'decimal.js';
|
|
3
|
-
import { BoxedExpression, Rational } from '../public';
|
|
1
|
+
/* 0.17.0 */
|
|
2
|
+
import { Decimal } from 'decimal.js';
|
|
3
|
+
import { BoxedExpression, Hold, Rational } from '../public';
|
|
4
4
|
/**
|
|
5
5
|
* Return a rational coef and constant such that `coef * mod + constant = expr`
|
|
6
6
|
*/
|
|
@@ -23,3 +23,5 @@ export declare function apply(expr: BoxedExpression, fn: (x: number) => number |
|
|
|
23
23
|
export declare function applyN(expr: BoxedExpression, fn: (x: number) => number | Complex, bigFn?: (x: Decimal) => Decimal | Complex | number, complexFn?: (x: Complex) => number | Complex): BoxedExpression | undefined;
|
|
24
24
|
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;
|
|
25
25
|
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;
|
|
26
|
+
export declare function shouldHold(skip: Hold, count: number, index: number): boolean;
|
|
27
|
+
export declare function canonical(xs: BoxedExpression[]): BoxedExpression[];
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* 0.
|
|
2
|
-
export declare const version = "0.
|
|
1
|
+
/* 0.17.0 */
|
|
2
|
+
export declare const version = "0.17.0";
|
|
3
3
|
export { ComputeEngine } from './compute-engine/compute-engine';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.17.0 */
|
|
2
2
|
/** A human readable string to annotate this expression, since JSON does not
|
|
3
3
|
* allow comments in its encoding */
|
|
4
4
|
comment?: string;
|
|
@@ -54,6 +54,7 @@
|
|
|
54
54
|
*/
|
|
55
55
|
sourceOffsets?: [start: number, end: number];
|
|
56
56
|
};
|
|
57
|
+
export type MathJsonIdentifier = string;
|
|
57
58
|
/**
|
|
58
59
|
* A MathJSON numeric quantity.
|
|
59
60
|
*
|
|
@@ -82,7 +83,7 @@ export type MathJsonNumber = {
|
|
|
82
83
|
num: 'NaN' | '-Infinity' | '+Infinity' | string;
|
|
83
84
|
} & Attributes;
|
|
84
85
|
export type MathJsonSymbol = {
|
|
85
|
-
sym:
|
|
86
|
+
sym: MathJsonIdentifier;
|
|
86
87
|
} & Attributes;
|
|
87
88
|
export type MathJsonString = {
|
|
88
89
|
str: string;
|
|
@@ -102,4 +103,4 @@ export type MathJsonDictionary = {
|
|
|
102
103
|
* The dictionary and function nodes can contain expressions themselves.
|
|
103
104
|
*
|
|
104
105
|
*/
|
|
105
|
-
export type Expression = number | string | MathJsonNumber | MathJsonString | MathJsonSymbol | MathJsonFunction | MathJsonDictionary | [Expression, ...Expression[]];
|
|
106
|
+
export type Expression = number | MathJsonIdentifier | string | MathJsonNumber | MathJsonString | MathJsonSymbol | MathJsonFunction | MathJsonDictionary | [Expression, ...Expression[]];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.17.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.
|
|
1
|
+
/* 0.17.0 */
|
|
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.
|
|
3
|
+
export declare const version = "0.17.0";
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
2
|
+
"version": "0.17.0",
|
|
3
3
|
"scripts": {
|
|
4
4
|
"build": "bash ./scripts/build.sh",
|
|
5
5
|
"clean": "bash ./scripts/clean.sh",
|
|
@@ -46,33 +46,36 @@
|
|
|
46
46
|
"node": ">=16.14.2"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@cortex-js/prettier-config": "^1.
|
|
50
|
-
"@jest/console": "^29.0
|
|
51
|
-
"@types/jest": "^29.
|
|
52
|
-
"@types/node": "^20.3
|
|
53
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
54
|
-
"@typescript-eslint/parser": "^
|
|
55
|
-
"@typescript-eslint/typescript-estree": "^
|
|
56
|
-
"chalk": "^5.0
|
|
49
|
+
"@cortex-js/prettier-config": "^1.2.0",
|
|
50
|
+
"@jest/console": "^29.7.0",
|
|
51
|
+
"@types/jest": "^29.5.5",
|
|
52
|
+
"@types/node": "^20.6.3",
|
|
53
|
+
"@typescript-eslint/eslint-plugin": "^6.7.2",
|
|
54
|
+
"@typescript-eslint/parser": "^6.7.2",
|
|
55
|
+
"@typescript-eslint/typescript-estree": "^6.7.2",
|
|
56
|
+
"chalk": "^5.3.0",
|
|
57
57
|
"check-node-version": "^4.2.1",
|
|
58
|
-
"esbuild": "^0.
|
|
59
|
-
"eslint": "^8.
|
|
60
|
-
"eslint-config-prettier": "^
|
|
61
|
-
"eslint-plugin-import": "^2.
|
|
62
|
-
"eslint-plugin-no-unsanitized": "^4.0.
|
|
63
|
-
"eslint-plugin-prettier": "^
|
|
64
|
-
"jest": "^29.0
|
|
58
|
+
"esbuild": "^0.19.3",
|
|
59
|
+
"eslint": "^8.50.0",
|
|
60
|
+
"eslint-config-prettier": "^9.0.0",
|
|
61
|
+
"eslint-plugin-import": "^2.28.1",
|
|
62
|
+
"eslint-plugin-no-unsanitized": "^4.0.2",
|
|
63
|
+
"eslint-plugin-prettier": "^5.0.0",
|
|
64
|
+
"jest": "^29.7.0",
|
|
65
65
|
"jest-silent-reporter": "^0.5.0",
|
|
66
66
|
"open": "^9.1.0",
|
|
67
|
-
"prettier": "^
|
|
67
|
+
"prettier": "^3.0.3",
|
|
68
68
|
"serve-http": "^1.0.7",
|
|
69
|
-
"ts-jest": "^29.
|
|
70
|
-
"
|
|
71
|
-
"
|
|
69
|
+
"ts-jest": "^29.1.1",
|
|
70
|
+
"ts-node": "^10.9.1",
|
|
71
|
+
"typescript": "^5.2.2",
|
|
72
|
+
"update-notifier": "^6.0.2",
|
|
73
|
+
"prettier-2": "npm:prettier@^2"
|
|
72
74
|
},
|
|
73
75
|
"prettier": "@cortex-js/prettier-config",
|
|
74
76
|
"dependencies": {
|
|
75
77
|
"complex.js": "^2.1.1",
|
|
76
|
-
"decimal.js": "^10.4.
|
|
77
|
-
}
|
|
78
|
+
"decimal.js": "^10.4.3"
|
|
79
|
+
},
|
|
80
|
+
"type": "module"
|
|
78
81
|
}
|