mathjs 11.8.2 → 11.9.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.
- package/HISTORY.md +24 -0
- package/lib/browser/math.js +1 -1
- package/lib/browser/math.js.LICENSE.txt +2 -2
- package/lib/browser/math.js.map +1 -1
- package/lib/cjs/entry/dependenciesAny/dependenciesFreqz.generated.js +28 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesRange.generated.js +4 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesRangeTransform.generated.js +4 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSolveODE.generated.js +46 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesZpk2tf.generated.js +26 -0
- package/lib/cjs/entry/dependenciesAny.generated.js +21 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesRange.generated.js +4 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesRangeTransform.generated.js +4 -0
- package/lib/cjs/entry/impureFunctionsAny.generated.js +35 -30
- package/lib/cjs/entry/impureFunctionsNumber.generated.js +2 -0
- package/lib/cjs/entry/pureFunctionsAny.generated.js +82 -45
- package/lib/cjs/entry/pureFunctionsNumber.generated.js +2 -0
- package/lib/cjs/expression/embeddedDocs/core/typed.js +1 -1
- package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +11 -3
- package/lib/cjs/expression/embeddedDocs/function/{matrix → algebra}/lyap.js +2 -2
- package/lib/cjs/expression/embeddedDocs/function/algebra/polynomialRoot.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/{matrix → algebra}/schur.js +2 -2
- package/lib/cjs/expression/embeddedDocs/function/algebra/simplifyConstant.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/{matrix → algebra}/sylvester.js +2 -2
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/invmod.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/expression/evaluate.js +2 -2
- package/lib/cjs/expression/embeddedDocs/function/matrix/diff.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/matrix/range.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/numeric/solveODE.js +15 -0
- package/lib/cjs/expression/embeddedDocs/function/signal/freqz.js +15 -0
- package/lib/cjs/expression/embeddedDocs/function/signal/zpk2tf.js +15 -0
- package/lib/cjs/expression/embeddedDocs/function/utils/numeric.js +1 -1
- package/lib/cjs/expression/node/FunctionNode.js +5 -6
- package/lib/cjs/expression/node/ObjectNode.js +5 -7
- package/lib/cjs/expression/node/SymbolNode.js +1 -1
- package/lib/cjs/expression/transform/range.transform.js +7 -3
- package/lib/cjs/factoriesAny.js +21 -0
- package/lib/cjs/function/algebra/simplify.js +3 -0
- package/lib/cjs/function/matrix/range.js +34 -110
- package/lib/cjs/function/numeric/solveODE.js +315 -0
- package/lib/cjs/function/signal/freqz.js +117 -0
- package/lib/cjs/function/signal/zpk2tf.js +95 -0
- package/lib/cjs/header.js +2 -2
- package/lib/cjs/type/unit/Unit.js +15 -13
- package/lib/cjs/utils/customs.js +4 -3
- package/lib/cjs/version.js +1 -1
- package/lib/esm/entry/dependenciesAny/dependenciesFreqz.generated.js +20 -0
- package/lib/esm/entry/dependenciesAny/dependenciesRange.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesRangeTransform.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSolveODE.generated.js +38 -0
- package/lib/esm/entry/dependenciesAny/dependenciesZpk2tf.generated.js +18 -0
- package/lib/esm/entry/dependenciesAny.generated.js +3 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesRange.generated.js +4 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesRangeTransform.generated.js +4 -0
- package/lib/esm/entry/impureFunctionsAny.generated.js +34 -29
- package/lib/esm/entry/impureFunctionsNumber.generated.js +2 -0
- package/lib/esm/entry/pureFunctionsAny.generated.js +70 -36
- package/lib/esm/entry/pureFunctionsNumber.generated.js +2 -0
- package/lib/esm/expression/embeddedDocs/core/typed.js +1 -1
- package/lib/esm/expression/embeddedDocs/embeddedDocs.js +11 -3
- package/lib/esm/expression/embeddedDocs/function/{matrix → algebra}/lyap.js +2 -2
- package/lib/esm/expression/embeddedDocs/function/algebra/polynomialRoot.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/{matrix → algebra}/schur.js +2 -2
- package/lib/esm/expression/embeddedDocs/function/algebra/simplifyConstant.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/{matrix → algebra}/sylvester.js +2 -2
- package/lib/esm/expression/embeddedDocs/function/arithmetic/invmod.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/expression/evaluate.js +2 -2
- package/lib/esm/expression/embeddedDocs/function/matrix/diff.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/range.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/numeric/solveODE.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/signal/freqz.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/signal/zpk2tf.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/utils/numeric.js +1 -1
- package/lib/esm/expression/node/FunctionNode.js +6 -7
- package/lib/esm/expression/node/ObjectNode.js +5 -7
- package/lib/esm/expression/node/SymbolNode.js +1 -1
- package/lib/esm/expression/transform/range.transform.js +7 -3
- package/lib/esm/factoriesAny.js +3 -0
- package/lib/esm/function/algebra/simplify.js +3 -0
- package/lib/esm/function/matrix/range.js +34 -110
- package/lib/esm/function/numeric/solveODE.js +284 -0
- package/lib/esm/function/signal/freqz.js +115 -0
- package/lib/esm/function/signal/zpk2tf.js +82 -0
- package/lib/esm/type/unit/Unit.js +15 -13
- package/lib/esm/utils/customs.js +4 -3
- package/lib/esm/version.js +1 -1
- package/package.json +15 -15
- package/types/index.d.ts +51 -6
|
@@ -9,7 +9,7 @@ var typedDocs = {
|
|
|
9
9
|
category: 'Core',
|
|
10
10
|
syntax: ['typed(signatures)', 'typed(name, signatures)'],
|
|
11
11
|
description: 'Create a typed function.',
|
|
12
|
-
examples: ['double = typed({ "number": f(x)=x+x })', 'double(2)', 'double("hello")'],
|
|
12
|
+
examples: ['double = typed({ "number": f(x)=x+x, "string": f(x)=concat(x,x) })', 'double(2)', 'double("hello")'],
|
|
13
13
|
seealso: []
|
|
14
14
|
};
|
|
15
15
|
exports.typedDocs = typedDocs;
|
|
@@ -85,9 +85,9 @@ var _round = require("./function/arithmetic/round.js");
|
|
|
85
85
|
var _sign = require("./function/arithmetic/sign.js");
|
|
86
86
|
var _sqrt = require("./function/arithmetic/sqrt.js");
|
|
87
87
|
var _sqrtm = require("./function/arithmetic/sqrtm.js");
|
|
88
|
-
var _sylvester = require("./function/
|
|
89
|
-
var _schur = require("./function/
|
|
90
|
-
var _lyap = require("./function/
|
|
88
|
+
var _sylvester = require("./function/algebra/sylvester.js");
|
|
89
|
+
var _schur = require("./function/algebra/schur.js");
|
|
90
|
+
var _lyap = require("./function/algebra/lyap.js");
|
|
91
91
|
var _square = require("./function/arithmetic/square.js");
|
|
92
92
|
var _subtract = require("./function/arithmetic/subtract.js");
|
|
93
93
|
var _unaryMinus = require("./function/arithmetic/unaryMinus.js");
|
|
@@ -187,6 +187,8 @@ var _setPowerset = require("./function/set/setPowerset.js");
|
|
|
187
187
|
var _setSize = require("./function/set/setSize.js");
|
|
188
188
|
var _setSymDifference = require("./function/set/setSymDifference.js");
|
|
189
189
|
var _setUnion = require("./function/set/setUnion.js");
|
|
190
|
+
var _zpk2tf = require("./function/signal/zpk2tf.js");
|
|
191
|
+
var _freqz = require("./function/signal/freqz.js");
|
|
190
192
|
var _erf = require("./function/special/erf.js");
|
|
191
193
|
var _mad = require("./function/statistics/mad.js");
|
|
192
194
|
var _max = require("./function/statistics/max.js");
|
|
@@ -242,6 +244,7 @@ var _numeric = require("./function/utils/numeric.js");
|
|
|
242
244
|
var _oct = require("./function/utils/oct.js");
|
|
243
245
|
var _print = require("./function/utils/print.js");
|
|
244
246
|
var _typeOf = require("./function/utils/typeOf.js");
|
|
247
|
+
var _solveODE = require("./function/numeric/solveODE.js");
|
|
245
248
|
var embeddedDocs = {
|
|
246
249
|
// construction functions
|
|
247
250
|
bignumber: _bignumber.bignumberDocs,
|
|
@@ -613,6 +616,8 @@ var embeddedDocs = {
|
|
|
613
616
|
sylvester: _sylvester.sylvesterDocs,
|
|
614
617
|
schur: _schur.schurDocs,
|
|
615
618
|
lyap: _lyap.lyapDocs,
|
|
619
|
+
// functions - numeric
|
|
620
|
+
solveODE: _solveODE.solveODEDocs,
|
|
616
621
|
// functions - probability
|
|
617
622
|
combinations: _combinations.combinationsDocs,
|
|
618
623
|
combinationsWithRep: _combinationsWithRep.combinationsWithRepDocs,
|
|
@@ -649,6 +654,9 @@ var embeddedDocs = {
|
|
|
649
654
|
setSize: _setSize.setSizeDocs,
|
|
650
655
|
setSymDifference: _setSymDifference.setSymDifferenceDocs,
|
|
651
656
|
setUnion: _setUnion.setUnionDocs,
|
|
657
|
+
// functions - signal
|
|
658
|
+
zpk2tf: _zpk2tf.zpk2tfDocs,
|
|
659
|
+
freqz: _freqz.freqzDocs,
|
|
652
660
|
// functions - special
|
|
653
661
|
erf: _erf.erfDocs,
|
|
654
662
|
// functions - statistics
|
|
@@ -6,10 +6,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.lyapDocs = void 0;
|
|
7
7
|
var lyapDocs = {
|
|
8
8
|
name: 'lyap',
|
|
9
|
-
category: '
|
|
9
|
+
category: 'Algebra',
|
|
10
10
|
syntax: ['lyap(A,Q)'],
|
|
11
11
|
description: 'Solves the Continuous-time Lyapunov equation AP+PA\'+Q=0 for P',
|
|
12
|
-
examples: ['lyap([[-2, 0], [1, -4]], [[3, 1], [1, 3]])', 'lyap(A,Q)'],
|
|
12
|
+
examples: ['lyap([[-2, 0], [1, -4]], [[3, 1], [1, 3]])', 'A = [[-2, 0], [1, -4]]', 'Q = [[3, 1], [1, 3]]', 'lyap(A,Q)'],
|
|
13
13
|
seealso: ['schur', 'sylvester']
|
|
14
14
|
};
|
|
15
15
|
exports.lyapDocs = lyapDocs;
|
|
@@ -9,7 +9,7 @@ var polynomialRootDocs = {
|
|
|
9
9
|
category: 'Algebra',
|
|
10
10
|
syntax: ['x=polynomialRoot(-6, 3)', 'x=polynomialRoot(4, -4, 1)', 'x=polynomialRoot(-8, 12, -6, 1)'],
|
|
11
11
|
description: 'Finds the roots of a univariate polynomial given by its coefficients starting from constant, linear, and so on, increasing in degree.',
|
|
12
|
-
examples: ['a = polynomialRoot(-6, 11, -6 1)'],
|
|
12
|
+
examples: ['a = polynomialRoot(-6, 11, -6, 1)'],
|
|
13
13
|
seealso: ['cbrt', 'sqrt']
|
|
14
14
|
};
|
|
15
15
|
exports.polynomialRootDocs = polynomialRootDocs;
|
|
@@ -6,10 +6,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.schurDocs = void 0;
|
|
7
7
|
var schurDocs = {
|
|
8
8
|
name: 'schur',
|
|
9
|
-
category: '
|
|
9
|
+
category: 'Algebra',
|
|
10
10
|
syntax: ['schur(A)'],
|
|
11
11
|
description: 'Performs a real Schur decomposition of the real matrix A = UTU\'',
|
|
12
|
-
examples: ['schur([[1, 0], [-4, 3]])', 'schur(A)'],
|
|
12
|
+
examples: ['schur([[1, 0], [-4, 3]])', 'A = [[1, 0], [-4, 3]]', 'schur(A)'],
|
|
13
13
|
seealso: ['lyap', 'sylvester']
|
|
14
14
|
};
|
|
15
15
|
exports.schurDocs = schurDocs;
|
|
@@ -9,7 +9,7 @@ var simplifyConstantDocs = {
|
|
|
9
9
|
category: 'Algebra',
|
|
10
10
|
syntax: ['simplifyConstant(expr)', 'simplifyConstant(expr, options)'],
|
|
11
11
|
description: 'Replace constant subexpressions of node with their values.',
|
|
12
|
-
examples: ['
|
|
12
|
+
examples: ['simplifyConstant("(3-3)*x")', 'simplifyConstant(parse("z-cos(tau/8)"))'],
|
|
13
13
|
seealso: ['simplify', 'simplifyCore', 'evaluate']
|
|
14
14
|
};
|
|
15
15
|
exports.simplifyConstantDocs = simplifyConstantDocs;
|
|
@@ -6,10 +6,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.sylvesterDocs = void 0;
|
|
7
7
|
var sylvesterDocs = {
|
|
8
8
|
name: 'sylvester',
|
|
9
|
-
category: '
|
|
9
|
+
category: 'Algebra',
|
|
10
10
|
syntax: ['sylvester(A,B,C)'],
|
|
11
11
|
description: 'Solves the real-valued Sylvester equation AX+XB=C for X',
|
|
12
|
-
examples: ['sylvester([[-1, -2], [1, 1]], [[-2, 1], [-1, 2]], [[-3, 2], [3, 0]])', 'sylvester(A,B,C)'],
|
|
12
|
+
examples: ['sylvester([[-1, -2], [1, 1]], [[-2, 1], [-1, 2]], [[-3, 2], [3, 0]])', 'A = [[-1, -2], [1, 1]]; B = [[2, -1], [1, -2]]; C = [[-3, 2], [3, 0]]', 'sylvester(A, B, C)'],
|
|
13
13
|
seealso: ['schur', 'lyap']
|
|
14
14
|
};
|
|
15
15
|
exports.sylvesterDocs = sylvesterDocs;
|
|
@@ -9,7 +9,7 @@ var invmodDocs = {
|
|
|
9
9
|
category: 'Arithmetic',
|
|
10
10
|
syntax: ['invmod(a, b)'],
|
|
11
11
|
description: 'Calculate the (modular) multiplicative inverse of a modulo b. Solution to the equation ax ≣ 1 (mod b)',
|
|
12
|
-
examples: ['invmod(8, 12)
|
|
12
|
+
examples: ['invmod(8, 12)', 'invmod(7, 13)', 'invmod(15151, 15122)'],
|
|
13
13
|
seealso: ['gcd', 'xgcd']
|
|
14
14
|
};
|
|
15
15
|
exports.invmodDocs = invmodDocs;
|
|
@@ -7,9 +7,9 @@ exports.evaluateDocs = void 0;
|
|
|
7
7
|
var evaluateDocs = {
|
|
8
8
|
name: 'evaluate',
|
|
9
9
|
category: 'Expression',
|
|
10
|
-
syntax: ['evaluate(expression)', 'evaluate([expr1, expr2, expr3, ...])'],
|
|
10
|
+
syntax: ['evaluate(expression)', 'evaluate(expression, scope)', 'evaluate([expr1, expr2, expr3, ...])', 'evaluate([expr1, expr2, expr3, ...], scope)'],
|
|
11
11
|
description: 'Evaluate an expression or an array with expressions.',
|
|
12
|
-
examples: ['evaluate("2 + 3")', 'evaluate("sqrt("
|
|
12
|
+
examples: ['evaluate("2 + 3")', 'evaluate("sqrt(16)")', 'evaluate("2 inch to cm")', 'evaluate("sin(x * pi)", { "x": 1/2 })', 'evaluate(["width=2", "height=4","width*height"])'],
|
|
13
13
|
seealso: []
|
|
14
14
|
};
|
|
15
15
|
exports.evaluateDocs = evaluateDocs;
|
|
@@ -9,7 +9,7 @@ var diffDocs = {
|
|
|
9
9
|
category: 'Matrix',
|
|
10
10
|
syntax: ['diff(arr)', 'diff(arr, dim)'],
|
|
11
11
|
description: ['Create a new matrix or array with the difference of the passed matrix or array.', 'Dim parameter is optional and used to indicant the dimension of the array/matrix to apply the difference', 'If no dimension parameter is passed it is assumed as dimension 0', 'Dimension is zero-based in javascript and one-based in the parser', 'Arrays must be \'rectangular\' meaning arrays like [1, 2]', 'If something is passed as a matrix it will be returned as a matrix but other than that all matrices are converted to arrays'],
|
|
12
|
-
examples: ['
|
|
12
|
+
examples: ['A = [1, 2, 4, 7, 0]', 'diff(A)', 'diff(A, 1)', 'B = [[1, 2], [3, 4]]', 'diff(B)', 'diff(B, 1)', 'diff(B, 2)', 'diff(B, bignumber(2))', 'diff([[1, 2], matrix([3, 4])], 2)'],
|
|
13
13
|
seealso: ['subtract', 'partitionSelect']
|
|
14
14
|
};
|
|
15
15
|
exports.diffDocs = diffDocs;
|
|
@@ -9,7 +9,7 @@ var rangeDocs = {
|
|
|
9
9
|
category: 'Type',
|
|
10
10
|
syntax: ['start:end', 'start:step:end', 'range(start, end)', 'range(start, end, step)', 'range(string)'],
|
|
11
11
|
description: 'Create a range. Lower bound of the range is included, upper bound is excluded.',
|
|
12
|
-
examples: ['1:5', '3:-1:-3', 'range(3, 7)', 'range(0, 12, 2)', 'range("4:10")', 'a = [1, 2, 3, 4; 5, 6, 7, 8]', 'a[1:2, 1:2]'],
|
|
12
|
+
examples: ['1:5', '3:-1:-3', 'range(3, 7)', 'range(0, 12, 2)', 'range("4:10")', 'range(1m, 1m, 3m)', 'a = [1, 2, 3, 4; 5, 6, 7, 8]', 'a[1:2, 1:2]'],
|
|
13
13
|
seealso: ['concat', 'det', 'diag', 'identity', 'inv', 'ones', 'size', 'squeeze', 'subset', 'trace', 'transpose', 'zeros']
|
|
14
14
|
};
|
|
15
15
|
exports.rangeDocs = rangeDocs;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.solveODEDocs = void 0;
|
|
7
|
+
var solveODEDocs = {
|
|
8
|
+
name: 'solveODE',
|
|
9
|
+
category: 'Numeric',
|
|
10
|
+
syntax: ['solveODE(func, tspan, y0)', 'solveODE(func, tspan, y0, options)'],
|
|
11
|
+
description: 'Numerical Integration of Ordinary Differential Equations.',
|
|
12
|
+
examples: ['f(t,y) = y', 'tspan = [0, 4]', 'solveODE(f, tspan, 1)', 'solveODE(f, tspan, [1, 2])', 'solveODE(f, tspan, 1, { method:"RK23", maxStep:0.1 })'],
|
|
13
|
+
seealso: ['derivative', 'simplifyCore']
|
|
14
|
+
};
|
|
15
|
+
exports.solveODEDocs = solveODEDocs;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.freqzDocs = void 0;
|
|
7
|
+
var freqzDocs = {
|
|
8
|
+
name: 'freqz',
|
|
9
|
+
category: 'Signal',
|
|
10
|
+
syntax: ['freqz(b, a)', 'freqz(b, a, w)'],
|
|
11
|
+
description: 'Calculates the frequency response of a filter given its numerator and denominator coefficients.',
|
|
12
|
+
examples: ['freqz([1, 2], [1, 2, 3])', 'freqz([1, 2], [1, 2, 3], [0, 1])', 'freqz([1, 2], [1, 2, 3], 512)'],
|
|
13
|
+
seealso: []
|
|
14
|
+
};
|
|
15
|
+
exports.freqzDocs = freqzDocs;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.zpk2tfDocs = void 0;
|
|
7
|
+
var zpk2tfDocs = {
|
|
8
|
+
name: 'zpk2tf',
|
|
9
|
+
category: 'Signal',
|
|
10
|
+
syntax: ['zpk2tf(z, p, k)'],
|
|
11
|
+
description: 'Compute the transfer function of a zero-pole-gain model.',
|
|
12
|
+
examples: ['zpk2tf([1, 2], [-1, -2], 1)', 'zpk2tf([1, 2], [-1, -2])', 'zpk2tf([1 - 3i, 2 + 2i], [-1, -2])'],
|
|
13
|
+
seealso: []
|
|
14
|
+
};
|
|
15
|
+
exports.zpk2tfDocs = zpk2tfDocs;
|
|
@@ -9,7 +9,7 @@ var numericDocs = {
|
|
|
9
9
|
category: 'Utils',
|
|
10
10
|
syntax: ['numeric(x)'],
|
|
11
11
|
description: 'Convert a numeric input to a specific numeric type: number, BigNumber, or Fraction.',
|
|
12
|
-
examples: ['numeric("4")', 'numeric("4", "number")', 'numeric("4", "BigNumber")', 'numeric("4", "Fraction)', 'numeric(4, "Fraction")', 'numeric(fraction(2, 5), "number)'],
|
|
12
|
+
examples: ['numeric("4")', 'numeric("4", "number")', 'numeric("4", "BigNumber")', 'numeric("4", "Fraction")', 'numeric(4, "Fraction")', 'numeric(fraction(2, 5), "number")'],
|
|
13
13
|
seealso: ['number', 'fraction', 'bignumber', 'string', 'format']
|
|
14
14
|
};
|
|
15
15
|
exports.numericDocs = numericDocs;
|
|
@@ -237,7 +237,7 @@ var createFunctionNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies
|
|
|
237
237
|
// the function symbol is an argName
|
|
238
238
|
var _rawArgs = this.args;
|
|
239
239
|
return function evalFunctionNode(scope, args, context) {
|
|
240
|
-
var fn = args
|
|
240
|
+
var fn = (0, _customs.getSafeProperty)(args, _name);
|
|
241
241
|
if (typeof fn !== 'function') {
|
|
242
242
|
throw new TypeError("Argument '".concat(_name, "' was not a function; received: ").concat(strin(fn)));
|
|
243
243
|
}
|
|
@@ -261,17 +261,16 @@ var createFunctionNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies
|
|
|
261
261
|
var _rawArgs2 = this.args;
|
|
262
262
|
return function evalFunctionNode(scope, args, context) {
|
|
263
263
|
var object = evalObject(scope, args, context);
|
|
264
|
-
(0, _customs.
|
|
265
|
-
|
|
266
|
-
if (isRaw) {
|
|
264
|
+
var fn = (0, _customs.getSafeMethod)(object, prop);
|
|
265
|
+
if (fn !== null && fn !== void 0 && fn.rawArgs) {
|
|
267
266
|
// "Raw" evaluation
|
|
268
|
-
return
|
|
267
|
+
return fn(_rawArgs2, math, (0, _scope.createSubScope)(scope, args), scope);
|
|
269
268
|
} else {
|
|
270
269
|
// "regular" evaluation
|
|
271
270
|
var values = evalArgs.map(function (evalArg) {
|
|
272
271
|
return evalArg(scope, args, context);
|
|
273
272
|
});
|
|
274
|
-
return
|
|
273
|
+
return fn.apply(object, values);
|
|
275
274
|
}
|
|
276
275
|
};
|
|
277
276
|
} else {
|
|
@@ -12,11 +12,11 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
|
|
|
12
12
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
13
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
14
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
-
var _is = require("../../utils/is.js");
|
|
16
|
-
var _string = require("../../utils/string.js");
|
|
17
15
|
var _customs = require("../../utils/customs.js");
|
|
18
|
-
var _object = require("../../utils/object.js");
|
|
19
16
|
var _factory = require("../../utils/factory.js");
|
|
17
|
+
var _is = require("../../utils/is.js");
|
|
18
|
+
var _object = require("../../utils/object.js");
|
|
19
|
+
var _string = require("../../utils/string.js");
|
|
20
20
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
21
21
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
22
22
|
var name = 'ObjectNode';
|
|
@@ -82,10 +82,8 @@ var createObjectNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
|
82
82
|
// so you cannot create a key like {"co\\u006Estructor": null}
|
|
83
83
|
var stringifiedKey = (0, _string.stringify)(key);
|
|
84
84
|
var parsedKey = JSON.parse(stringifiedKey);
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
evalEntries[parsedKey] = this.properties[key]._compile(math, argNames);
|
|
85
|
+
var prop = (0, _customs.getSafeProperty)(this.properties, key);
|
|
86
|
+
evalEntries[parsedKey] = prop._compile(math, argNames);
|
|
89
87
|
}
|
|
90
88
|
}
|
|
91
89
|
return function evalObjectNode(scope, args, context) {
|
|
@@ -84,7 +84,7 @@ var createSymbolNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
|
84
84
|
// (like an x when inside the expression of a function
|
|
85
85
|
// assignment `f(x) = ...`)
|
|
86
86
|
return function (scope, args, context) {
|
|
87
|
-
return args
|
|
87
|
+
return (0, _customs.getSafeProperty)(args, name);
|
|
88
88
|
};
|
|
89
89
|
} else if (name in math) {
|
|
90
90
|
return function (scope, args, context) {
|
|
@@ -7,7 +7,7 @@ exports.createRangeTransform = void 0;
|
|
|
7
7
|
var _factory = require("../../utils/factory.js");
|
|
8
8
|
var _range = require("../../function/matrix/range.js");
|
|
9
9
|
var name = 'range';
|
|
10
|
-
var dependencies = ['typed', 'config', '?matrix', '?bignumber', 'smaller', 'smallerEq', 'larger', 'largerEq'];
|
|
10
|
+
var dependencies = ['typed', 'config', '?matrix', '?bignumber', 'smaller', 'smallerEq', 'larger', 'largerEq', 'add', 'isPositive'];
|
|
11
11
|
var createRangeTransform = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
|
12
12
|
var typed = _ref.typed,
|
|
13
13
|
config = _ref.config,
|
|
@@ -16,7 +16,9 @@ var createRangeTransform = /* #__PURE__ */(0, _factory.factory)(name, dependenci
|
|
|
16
16
|
smaller = _ref.smaller,
|
|
17
17
|
smallerEq = _ref.smallerEq,
|
|
18
18
|
larger = _ref.larger,
|
|
19
|
-
largerEq = _ref.largerEq
|
|
19
|
+
largerEq = _ref.largerEq,
|
|
20
|
+
add = _ref.add,
|
|
21
|
+
isPositive = _ref.isPositive;
|
|
20
22
|
var range = (0, _range.createRange)({
|
|
21
23
|
typed: typed,
|
|
22
24
|
config: config,
|
|
@@ -25,7 +27,9 @@ var createRangeTransform = /* #__PURE__ */(0, _factory.factory)(name, dependenci
|
|
|
25
27
|
smaller: smaller,
|
|
26
28
|
smallerEq: smallerEq,
|
|
27
29
|
larger: larger,
|
|
28
|
-
largerEq: largerEq
|
|
30
|
+
largerEq: largerEq,
|
|
31
|
+
add: add,
|
|
32
|
+
isPositive: isPositive
|
|
29
33
|
});
|
|
30
34
|
|
|
31
35
|
/**
|
package/lib/cjs/factoriesAny.js
CHANGED
|
@@ -741,6 +741,12 @@ Object.defineProperty(exports, "createFractionClass", {
|
|
|
741
741
|
return _Fraction.createFractionClass;
|
|
742
742
|
}
|
|
743
743
|
});
|
|
744
|
+
Object.defineProperty(exports, "createFreqz", {
|
|
745
|
+
enumerable: true,
|
|
746
|
+
get: function get() {
|
|
747
|
+
return _freqz.createFreqz;
|
|
748
|
+
}
|
|
749
|
+
});
|
|
744
750
|
Object.defineProperty(exports, "createFunctionAssignmentNode", {
|
|
745
751
|
enumerable: true,
|
|
746
752
|
get: function get() {
|
|
@@ -1791,6 +1797,12 @@ Object.defineProperty(exports, "createSmallerEq", {
|
|
|
1791
1797
|
return _smallerEq.createSmallerEq;
|
|
1792
1798
|
}
|
|
1793
1799
|
});
|
|
1800
|
+
Object.defineProperty(exports, "createSolveODE", {
|
|
1801
|
+
enumerable: true,
|
|
1802
|
+
get: function get() {
|
|
1803
|
+
return _solveODE.createSolveODE;
|
|
1804
|
+
}
|
|
1805
|
+
});
|
|
1794
1806
|
Object.defineProperty(exports, "createSort", {
|
|
1795
1807
|
enumerable: true,
|
|
1796
1808
|
get: function get() {
|
|
@@ -2097,6 +2109,12 @@ Object.defineProperty(exports, "createZeros", {
|
|
|
2097
2109
|
return _zeros.createZeros;
|
|
2098
2110
|
}
|
|
2099
2111
|
});
|
|
2112
|
+
Object.defineProperty(exports, "createZpk2tf", {
|
|
2113
|
+
enumerable: true,
|
|
2114
|
+
get: function get() {
|
|
2115
|
+
return _zpk2tf.createZpk2tf;
|
|
2116
|
+
}
|
|
2117
|
+
});
|
|
2100
2118
|
var _typed = require("./core/function/typed.js");
|
|
2101
2119
|
var _ResultSet = require("./type/resultset/ResultSet.js");
|
|
2102
2120
|
var _BigNumber = require("./type/bignumber/BigNumber.js");
|
|
@@ -2193,6 +2211,7 @@ var _ctranspose = require("./function/matrix/ctranspose.js");
|
|
|
2193
2211
|
var _zeros = require("./function/matrix/zeros.js");
|
|
2194
2212
|
var _fft = require("./function/matrix/fft.js");
|
|
2195
2213
|
var _ifft = require("./function/matrix/ifft.js");
|
|
2214
|
+
var _solveODE = require("./function/numeric/solveODE.js");
|
|
2196
2215
|
var _erf = require("./function/special/erf.js");
|
|
2197
2216
|
var _mode = require("./function/statistics/mode.js");
|
|
2198
2217
|
var _prod = require("./function/statistics/prod.js");
|
|
@@ -2357,6 +2376,8 @@ var _resolve = require("./function/algebra/resolve.js");
|
|
|
2357
2376
|
var _symbolicEqual = require("./function/algebra/symbolicEqual.js");
|
|
2358
2377
|
var _derivative = require("./function/algebra/derivative.js");
|
|
2359
2378
|
var _rationalize = require("./function/algebra/rationalize.js");
|
|
2379
|
+
var _zpk2tf = require("./function/signal/zpk2tf.js");
|
|
2380
|
+
var _freqz = require("./function/signal/freqz.js");
|
|
2360
2381
|
var _reviver = require("./json/reviver.js");
|
|
2361
2382
|
var _replacer = require("./json/replacer.js");
|
|
2362
2383
|
var _constants = require("./constants.js");
|
|
@@ -542,6 +542,9 @@ var createSimplify = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fu
|
|
|
542
542
|
},
|
|
543
543
|
// undo replace 'subtract'
|
|
544
544
|
{
|
|
545
|
+
l: 'n+-(n1)',
|
|
546
|
+
r: 'n-(n1)'
|
|
547
|
+
}, {
|
|
545
548
|
s: 'n*(n1^-1) -> n/n1',
|
|
546
549
|
// undo replace 'divide'; for * commutative
|
|
547
550
|
assuming: {
|
|
@@ -7,7 +7,7 @@ exports.createRange = void 0;
|
|
|
7
7
|
var _factory = require("../../utils/factory.js");
|
|
8
8
|
var _noop = require("../../utils/noop.js");
|
|
9
9
|
var name = 'range';
|
|
10
|
-
var dependencies = ['typed', 'config', '?matrix', '?bignumber', 'smaller', 'smallerEq', 'larger', 'largerEq'];
|
|
10
|
+
var dependencies = ['typed', 'config', '?matrix', '?bignumber', 'smaller', 'smallerEq', 'larger', 'largerEq', 'add', 'isPositive'];
|
|
11
11
|
var createRange = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
|
12
12
|
var typed = _ref.typed,
|
|
13
13
|
config = _ref.config,
|
|
@@ -16,7 +16,9 @@ var createRange = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
|
16
16
|
smaller = _ref.smaller,
|
|
17
17
|
smallerEq = _ref.smallerEq,
|
|
18
18
|
larger = _ref.larger,
|
|
19
|
-
largerEq = _ref.largerEq
|
|
19
|
+
largerEq = _ref.largerEq,
|
|
20
|
+
add = _ref.add,
|
|
21
|
+
isPositive = _ref.isPositive;
|
|
20
22
|
/**
|
|
21
23
|
* Create an array from a range.
|
|
22
24
|
* By default, the range end is excluded. This can be customized by providing
|
|
@@ -37,11 +39,11 @@ var createRange = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
|
37
39
|
*
|
|
38
40
|
* - `str: string`
|
|
39
41
|
* A string 'start:end' or 'start:step:end'
|
|
40
|
-
* - `start: {number | BigNumber}`
|
|
42
|
+
* - `start: {number | BigNumber | Unit}`
|
|
41
43
|
* Start of the range
|
|
42
|
-
* - `end: number | BigNumber`
|
|
44
|
+
* - `end: number | BigNumber | Unit`
|
|
43
45
|
* End of the range, excluded by default, included when parameter includeEnd=true
|
|
44
|
-
* - `step: number | BigNumber`
|
|
46
|
+
* - `step: number | BigNumber | Unit`
|
|
45
47
|
* Step size. Default value is 1.
|
|
46
48
|
* - `includeEnd: boolean`
|
|
47
49
|
* Option to specify whether to include the end or not. False by default.
|
|
@@ -52,6 +54,7 @@ var createRange = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
|
52
54
|
* math.range(2, -3, -1) // [2, 1, 0, -1, -2]
|
|
53
55
|
* math.range('2:1:6') // [2, 3, 4, 5]
|
|
54
56
|
* math.range(2, 6, true) // [2, 3, 4, 5, 6]
|
|
57
|
+
* math.range(math.unit(2, 'm'), math.unit(-3, 'm'), math.unit(-1, 'm')) // [2 m, 1 m, 0 m , -1 m, -2 m]
|
|
55
58
|
*
|
|
56
59
|
* See also:
|
|
57
60
|
*
|
|
@@ -67,30 +70,36 @@ var createRange = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
|
67
70
|
string: _strRange,
|
|
68
71
|
'string, boolean': _strRange,
|
|
69
72
|
'number, number': function numberNumber(start, end) {
|
|
70
|
-
return _out(
|
|
73
|
+
return _out(_range(start, end, 1, false));
|
|
71
74
|
},
|
|
72
75
|
'number, number, number': function numberNumberNumber(start, end, step) {
|
|
73
|
-
return _out(
|
|
76
|
+
return _out(_range(start, end, step, false));
|
|
74
77
|
},
|
|
75
78
|
'number, number, boolean': function numberNumberBoolean(start, end, includeEnd) {
|
|
76
|
-
return
|
|
79
|
+
return _out(_range(start, end, 1, includeEnd));
|
|
77
80
|
},
|
|
78
81
|
'number, number, number, boolean': function numberNumberNumberBoolean(start, end, step, includeEnd) {
|
|
79
|
-
return
|
|
82
|
+
return _out(_range(start, end, step, includeEnd));
|
|
80
83
|
},
|
|
81
84
|
'BigNumber, BigNumber': function BigNumberBigNumber(start, end) {
|
|
82
85
|
var BigNumber = start.constructor;
|
|
83
|
-
return _out(
|
|
86
|
+
return _out(_range(start, end, new BigNumber(1), false));
|
|
84
87
|
},
|
|
85
88
|
'BigNumber, BigNumber, BigNumber': function BigNumberBigNumberBigNumber(start, end, step) {
|
|
86
|
-
return _out(
|
|
89
|
+
return _out(_range(start, end, step, false));
|
|
87
90
|
},
|
|
88
91
|
'BigNumber, BigNumber, boolean': function BigNumberBigNumberBoolean(start, end, includeEnd) {
|
|
89
92
|
var BigNumber = start.constructor;
|
|
90
|
-
return
|
|
93
|
+
return _out(_range(start, end, new BigNumber(1), includeEnd));
|
|
91
94
|
},
|
|
92
95
|
'BigNumber, BigNumber, BigNumber, boolean': function BigNumberBigNumberBigNumberBoolean(start, end, step, includeEnd) {
|
|
93
|
-
return
|
|
96
|
+
return _out(_range(start, end, step, includeEnd));
|
|
97
|
+
},
|
|
98
|
+
'Unit, Unit, Unit': function UnitUnitUnit(start, end, step) {
|
|
99
|
+
return _out(_range(start, end, step, false));
|
|
100
|
+
},
|
|
101
|
+
'Unit, Unit, Unit, boolean': function UnitUnitUnitBoolean(start, end, step, includeEnd) {
|
|
102
|
+
return _out(_range(start, end, step, includeEnd));
|
|
94
103
|
}
|
|
95
104
|
});
|
|
96
105
|
function _out(arr) {
|
|
@@ -104,117 +113,32 @@ var createRange = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
|
104
113
|
if (!r) {
|
|
105
114
|
throw new SyntaxError('String "' + str + '" is no valid range');
|
|
106
115
|
}
|
|
107
|
-
var fn;
|
|
108
116
|
if (config.number === 'BigNumber') {
|
|
109
117
|
if (bignumber === undefined) {
|
|
110
118
|
(0, _noop.noBignumber)();
|
|
111
119
|
}
|
|
112
|
-
|
|
113
|
-
return _out(fn(bignumber(r.start), bignumber(r.end), bignumber(r.step)));
|
|
120
|
+
return _out(_range(bignumber(r.start), bignumber(r.end), bignumber(r.step)), includeEnd);
|
|
114
121
|
} else {
|
|
115
|
-
|
|
116
|
-
return _out(fn(r.start, r.end, r.step));
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Create a range with numbers. End is excluded
|
|
122
|
-
* @param {number} start
|
|
123
|
-
* @param {number} end
|
|
124
|
-
* @param {number} step
|
|
125
|
-
* @returns {Array} range
|
|
126
|
-
* @private
|
|
127
|
-
*/
|
|
128
|
-
function _rangeEx(start, end, step) {
|
|
129
|
-
var array = [];
|
|
130
|
-
var x = start;
|
|
131
|
-
if (step > 0) {
|
|
132
|
-
while (smaller(x, end)) {
|
|
133
|
-
array.push(x);
|
|
134
|
-
x += step;
|
|
135
|
-
}
|
|
136
|
-
} else if (step < 0) {
|
|
137
|
-
while (larger(x, end)) {
|
|
138
|
-
array.push(x);
|
|
139
|
-
x += step;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
return array;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
/**
|
|
146
|
-
* Create a range with numbers. End is included
|
|
147
|
-
* @param {number} start
|
|
148
|
-
* @param {number} end
|
|
149
|
-
* @param {number} step
|
|
150
|
-
* @returns {Array} range
|
|
151
|
-
* @private
|
|
152
|
-
*/
|
|
153
|
-
function _rangeInc(start, end, step) {
|
|
154
|
-
var array = [];
|
|
155
|
-
var x = start;
|
|
156
|
-
if (step > 0) {
|
|
157
|
-
while (smallerEq(x, end)) {
|
|
158
|
-
array.push(x);
|
|
159
|
-
x += step;
|
|
160
|
-
}
|
|
161
|
-
} else if (step < 0) {
|
|
162
|
-
while (largerEq(x, end)) {
|
|
163
|
-
array.push(x);
|
|
164
|
-
x += step;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
return array;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
/**
|
|
171
|
-
* Create a range with big numbers. End is excluded
|
|
172
|
-
* @param {BigNumber} start
|
|
173
|
-
* @param {BigNumber} end
|
|
174
|
-
* @param {BigNumber} step
|
|
175
|
-
* @returns {Array} range
|
|
176
|
-
* @private
|
|
177
|
-
*/
|
|
178
|
-
function _bigRangeEx(start, end, step) {
|
|
179
|
-
var zero = bignumber(0);
|
|
180
|
-
var array = [];
|
|
181
|
-
var x = start;
|
|
182
|
-
if (step.gt(zero)) {
|
|
183
|
-
while (smaller(x, end)) {
|
|
184
|
-
array.push(x);
|
|
185
|
-
x = x.plus(step);
|
|
186
|
-
}
|
|
187
|
-
} else if (step.lt(zero)) {
|
|
188
|
-
while (larger(x, end)) {
|
|
189
|
-
array.push(x);
|
|
190
|
-
x = x.plus(step);
|
|
191
|
-
}
|
|
122
|
+
return _out(_range(r.start, r.end, r.step, includeEnd));
|
|
192
123
|
}
|
|
193
|
-
return array;
|
|
194
124
|
}
|
|
195
125
|
|
|
196
126
|
/**
|
|
197
|
-
* Create a range with
|
|
198
|
-
* @param {BigNumber} start
|
|
199
|
-
* @param {BigNumber} end
|
|
200
|
-
* @param {BigNumber} step
|
|
127
|
+
* Create a range with numbers or BigNumbers
|
|
128
|
+
* @param {number | BigNumber | Unit} start
|
|
129
|
+
* @param {number | BigNumber | Unit} end
|
|
130
|
+
* @param {number | BigNumber | Unit} step
|
|
131
|
+
* @param {boolean} includeEnd
|
|
201
132
|
* @returns {Array} range
|
|
202
133
|
* @private
|
|
203
134
|
*/
|
|
204
|
-
function
|
|
205
|
-
var zero = bignumber(0);
|
|
135
|
+
function _range(start, end, step, includeEnd) {
|
|
206
136
|
var array = [];
|
|
137
|
+
var ongoing = isPositive(step) ? includeEnd ? smallerEq : smaller : includeEnd ? largerEq : larger;
|
|
207
138
|
var x = start;
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
x = x.plus(step);
|
|
212
|
-
}
|
|
213
|
-
} else if (step.lt(zero)) {
|
|
214
|
-
while (largerEq(x, end)) {
|
|
215
|
-
array.push(x);
|
|
216
|
-
x = x.plus(step);
|
|
217
|
-
}
|
|
139
|
+
while (ongoing(x, end)) {
|
|
140
|
+
array.push(x);
|
|
141
|
+
x = add(x, step);
|
|
218
142
|
}
|
|
219
143
|
return array;
|
|
220
144
|
}
|