@cortex-js/compute-engine 0.32.1 → 0.34.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/dist/compute-engine.esm.js +39456 -28560
- package/dist/compute-engine.min.esm.js +80 -59
- package/dist/compute-engine.min.umd.js +80 -59
- package/dist/compute-engine.umd.js +39464 -28585
- package/dist/math-json.esm.js +2 -2
- package/dist/math-json.min.esm.js +2 -130
- package/dist/math-json.min.umd.js +2 -2
- package/dist/math-json.umd.js +2 -2
- package/dist/types/common/ansi-codes.d.ts +1 -1
- package/dist/types/common/configuration-change.d.ts +1 -1
- package/dist/types/common/fuzzy-string-match.d.ts +1 -1
- package/dist/types/common/grapheme-splitter.d.ts +1 -1
- package/dist/types/common/interruptible.d.ts +1 -1
- package/dist/types/common/one-of.d.ts +2 -1
- package/dist/types/common/signals.d.ts +1 -1
- package/dist/types/common/type/ast-nodes.d.ts +1 -1
- package/dist/types/common/type/boxed-type.d.ts +1 -1
- package/dist/types/common/type/lexer.d.ts +1 -1
- package/dist/types/common/type/parse.d.ts +1 -1
- package/dist/types/common/type/parser.d.ts +1 -1
- package/dist/types/common/type/primitive.d.ts +1 -1
- package/dist/types/common/type/reduce.d.ts +12 -0
- package/dist/types/common/type/serialize.d.ts +1 -1
- package/dist/types/common/type/subtype.d.ts +1 -1
- package/dist/types/common/type/type-builder.d.ts +1 -1
- package/dist/types/common/type/types.d.ts +1 -1
- package/dist/types/common/type/utils.d.ts +1 -1
- package/dist/types/common/utils.d.ts +1 -1
- package/dist/types/compute-engine/assume.d.ts +37 -1
- package/dist/types/compute-engine/boxed-expression/abstract-boxed-expression.d.ts +6 -3
- package/dist/types/compute-engine/boxed-expression/apply.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/arithmetic-add.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/arithmetic-mul-div.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/arithmetic-power.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/ascii-math.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/box.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/boxed-dictionary.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/boxed-function.d.ts +6 -2
- package/dist/types/compute-engine/boxed-expression/boxed-number.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/boxed-operator-definition.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/boxed-patterns.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/boxed-string.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/boxed-symbol.d.ts +5 -1
- package/dist/types/compute-engine/boxed-expression/boxed-tensor.d.ts +2 -1
- package/dist/types/compute-engine/boxed-expression/boxed-value-definition.d.ts +5 -1
- package/dist/types/compute-engine/boxed-expression/cache.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/canonical-utils.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/canonical.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/compare.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/expand.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/expression-map.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/factor.d.ts +47 -1
- package/dist/types/compute-engine/boxed-expression/flatten.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/hold.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/match.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/negate.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/numerics.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/order.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/polynomials.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/product.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/rules.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/serialize.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/sgn.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/simplify.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/solve-linear-system.d.ts +60 -0
- package/dist/types/compute-engine/boxed-expression/solve.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/terms.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/trigonometry.d.ts +1 -2
- package/dist/types/compute-engine/boxed-expression/utils.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/validate.d.ts +1 -1
- package/dist/types/compute-engine/collection-utils.d.ts +1 -1
- package/dist/types/compute-engine/compilation/base-compiler.d.ts +1 -1
- package/dist/types/compute-engine/compilation/glsl-target.d.ts +63 -0
- package/dist/types/compute-engine/compilation/javascript-target.d.ts +1 -1
- package/dist/types/compute-engine/compilation/types.d.ts +58 -1
- package/dist/types/compute-engine/cost-function.d.ts +1 -1
- package/dist/types/compute-engine/function-utils.d.ts +1 -1
- package/dist/types/compute-engine/global-types.d.ts +381 -10
- package/dist/types/compute-engine/index.d.ts +186 -3
- 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-linear-algebra.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-relational-operators.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 +10 -1
- package/dist/types/compute-engine/latex-syntax/parse-symbol.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/parse.d.ts +21 -1
- 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/latex-syntax/types.d.ts +33 -3
- package/dist/types/compute-engine/latex-syntax/utils.d.ts +1 -1
- package/dist/types/compute-engine/library/arithmetic.d.ts +1 -1
- package/dist/types/compute-engine/library/calculus.d.ts +1 -1
- package/dist/types/compute-engine/library/collections.d.ts +1 -1
- package/dist/types/compute-engine/library/combinatorics.d.ts +1 -1
- package/dist/types/compute-engine/library/complex.d.ts +1 -1
- package/dist/types/compute-engine/library/control-structures.d.ts +1 -1
- package/dist/types/compute-engine/library/core.d.ts +1 -1
- package/dist/types/compute-engine/library/invisible-operator.d.ts +1 -1
- package/dist/types/compute-engine/library/library.d.ts +1 -1
- package/dist/types/compute-engine/library/linear-algebra.d.ts +1 -1
- package/dist/types/compute-engine/library/logic-analysis.d.ts +189 -4
- package/dist/types/compute-engine/library/logic-utils.d.ts +1 -5
- package/dist/types/compute-engine/library/logic.d.ts +1 -1
- package/dist/types/compute-engine/library/number-theory.d.ts +1 -1
- package/dist/types/compute-engine/library/polynomials.d.ts +1 -1
- package/dist/types/compute-engine/library/random-expression.d.ts +1 -1
- package/dist/types/compute-engine/library/relational-operator.d.ts +1 -1
- package/dist/types/compute-engine/library/sets.d.ts +1 -1
- package/dist/types/compute-engine/library/statistics.d.ts +1 -1
- package/dist/types/compute-engine/library/trigonometry.d.ts +1 -1
- package/dist/types/compute-engine/library/utils.d.ts +60 -2
- package/dist/types/compute-engine/numeric-value/big-numeric-value.d.ts +1 -1
- package/dist/types/compute-engine/numeric-value/exact-numeric-value.d.ts +1 -1
- package/dist/types/compute-engine/numeric-value/machine-numeric-value.d.ts +1 -1
- package/dist/types/compute-engine/numeric-value/types.d.ts +1 -1
- package/dist/types/compute-engine/numerics/bigint.d.ts +1 -1
- package/dist/types/compute-engine/numerics/expression.d.ts +1 -1
- package/dist/types/compute-engine/numerics/interval.d.ts +1 -1
- package/dist/types/compute-engine/numerics/monte-carlo.d.ts +1 -1
- package/dist/types/compute-engine/numerics/numeric-bigint.d.ts +1 -1
- package/dist/types/compute-engine/numerics/numeric-bignum.d.ts +1 -1
- package/dist/types/compute-engine/numerics/numeric-complex.d.ts +1 -1
- package/dist/types/compute-engine/numerics/numeric.d.ts +2 -2
- 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/numerics/richardson.d.ts +1 -1
- package/dist/types/compute-engine/numerics/special-functions.d.ts +1 -1
- package/dist/types/compute-engine/numerics/statistics.d.ts +1 -1
- package/dist/types/compute-engine/numerics/strings.d.ts +1 -1
- package/dist/types/compute-engine/numerics/types.d.ts +2 -1
- package/dist/types/compute-engine/oeis.d.ts +85 -0
- package/dist/types/compute-engine/sequence.d.ts +120 -0
- package/dist/types/compute-engine/symbolic/antiderivative.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/derivative.d.ts +17 -2
- package/dist/types/compute-engine/symbolic/distribute.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/fu-cost.d.ts +33 -0
- package/dist/types/compute-engine/symbolic/fu-transforms.d.ts +130 -0
- package/dist/types/compute-engine/symbolic/fu.d.ts +48 -0
- package/dist/types/compute-engine/symbolic/simplify-abs.d.ts +12 -0
- package/dist/types/compute-engine/symbolic/simplify-divide.d.ts +15 -0
- package/dist/types/compute-engine/symbolic/simplify-hyperbolic.d.ts +2 -0
- package/dist/types/compute-engine/symbolic/simplify-infinity.d.ts +14 -0
- package/dist/types/compute-engine/symbolic/simplify-log.d.ts +15 -0
- package/dist/types/compute-engine/symbolic/simplify-power.d.ts +15 -0
- package/dist/types/compute-engine/symbolic/simplify-product.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/simplify-rules.d.ts +1 -11
- package/dist/types/compute-engine/symbolic/simplify-sum.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/simplify-trig.d.ts +2 -0
- package/dist/types/compute-engine/tensor/tensor-fields.d.ts +1 -1
- package/dist/types/compute-engine/tensor/tensors.d.ts +3 -3
- package/dist/types/compute-engine/types.d.ts +1 -1
- package/dist/types/compute-engine.d.ts +5 -1
- package/dist/types/math-json/symbols.d.ts +1 -1
- package/dist/types/math-json/types.d.ts +1 -1
- package/dist/types/math-json/utils.d.ts +1 -1
- package/dist/types/math-json.d.ts +2 -2
- package/package.json +2 -2
package/dist/math-json.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** Compute Engine 0.
|
|
1
|
+
/** Compute Engine 0.34.0 */
|
|
2
2
|
|
|
3
3
|
// src/math-json/utils.ts
|
|
4
4
|
function isNumberObject(expr) {
|
|
@@ -115,7 +115,7 @@ function expressionToDictionaryValue(expr) {
|
|
|
115
115
|
}
|
|
116
116
|
|
|
117
117
|
// src/math-json.ts
|
|
118
|
-
var version = "0.
|
|
118
|
+
var version = "0.34.0";
|
|
119
119
|
export {
|
|
120
120
|
dictionaryFromExpression,
|
|
121
121
|
isFunctionObject,
|
|
@@ -1,130 +1,2 @@
|
|
|
1
|
-
/** Compute Engine 0.
|
|
2
|
-
|
|
3
|
-
// src/math-json/utils.ts
|
|
4
|
-
function isNumberObject(expr) {
|
|
5
|
-
return expr !== null && typeof expr === "object" && "num" in expr;
|
|
6
|
-
}
|
|
7
|
-
function isSymbolObject(expr) {
|
|
8
|
-
return expr !== null && typeof expr === "object" && "sym" in expr;
|
|
9
|
-
}
|
|
10
|
-
function isStringObject(expr) {
|
|
11
|
-
return expr !== null && typeof expr === "object" && "str" in expr;
|
|
12
|
-
}
|
|
13
|
-
function isDictionaryObject(expr) {
|
|
14
|
-
return expr !== null && typeof expr === "object" && "dict" in expr && typeof expr.dict === "object" && !Array.isArray(expr.dict) && expr.dict !== null;
|
|
15
|
-
}
|
|
16
|
-
function isFunctionObject(expr) {
|
|
17
|
-
return expr !== null && typeof expr === "object" && "fn" in expr && Array.isArray(expr.fn) && expr.fn.length > 0 && typeof expr.fn[0] === "string";
|
|
18
|
-
}
|
|
19
|
-
function stringValue(expr) {
|
|
20
|
-
if (expr === null || expr === void 0) return null;
|
|
21
|
-
if (typeof expr === "object" && "str" in expr) return expr.str;
|
|
22
|
-
if (typeof expr !== "string") return null;
|
|
23
|
-
if (expr.length >= 2 && expr.at(0) === "'" && expr.at(-1) === "'")
|
|
24
|
-
return expr.substring(1, expr.length - 1);
|
|
25
|
-
if (matchesNumber(expr) || matchesSymbol(expr)) return null;
|
|
26
|
-
return expr;
|
|
27
|
-
}
|
|
28
|
-
function operator(expr) {
|
|
29
|
-
if (Array.isArray(expr)) return expr[0];
|
|
30
|
-
if (expr === null || expr === void 0) return "";
|
|
31
|
-
if (isFunctionObject(expr)) return expr.fn[0];
|
|
32
|
-
return "";
|
|
33
|
-
}
|
|
34
|
-
function operands(expr) {
|
|
35
|
-
if (Array.isArray(expr)) return expr.slice(1);
|
|
36
|
-
if (expr !== void 0 && isFunctionObject(expr)) return expr.fn.slice(1);
|
|
37
|
-
return [];
|
|
38
|
-
}
|
|
39
|
-
function operand(expr, n) {
|
|
40
|
-
if (Array.isArray(expr)) return expr[n] ?? null;
|
|
41
|
-
if (expr === null || !isFunctionObject(expr)) return null;
|
|
42
|
-
return expr.fn[n] ?? null;
|
|
43
|
-
}
|
|
44
|
-
function nops(expr) {
|
|
45
|
-
if (expr === null || expr === void 0) return 0;
|
|
46
|
-
if (Array.isArray(expr)) return Math.max(0, expr.length - 1);
|
|
47
|
-
if (isFunctionObject(expr)) return Math.max(0, expr.fn.length - 1);
|
|
48
|
-
return 0;
|
|
49
|
-
}
|
|
50
|
-
function symbol(expr) {
|
|
51
|
-
if (typeof expr === "string" && matchesSymbol(expr)) {
|
|
52
|
-
if (expr.length >= 2 && expr.at(0) === "`" && expr.at(-1) === "`")
|
|
53
|
-
return expr.slice(1, -1);
|
|
54
|
-
return expr;
|
|
55
|
-
}
|
|
56
|
-
if (expr === null || expr === void 0) return null;
|
|
57
|
-
if (isSymbolObject(expr)) return expr.sym;
|
|
58
|
-
return null;
|
|
59
|
-
}
|
|
60
|
-
function keyValuePair(expr) {
|
|
61
|
-
const h = operator(expr);
|
|
62
|
-
if (h === "KeyValuePair" || h === "Tuple" || h === "Pair") {
|
|
63
|
-
const [k, v] = operands(expr);
|
|
64
|
-
const key = stringValue(k);
|
|
65
|
-
if (!key) return null;
|
|
66
|
-
return [key, v ?? "Nothing"];
|
|
67
|
-
}
|
|
68
|
-
return null;
|
|
69
|
-
}
|
|
70
|
-
function dictionaryFromExpression(expr) {
|
|
71
|
-
if (expr === null) return null;
|
|
72
|
-
if (isDictionaryObject(expr)) return expr;
|
|
73
|
-
const kv = keyValuePair(expr);
|
|
74
|
-
if (kv) return { [kv[0]]: kv[1] };
|
|
75
|
-
if (operator(expr) === "Dictionary") {
|
|
76
|
-
const dict = {};
|
|
77
|
-
const ops = operands(expr);
|
|
78
|
-
for (let i = 1; i < nops(expr); i++) {
|
|
79
|
-
const kv2 = keyValuePair(ops[i]);
|
|
80
|
-
if (kv2) {
|
|
81
|
-
dict[kv2[0]] = expressionToDictionaryValue(kv2[1]) ?? "Nothing";
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
return { dict };
|
|
85
|
-
}
|
|
86
|
-
return null;
|
|
87
|
-
}
|
|
88
|
-
function mapArgs(expr, fn) {
|
|
89
|
-
let args = null;
|
|
90
|
-
if (Array.isArray(expr)) args = expr;
|
|
91
|
-
if (isFunctionObject(expr)) args = expr.fn;
|
|
92
|
-
if (args === null) return [];
|
|
93
|
-
let i = 1;
|
|
94
|
-
const result = [];
|
|
95
|
-
while (i < args.length) {
|
|
96
|
-
result.push(fn(args[i]));
|
|
97
|
-
i += 1;
|
|
98
|
-
}
|
|
99
|
-
return result;
|
|
100
|
-
}
|
|
101
|
-
function matchesNumber(s) {
|
|
102
|
-
return /^(nan|oo|\+oo|-oo|infinity|\+infinity|-infinity)$/i.test(s) || /^[+-]?(0|[1-9][0-9]*)(\.[0-9]+)?(\([0-9]+\))?([eE][+-]?[0-9]+)?$/.test(s);
|
|
103
|
-
}
|
|
104
|
-
function matchesSymbol(s) {
|
|
105
|
-
return /^[a-zA-Z_][a-zA-Z0-9_]*$/.test(s) || s.length >= 2 && s[0] === "`" && s[s.length - 1] === "`";
|
|
106
|
-
}
|
|
107
|
-
function expressionToDictionaryValue(expr) {
|
|
108
|
-
if (expr === null || expr === void 0) return null;
|
|
109
|
-
if (isStringObject(expr)) return expr.str;
|
|
110
|
-
if (isNumberObject(expr)) return parseFloat(expr.num);
|
|
111
|
-
if (isSymbolObject(expr)) return expr.sym;
|
|
112
|
-
if (typeof expr === "string" || typeof expr === "number") return expr;
|
|
113
|
-
if (Array.isArray(expr)) return { fn: expr };
|
|
114
|
-
return expr;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
// src/math-json.ts
|
|
118
|
-
var version = "0.32.1";
|
|
119
|
-
export {
|
|
120
|
-
dictionaryFromExpression,
|
|
121
|
-
isFunctionObject,
|
|
122
|
-
isStringObject,
|
|
123
|
-
isSymbolObject,
|
|
124
|
-
mapArgs,
|
|
125
|
-
operand,
|
|
126
|
-
operator,
|
|
127
|
-
stringValue,
|
|
128
|
-
symbol,
|
|
129
|
-
version
|
|
130
|
-
};
|
|
1
|
+
/** Compute Engine 0.34.0 */
|
|
2
|
+
function d(n){return n!==null&&typeof n=="object"&&"num"in n}function s(n){return n!==null&&typeof n=="object"&&"sym"in n}function a(n){return n!==null&&typeof n=="object"&&"str"in n}function m(n){return n!==null&&typeof n=="object"&&"dict"in n&&typeof n.dict=="object"&&!Array.isArray(n.dict)&&n.dict!==null}function u(n){return n!==null&&typeof n=="object"&&"fn"in n&&Array.isArray(n.fn)&&n.fn.length>0&&typeof n.fn[0]=="string"}function c(n){return n==null?null:typeof n=="object"&&"str"in n?n.str:typeof n!="string"?null:n.length>=2&&n.at(0)==="'"&&n.at(-1)==="'"?n.substring(1,n.length-1):M(n)||b(n)?null:n}function l(n){return Array.isArray(n)?n[0]:n==null?"":u(n)?n.fn[0]:""}function y(n){return Array.isArray(n)?n.slice(1):n!==void 0&&u(n)?n.fn.slice(1):[]}function E(n,t){return Array.isArray(n)?n[t]??null:n===null||!u(n)?null:n.fn[t]??null}function h(n){return n==null?0:Array.isArray(n)?Math.max(0,n.length-1):u(n)?Math.max(0,n.fn.length-1):0}function g(n){return typeof n=="string"&&b(n)?n.length>=2&&n.at(0)==="`"&&n.at(-1)==="`"?n.slice(1,-1):n:n==null?null:s(n)?n.sym:null}function f(n){let t=l(n);if(t==="KeyValuePair"||t==="Tuple"||t==="Pair"){let[i,r]=y(n),e=c(i);return e?[e,r??"Nothing"]:null}return null}function j(n){if(n===null)return null;if(m(n))return n;let t=f(n);if(t)return{[t[0]]:t[1]};if(l(n)==="Dictionary"){let i={},r=y(n);for(let e=1;e<h(n);e++){let o=f(r[e]);o&&(i[o[0]]=A(o[1])??"Nothing")}return{dict:i}}return null}function O(n,t){let i=null;if(Array.isArray(n)&&(i=n),u(n)&&(i=n.fn),i===null)return[];let r=1,e=[];for(;r<i.length;)e.push(t(i[r])),r+=1;return e}function M(n){return/^(nan|oo|\+oo|-oo|infinity|\+infinity|-infinity)$/i.test(n)||/^[+-]?(0|[1-9][0-9]*)(\.[0-9]+)?(\([0-9]+\))?([eE][+-]?[0-9]+)?$/.test(n)}function b(n){return/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(n)||n.length>=2&&n[0]==="`"&&n[n.length-1]==="`"}function A(n){return n==null?null:a(n)?n.str:d(n)?parseFloat(n.num):s(n)?n.sym:typeof n=="string"||typeof n=="number"?n:Array.isArray(n)?{fn:n}:n}var S="0.34.0";export{j as dictionaryFromExpression,u as isFunctionObject,a as isStringObject,s as isSymbolObject,O as mapArgs,E as operand,l as operator,c as stringValue,g as symbol,S as version};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** MathJSON 0.
|
|
1
|
+
/** MathJSON 0.34.0 */
|
|
2
2
|
(function(global,factory){typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'],factory):(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.MathJson = {}));})(this, (function (exports) { 'use strict';
|
|
3
|
-
var MathJson=(()=>{var f=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames;var M=Object.prototype.hasOwnProperty;var A=(n,t)=>{for(var i in t)f(n,i,{get:t[i],enumerable:!0})},J=(n,t,i,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of O(t))!M.call(n,e)&&e!==i&&f(n,e,{get:()=>t[e],enumerable:!(r=j(t,e))||r.enumerable});return n};var S=n=>J(f({},"__esModule",{value:!0}),n);var T={};A(T,{dictionaryFromExpression:()=>E,isFunctionObject:()=>u,isStringObject:()=>a,isSymbolObject:()=>o,mapArgs:()=>h,operand:()=>d,operator:()=>s,stringValue:()=>c,symbol:()=>m,version:()=>V});function N(n){return n!==null&&typeof n=="object"&&"num"in n}function o(n){return n!==null&&typeof n=="object"&&"sym"in n}function a(n){return n!==null&&typeof n=="object"&&"str"in n}function p(n){return n!==null&&typeof n=="object"&&"dict"in n&&typeof n.dict=="object"&&!Array.isArray(n.dict)&&n.dict!==null}function u(n){return n!==null&&typeof n=="object"&&"fn"in n&&Array.isArray(n.fn)&&n.fn.length>0&&typeof n.fn[0]=="string"}function c(n){return n==null?null:typeof n=="object"&&"str"in n?n.str:typeof n!="string"?null:n.length>=2&&n.at(0)==="'"&&n.at(-1)==="'"?n.substring(1,n.length-1):k(n)||g(n)?null:n}function s(n){return Array.isArray(n)?n[0]:n==null?"":u(n)?n.fn[0]:""}function b(n){return Array.isArray(n)?n.slice(1):n!==void 0&&u(n)?n.fn.slice(1):[]}function d(n,t){return Array.isArray(n)?n[t]??null:n===null||!u(n)?null:n.fn[t]??null}function D(n){return n==null?0:Array.isArray(n)?Math.max(0,n.length-1):u(n)?Math.max(0,n.fn.length-1):0}function m(n){return typeof n=="string"&&g(n)?n.length>=2&&n.at(0)==="`"&&n.at(-1)==="`"?n.slice(1,-1):n:n==null?null:o(n)?n.sym:null}function y(n){let t=s(n);if(t==="KeyValuePair"||t==="Tuple"||t==="Pair"){let[i,r]=b(n),e=c(i);return e?[e,r??"Nothing"]:null}return null}function E(n){if(n===null)return null;if(p(n))return n;let t=y(n);if(t)return{[t[0]]:t[1]};if(s(n)==="Dictionary"){let i={},r=b(n);for(let e=1;e<D(n);e++){let l=y(r[e]);l&&(i[l[0]]=F(l[1])??"Nothing")}return{dict:i}}return null}function h(n,t){let i=null;if(Array.isArray(n)&&(i=n),u(n)&&(i=n.fn),i===null)return[];let r=1,e=[];for(;r<i.length;)e.push(t(i[r])),r+=1;return e}function k(n){return/^(nan|oo|\+oo|-oo|infinity|\+infinity|-infinity)$/i.test(n)||/^[+-]?(0|[1-9][0-9]*)(\.[0-9]+)?(\([0-9]+\))?([eE][+-]?[0-9]+)?$/.test(n)}function g(n){return/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(n)||n.length>=2&&n[0]==="`"&&n[n.length-1]==="`"}function F(n){return n==null?null:a(n)?n.str:N(n)?parseFloat(n.num):o(n)?n.sym:typeof n=="string"||typeof n=="number"?n:Array.isArray(n)?{fn:n}:n}var V="0.
|
|
3
|
+
var MathJson=(()=>{var f=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames;var M=Object.prototype.hasOwnProperty;var A=(n,t)=>{for(var i in t)f(n,i,{get:t[i],enumerable:!0})},J=(n,t,i,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of O(t))!M.call(n,e)&&e!==i&&f(n,e,{get:()=>t[e],enumerable:!(r=j(t,e))||r.enumerable});return n};var S=n=>J(f({},"__esModule",{value:!0}),n);var T={};A(T,{dictionaryFromExpression:()=>E,isFunctionObject:()=>u,isStringObject:()=>a,isSymbolObject:()=>o,mapArgs:()=>h,operand:()=>d,operator:()=>s,stringValue:()=>c,symbol:()=>m,version:()=>V});function N(n){return n!==null&&typeof n=="object"&&"num"in n}function o(n){return n!==null&&typeof n=="object"&&"sym"in n}function a(n){return n!==null&&typeof n=="object"&&"str"in n}function p(n){return n!==null&&typeof n=="object"&&"dict"in n&&typeof n.dict=="object"&&!Array.isArray(n.dict)&&n.dict!==null}function u(n){return n!==null&&typeof n=="object"&&"fn"in n&&Array.isArray(n.fn)&&n.fn.length>0&&typeof n.fn[0]=="string"}function c(n){return n==null?null:typeof n=="object"&&"str"in n?n.str:typeof n!="string"?null:n.length>=2&&n.at(0)==="'"&&n.at(-1)==="'"?n.substring(1,n.length-1):k(n)||g(n)?null:n}function s(n){return Array.isArray(n)?n[0]:n==null?"":u(n)?n.fn[0]:""}function b(n){return Array.isArray(n)?n.slice(1):n!==void 0&&u(n)?n.fn.slice(1):[]}function d(n,t){return Array.isArray(n)?n[t]??null:n===null||!u(n)?null:n.fn[t]??null}function D(n){return n==null?0:Array.isArray(n)?Math.max(0,n.length-1):u(n)?Math.max(0,n.fn.length-1):0}function m(n){return typeof n=="string"&&g(n)?n.length>=2&&n.at(0)==="`"&&n.at(-1)==="`"?n.slice(1,-1):n:n==null?null:o(n)?n.sym:null}function y(n){let t=s(n);if(t==="KeyValuePair"||t==="Tuple"||t==="Pair"){let[i,r]=b(n),e=c(i);return e?[e,r??"Nothing"]:null}return null}function E(n){if(n===null)return null;if(p(n))return n;let t=y(n);if(t)return{[t[0]]:t[1]};if(s(n)==="Dictionary"){let i={},r=b(n);for(let e=1;e<D(n);e++){let l=y(r[e]);l&&(i[l[0]]=F(l[1])??"Nothing")}return{dict:i}}return null}function h(n,t){let i=null;if(Array.isArray(n)&&(i=n),u(n)&&(i=n.fn),i===null)return[];let r=1,e=[];for(;r<i.length;)e.push(t(i[r])),r+=1;return e}function k(n){return/^(nan|oo|\+oo|-oo|infinity|\+infinity|-infinity)$/i.test(n)||/^[+-]?(0|[1-9][0-9]*)(\.[0-9]+)?(\([0-9]+\))?([eE][+-]?[0-9]+)?$/.test(n)}function g(n){return/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(n)||n.length>=2&&n[0]==="`"&&n[n.length-1]==="`"}function F(n){return n==null?null:a(n)?n.str:N(n)?parseFloat(n.num):o(n)?n.sym:typeof n=="string"||typeof n=="number"?n:Array.isArray(n)?{fn:n}:n}var V="0.34.0";return S(T);})();
|
|
4
4
|
Object.assign(exports, MathJson); Object.defineProperty(exports, '__esModule', { value: true });}));
|
package/dist/math-json.umd.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** MathJSON 0.
|
|
1
|
+
/** MathJSON 0.34.0 */
|
|
2
2
|
(function(global,factory){typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'],factory):(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.MathJson = {}));})(this, (function (exports) { 'use strict';
|
|
3
3
|
var MathJson = (() => {
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -149,7 +149,7 @@ var MathJson = (() => {
|
|
|
149
149
|
}
|
|
150
150
|
|
|
151
151
|
// src/math-json.ts
|
|
152
|
-
var version = "0.
|
|
152
|
+
var version = "0.34.0";
|
|
153
153
|
return __toCommonJS(math_json_exports);
|
|
154
154
|
})();
|
|
155
155
|
Object.assign(exports, MathJson); Object.defineProperty(exports, '__esModule', { value: true });}));
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.34.0 */
|
|
2
2
|
export declare function fuzzyStringMatch(invalidWord: string, validWords: string[]): string | null;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.34.0 */
|
|
2
2
|
infer Head,
|
|
3
3
|
...infer Rem
|
|
4
4
|
] ? MergeTypes<Rem, Res & Head> : Res;
|
|
5
5
|
/** @internal */
|
|
6
6
|
export type OneOf<TypesArray extends any[], Res = never, AllProperties = MergeTypes<TypesArray>> = TypesArray extends [infer Head, ...infer Rem] ? OneOf<Rem, Res | OnlyFirst<Head, AllProperties>, AllProperties> : Res;
|
|
7
|
+
/** @internal */
|
|
7
8
|
type OnlyFirst<F, S> = F & {
|
|
8
9
|
[Key in keyof Omit<S, keyof F>]?: never;
|
|
9
10
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.34.0 */
|
|
2
2
|
export type RuntimeSignalCode = 'timeout' | 'out-of-memory' | 'recursion-depth-exceeded' | 'iteration-limit-exceeded';
|
|
3
3
|
/** @category Error Handling */
|
|
4
4
|
export type SignalCode = RuntimeSignalCode | ('invalid-name' | 'expected-predicate' | 'expected-symbol' | 'operator-requires-one-operand' | 'postfix-operator-requires-one-operand' | 'prefix-operator-requires-one-operand' | 'unbalanced-symbols' | 'expected-argument' | 'unexpected-command' | 'cyclic-definition' | 'invalid-supersets' | 'expected-supersets' | 'unknown-domain' | 'duplicate-wikidata' | 'invalid-dictionary-entry' | 'syntax-error');
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.34.0 */
|
|
2
2
|
export declare function typeToString(type: Type, precedence?: number): string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.34.0 */
|
|
2
2
|
/**
|
|
3
3
|
* Add an assumption, in the form of a predicate, for example:
|
|
4
4
|
*
|
|
@@ -24,3 +24,39 @@
|
|
|
24
24
|
*
|
|
25
25
|
*/
|
|
26
26
|
export declare function assume(proposition: BoxedExpression): AssumeResult;
|
|
27
|
+
/**
|
|
28
|
+
* Query assumptions to determine the sign of a symbol.
|
|
29
|
+
*
|
|
30
|
+
* Examines inequality assumptions in the current context to determine
|
|
31
|
+
* if a symbol's sign can be inferred. Assumptions are stored in normalized
|
|
32
|
+
* form (Less or LessEqual with lhs-rhs compared to 0), so:
|
|
33
|
+
* - `x > 0` is stored as `Less(-x, 0)` meaning `-x < 0`
|
|
34
|
+
* - `x >= 0` is stored as `LessEqual(-x, 0)` meaning `-x <= 0`
|
|
35
|
+
* - `x < 0` is stored as `Less(x, 0)` meaning `x < 0`
|
|
36
|
+
* - `x <= 0` is stored as `LessEqual(x, 0)` meaning `x <= 0`
|
|
37
|
+
*
|
|
38
|
+
* @param ce - The compute engine instance
|
|
39
|
+
* @param symbol - The symbol name to query
|
|
40
|
+
* @returns The inferred sign, or undefined if no relevant assumptions found
|
|
41
|
+
*/
|
|
42
|
+
export declare function getSignFromAssumptions(ce: ComputeEngine, symbol: string): Sign | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Get inequality bounds for a symbol from the assumption database.
|
|
45
|
+
*
|
|
46
|
+
* For example, if `x > 4` is assumed, this returns `{ lowerBound: 4, lowerStrict: true }`.
|
|
47
|
+
* If `x <= 10` is assumed, this returns `{ upperBound: 10, upperStrict: false }`.
|
|
48
|
+
*
|
|
49
|
+
* Note: Assumptions are normalized to forms like:
|
|
50
|
+
* - `x > 4` becomes `Less(Add(Negate(x), 4), 0)` i.e., `4 - x < 0`
|
|
51
|
+
* - `x > 0` becomes `Less(Negate(x), 0)` i.e., `-x < 0`
|
|
52
|
+
*
|
|
53
|
+
* @param ce - The compute engine instance
|
|
54
|
+
* @param symbol - The symbol name to query
|
|
55
|
+
* @returns An object with lowerBound, upperBound, and strictness flags
|
|
56
|
+
*/
|
|
57
|
+
export declare function getInequalityBoundsFromAssumptions(ce: ComputeEngine, symbol: string): {
|
|
58
|
+
lowerBound?: BoxedExpression;
|
|
59
|
+
lowerStrict?: boolean;
|
|
60
|
+
upperBound?: BoxedExpression;
|
|
61
|
+
upperStrict?: boolean;
|
|
62
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.34.0 */
|
|
2
2
|
import type { Expression, MathJsonSymbol } from '../../math-json/types';
|
|
3
3
|
import type { Type, TypeString } from '../../common/type/types';
|
|
4
4
|
import { BoxedType } from '../../common/type/boxed-type';
|
|
@@ -113,7 +113,7 @@ export declare abstract class _BoxedExpression implements BoxedExpression {
|
|
|
113
113
|
canonical: CanonicalOptions;
|
|
114
114
|
recursive?: boolean;
|
|
115
115
|
}): BoxedExpression;
|
|
116
|
-
solve(_vars?: Iterable<string> | string | BoxedExpression | Iterable<BoxedExpression>): null | ReadonlyArray<BoxedExpression
|
|
116
|
+
solve(_vars?: Iterable<string> | string | BoxedExpression | Iterable<BoxedExpression>): null | ReadonlyArray<BoxedExpression> | Record<string, BoxedExpression> | Array<Record<string, BoxedExpression>>;
|
|
117
117
|
replace(_rules: BoxedRuleSet | Rule | Rule[]): null | BoxedExpression;
|
|
118
118
|
has(_v: string | string[]): boolean;
|
|
119
119
|
get description(): string[] | undefined;
|
|
@@ -135,12 +135,15 @@ export declare abstract class _BoxedExpression implements BoxedExpression {
|
|
|
135
135
|
get isRational(): boolean | undefined;
|
|
136
136
|
get isReal(): boolean | undefined;
|
|
137
137
|
simplify(_options?: Partial<SimplifyOptions>): BoxedExpression;
|
|
138
|
+
trigSimplify(): BoxedExpression;
|
|
138
139
|
expand(): BoxedExpression;
|
|
139
140
|
evaluate(_options?: Partial<EvaluateOptions>): BoxedExpression;
|
|
140
141
|
evaluateAsync(_options?: Partial<EvaluateOptions>): Promise<BoxedExpression>;
|
|
141
142
|
N(): BoxedExpression;
|
|
142
143
|
compile(options?: {
|
|
143
|
-
to?:
|
|
144
|
+
to?: string;
|
|
145
|
+
target?: any;
|
|
146
|
+
operators?: Partial<Record<MathJsonSymbol, [op: string, prec: number]>> | ((op: MathJsonSymbol) => [op: string, prec: number] | undefined);
|
|
144
147
|
functions?: Record<MathJsonSymbol, string | ((...any: any[]) => any)>;
|
|
145
148
|
vars?: Record<MathJsonSymbol, string>;
|
|
146
149
|
imports?: ((...any: any[]) => any)[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.34.0 */
|
|
2
2
|
import { Decimal } from 'decimal.js';
|
|
3
3
|
import type { BoxedExpression } from '../global-types';
|
|
4
4
|
export declare function apply(expr: BoxedExpression, fn: (x: number) => number | Complex, bigFn?: (x: Decimal) => Decimal | Complex | number, complexFn?: (x: Complex) => number | Complex): BoxedExpression | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.34.0 */
|
|
2
2
|
import type { SimplifyOptions, ReplaceOptions, PatternMatchOptions, BoxedExpression, BoxedBaseDefinition, BoxedOperatorDefinition, BoxedRuleSet, BoxedSubstitution, CanonicalOptions, EvaluateOptions, ComputeEngine, Metadata, Rule, Sign, Substitution, Scope, BoxedValueDefinition } from '../global-types';
|
|
3
3
|
import { Type } from '../../common/type/types';
|
|
4
4
|
import { BoxedType } from '../../common/type/boxed-type';
|
|
@@ -114,11 +114,15 @@ export declare class BoxedFunction extends _BoxedExpression {
|
|
|
114
114
|
get isFunctionExpression(): boolean;
|
|
115
115
|
/** The type of the value of the function */
|
|
116
116
|
get type(): BoxedType;
|
|
117
|
+
/** The shape of the tensor (dimensions), derived from the type */
|
|
118
|
+
get shape(): number[];
|
|
119
|
+
/** The rank of the tensor (number of dimensions), derived from the type */
|
|
120
|
+
get rank(): number;
|
|
117
121
|
simplify(options?: Partial<SimplifyOptions>): BoxedExpression;
|
|
118
122
|
evaluate(options?: Partial<EvaluateOptions>): BoxedExpression;
|
|
119
123
|
evaluateAsync(options?: Partial<EvaluateOptions>): Promise<BoxedExpression>;
|
|
120
124
|
N(): BoxedExpression;
|
|
121
|
-
solve(vars?: Iterable<string> | string | BoxedExpression | Iterable<BoxedExpression>): null | ReadonlyArray<BoxedExpression
|
|
125
|
+
solve(vars?: Iterable<string> | string | BoxedExpression | Iterable<BoxedExpression>): null | ReadonlyArray<BoxedExpression> | Record<string, BoxedExpression> | Array<Record<string, BoxedExpression>>;
|
|
122
126
|
get isCollection(): boolean;
|
|
123
127
|
get isIndexedCollection(): boolean;
|
|
124
128
|
get isLazyCollection(): boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.34.0 */
|
|
2
2
|
import { BoxedType } from '../../common/type/boxed-type';
|
|
3
3
|
import type { OperatorDefinition, BoxedExpression, BoxedOperatorDefinition, CollectionHandlers, CompiledExpression, EvaluateOptions, ComputeEngine, Sign } from '../global-types';
|
|
4
4
|
export declare class _BoxedOperatorDefinition implements BoxedOperatorDefinition {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.34.0 */
|
|
2
2
|
import type { Type, TypeString } from '../../common/type/types';
|
|
3
3
|
import type { OneOf } from '../../common/one-of';
|
|
4
4
|
import { BoxedType } from '../../common/type/boxed-type';
|
|
@@ -128,6 +128,10 @@ export declare class BoxedSymbol extends _BoxedExpression {
|
|
|
128
128
|
set type(t: Type | TypeString | BoxedType);
|
|
129
129
|
has(x: MathJsonSymbol | MathJsonSymbol[]): boolean;
|
|
130
130
|
match(pattern: BoxedExpression, options?: PatternMatchOptions): BoxedSubstitution | null;
|
|
131
|
+
/** The shape of the tensor (dimensions), derived from the type */
|
|
132
|
+
get shape(): number[];
|
|
133
|
+
/** The rank of the tensor (number of dimensions), derived from the type */
|
|
134
|
+
get rank(): number;
|
|
131
135
|
get sgn(): Sign | undefined;
|
|
132
136
|
get isOdd(): boolean | undefined;
|
|
133
137
|
get isEven(): boolean | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.34.0 */
|
|
2
2
|
import type { ComputeEngine, TensorDataType, Metadata, BoxedBaseDefinition, BoxedOperatorDefinition, BoxedSubstitution, EvaluateOptions, BoxedExpression, SimplifyOptions, PatternMatchOptions, Tensor } from '../global-types';
|
|
3
3
|
import { BoxedType } from '../../common/type/boxed-type';
|
|
4
4
|
import { NumericValue } from '../numeric-value/types';
|
|
@@ -75,6 +75,7 @@ export declare class BoxedTensor<T extends TensorDataType> extends _BoxedExpress
|
|
|
75
75
|
evaluate(options?: Partial<EvaluateOptions>): BoxedExpression;
|
|
76
76
|
simplify(options?: Partial<SimplifyOptions>): BoxedExpression;
|
|
77
77
|
N(): BoxedExpression;
|
|
78
|
+
solve(vars?: Iterable<string> | string | BoxedExpression | Iterable<BoxedExpression>): null | ReadonlyArray<BoxedExpression> | Record<string, BoxedExpression> | Array<Record<string, BoxedExpression>>;
|
|
78
79
|
}
|
|
79
80
|
export declare function isBoxedTensor(val: unknown): val is BoxedTensor<any>;
|
|
80
81
|
export declare function expressionTensorInfo(operator: string, rows: ReadonlyArray<BoxedExpression>): {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.34.0 */
|
|
2
2
|
import type { Type, TypeString } from '../../common/type/types';
|
|
3
3
|
import { BoxedType } from '../../common/type/boxed-type';
|
|
4
4
|
import { ConfigurationChangeListener } from '../../common/configuration-change';
|
|
@@ -35,6 +35,10 @@ export declare class _BoxedValueDefinition implements BoxedValueDefinition, Conf
|
|
|
35
35
|
neq?: (a: BoxedExpression) => boolean | undefined;
|
|
36
36
|
cmp?: (a: BoxedExpression) => '=' | '>' | '<' | undefined;
|
|
37
37
|
collection?: CollectionHandlers;
|
|
38
|
+
subscriptEvaluate?: (subscript: BoxedExpression, options: {
|
|
39
|
+
engine: ComputeEngine;
|
|
40
|
+
numericApproximation?: boolean;
|
|
41
|
+
}) => BoxedExpression | undefined;
|
|
38
42
|
constructor(ce: ComputeEngine, name: string, def: Partial<ValueDefinition>);
|
|
39
43
|
/** For debugging */
|
|
40
44
|
toJSON(): any;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.34.0 */
|
|
2
2
|
export declare function canonicalForm(expr: BoxedExpression, forms: CanonicalOptions, scope?: Scope): BoxedExpression;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.34.0 */
|
|
2
2
|
export declare function expandProducts(ce: ComputeEngine, ops: ReadonlyArray<BoxedExpression>): BoxedExpression | null;
|
|
3
3
|
export declare function choose(n: number, k: number): number;
|
|
4
4
|
/** Attempt to transform the expression (h, ops) into a sum */
|