mathjs 11.8.2 → 11.9.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/HISTORY.md +17 -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/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/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/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/version.js +1 -1
- package/package.json +1 -1
- 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;
|
|
@@ -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
|
}
|