mathjs 13.0.2 → 13.1.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 +26 -1
- 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/core/create.js +12 -9
- package/lib/cjs/core/function/import.js +1 -1
- package/lib/cjs/core/function/typed.js +3 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFlatten.generated.js +0 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesSqueeze.generated.js +0 -2
- package/lib/cjs/entry/impureFunctionsAny.generated.js +2 -2
- package/lib/cjs/entry/pureFunctionsAny.generated.js +6 -8
- package/lib/cjs/entry/typeChecks.js +18 -0
- package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +2 -2
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/hypot.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/matrix/diff.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/matrix/fft.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/matrix/ifft.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/matrix/kron.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/matrix/map.js +3 -3
- package/lib/cjs/expression/embeddedDocs/function/special/zeta.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/statistics/quantileSeq.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/acoth.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/acsch.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/utils/clone.js +1 -1
- package/lib/cjs/expression/function/evaluate.js +5 -0
- package/lib/cjs/expression/node/FunctionNode.js +1 -1
- package/lib/cjs/expression/transform/filter.transform.js +2 -2
- package/lib/cjs/expression/transform/map.transform.js +104 -37
- package/lib/cjs/expression/transform/utils/dimToZeroBase.js +23 -0
- package/lib/cjs/expression/transform/utils/lastDimToZeroBase.js +3 -4
- package/lib/cjs/function/arithmetic/hypot.js +3 -3
- package/lib/cjs/function/matrix/apply.js +1 -1
- package/lib/cjs/function/matrix/fft.js +3 -3
- package/lib/cjs/function/matrix/filter.js +2 -2
- package/lib/cjs/function/matrix/flatten.js +5 -6
- package/lib/cjs/function/matrix/ifft.js +2 -2
- package/lib/cjs/function/matrix/kron.js +4 -4
- package/lib/cjs/function/matrix/map.js +109 -18
- package/lib/cjs/function/matrix/size.js +7 -7
- package/lib/cjs/function/matrix/squeeze.js +3 -4
- package/lib/cjs/function/probability/random.js +1 -1
- package/lib/cjs/function/probability/randomInt.js +1 -1
- package/lib/cjs/function/statistics/cumsum.js +2 -2
- package/lib/cjs/function/trigonometry/acoth.js +2 -2
- package/lib/cjs/function/trigonometry/acsch.js +2 -2
- package/lib/cjs/header.js +2 -2
- package/lib/cjs/type/matrix/DenseMatrix.js +3 -28
- package/lib/cjs/type/matrix/SparseMatrix.js +5 -8
- package/lib/cjs/type/unit/Unit.js +57 -114
- package/lib/cjs/utils/array.js +27 -0
- package/lib/cjs/utils/collection.js +1 -1
- package/lib/cjs/utils/function.js +0 -14
- package/lib/cjs/utils/is.js +27 -0
- package/lib/cjs/utils/map.js +2 -20
- package/lib/cjs/version.js +1 -1
- package/lib/esm/core/create.js +9 -6
- package/lib/esm/core/function/import.js +1 -1
- package/lib/esm/core/function/typed.js +2 -3
- package/lib/esm/entry/dependenciesAny/dependenciesFlatten.generated.js +0 -2
- package/lib/esm/entry/dependenciesAny/dependenciesSqueeze.generated.js +0 -2
- package/lib/esm/entry/impureFunctionsAny.generated.js +3 -3
- package/lib/esm/entry/pureFunctionsAny.generated.js +7 -9
- package/lib/esm/entry/typeChecks.js +1 -1
- package/lib/esm/expression/embeddedDocs/embeddedDocs.js +2 -2
- package/lib/esm/expression/embeddedDocs/function/arithmetic/hypot.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/diff.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/fft.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/ifft.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/kron.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/map.js +3 -3
- package/lib/esm/expression/embeddedDocs/function/special/zeta.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/statistics/quantileSeq.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/trigonometry/acoth.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/trigonometry/acsch.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/utils/clone.js +1 -1
- package/lib/esm/expression/function/compile.js +1 -1
- package/lib/esm/expression/function/evaluate.js +8 -3
- package/lib/esm/expression/node/FunctionNode.js +1 -1
- package/lib/esm/expression/parse.js +2 -2
- package/lib/esm/expression/transform/filter.transform.js +4 -4
- package/lib/esm/expression/transform/forEach.transform.js +4 -4
- package/lib/esm/expression/transform/map.transform.js +104 -37
- package/lib/esm/expression/transform/print.transform.js +2 -2
- package/lib/esm/expression/transform/utils/dimToZeroBase.js +16 -0
- package/lib/esm/expression/transform/utils/lastDimToZeroBase.js +4 -6
- package/lib/esm/function/algebra/decomposition/slu.js +1 -1
- package/lib/esm/function/algebra/derivative.js +15 -15
- package/lib/esm/function/algebra/lyap.js +4 -4
- package/lib/esm/function/algebra/simplify/util.js +3 -3
- package/lib/esm/function/algebra/simplifyConstant.js +9 -9
- package/lib/esm/function/algebra/solver/lsolve.js +3 -3
- package/lib/esm/function/algebra/solver/lsolveAll.js +3 -3
- package/lib/esm/function/algebra/solver/lusolve.js +5 -5
- package/lib/esm/function/algebra/solver/usolve.js +3 -3
- package/lib/esm/function/algebra/solver/usolveAll.js +3 -3
- package/lib/esm/function/algebra/sylvester.js +7 -7
- package/lib/esm/function/arithmetic/addScalar.js +4 -4
- package/lib/esm/function/arithmetic/ceil.js +6 -6
- package/lib/esm/function/arithmetic/divide.js +5 -5
- package/lib/esm/function/arithmetic/divideScalar.js +5 -5
- package/lib/esm/function/arithmetic/fix.js +5 -5
- package/lib/esm/function/arithmetic/floor.js +6 -6
- package/lib/esm/function/arithmetic/hypot.js +3 -3
- package/lib/esm/function/arithmetic/mod.js +3 -3
- package/lib/esm/function/arithmetic/multiply.js +7 -7
- package/lib/esm/function/arithmetic/multiplyScalar.js +4 -4
- package/lib/esm/function/arithmetic/norm.js +2 -2
- package/lib/esm/function/arithmetic/pow.js +6 -6
- package/lib/esm/function/arithmetic/round.js +7 -7
- package/lib/esm/function/arithmetic/subtractScalar.js +4 -4
- package/lib/esm/function/arithmetic/xgcd.js +1 -1
- package/lib/esm/function/combinatorics/bellNumbers.js +1 -1
- package/lib/esm/function/combinatorics/catalan.js +1 -1
- package/lib/esm/function/combinatorics/composition.js +1 -1
- package/lib/esm/function/combinatorics/stirlingS2.js +1 -1
- package/lib/esm/function/geometry/distance.js +4 -4
- package/lib/esm/function/geometry/intersect.js +2 -2
- package/lib/esm/function/logical/and.js +2 -2
- package/lib/esm/function/logical/or.js +2 -2
- package/lib/esm/function/logical/xor.js +2 -2
- package/lib/esm/function/matrix/apply.js +2 -2
- package/lib/esm/function/matrix/column.js +1 -1
- package/lib/esm/function/matrix/concat.js +1 -1
- package/lib/esm/function/matrix/count.js +1 -1
- package/lib/esm/function/matrix/cross.js +3 -3
- package/lib/esm/function/matrix/diag.js +10 -10
- package/lib/esm/function/matrix/diff.js +2 -2
- package/lib/esm/function/matrix/eigs.js +3 -3
- package/lib/esm/function/matrix/fft.js +3 -3
- package/lib/esm/function/matrix/filter.js +4 -4
- package/lib/esm/function/matrix/flatten.js +5 -6
- package/lib/esm/function/matrix/forEach.js +4 -4
- package/lib/esm/function/matrix/identity.js +6 -6
- package/lib/esm/function/matrix/ifft.js +3 -3
- package/lib/esm/function/matrix/inv.js +1 -1
- package/lib/esm/function/matrix/kron.js +7 -7
- package/lib/esm/function/matrix/map.js +110 -19
- package/lib/esm/function/matrix/matrixFromFunction.js +6 -6
- package/lib/esm/function/matrix/ones.js +2 -2
- package/lib/esm/function/matrix/partitionSelect.js +2 -2
- package/lib/esm/function/matrix/pinv.js +1 -1
- package/lib/esm/function/matrix/range.js +10 -10
- package/lib/esm/function/matrix/reshape.js +2 -2
- package/lib/esm/function/matrix/rotate.js +4 -4
- package/lib/esm/function/matrix/rotationMatrix.js +6 -6
- package/lib/esm/function/matrix/row.js +1 -1
- package/lib/esm/function/matrix/size.js +8 -8
- package/lib/esm/function/matrix/sort.js +4 -4
- package/lib/esm/function/matrix/sqrtm.js +1 -1
- package/lib/esm/function/matrix/squeeze.js +3 -4
- package/lib/esm/function/matrix/subset.js +2 -2
- package/lib/esm/function/matrix/zeros.js +2 -2
- package/lib/esm/function/probability/combinations.js +1 -1
- package/lib/esm/function/probability/combinationsWithRep.js +2 -2
- package/lib/esm/function/probability/kldivergence.js +4 -4
- package/lib/esm/function/probability/multinomial.js +1 -1
- package/lib/esm/function/probability/permutations.js +2 -2
- package/lib/esm/function/probability/pickRandom.js +6 -6
- package/lib/esm/function/probability/random.js +1 -1
- package/lib/esm/function/probability/randomInt.js +1 -1
- package/lib/esm/function/relational/compare.js +6 -6
- package/lib/esm/function/relational/deepEqual.js +1 -1
- package/lib/esm/function/relational/equal.js +1 -1
- package/lib/esm/function/relational/equalScalar.js +7 -7
- package/lib/esm/function/relational/equalText.js +1 -1
- package/lib/esm/function/relational/larger.js +3 -3
- package/lib/esm/function/relational/largerEq.js +4 -4
- package/lib/esm/function/relational/smaller.js +3 -3
- package/lib/esm/function/relational/smallerEq.js +3 -3
- package/lib/esm/function/relational/unequal.js +1 -1
- package/lib/esm/function/set/setCartesian.js +1 -1
- package/lib/esm/function/set/setDifference.js +1 -1
- package/lib/esm/function/set/setDistinct.js +1 -1
- package/lib/esm/function/set/setIntersect.js +1 -1
- package/lib/esm/function/set/setIsSubset.js +1 -1
- package/lib/esm/function/set/setMultiplicity.js +1 -1
- package/lib/esm/function/set/setPowerset.js +1 -1
- package/lib/esm/function/set/setSize.js +2 -2
- package/lib/esm/function/set/setSymDifference.js +1 -1
- package/lib/esm/function/set/setUnion.js +1 -1
- package/lib/esm/function/signal/freqz.js +6 -6
- package/lib/esm/function/statistics/corr.js +2 -2
- package/lib/esm/function/statistics/cumsum.js +3 -3
- package/lib/esm/function/statistics/max.js +1 -1
- package/lib/esm/function/statistics/median.js +3 -3
- package/lib/esm/function/statistics/min.js +1 -1
- package/lib/esm/function/statistics/prod.js +1 -1
- package/lib/esm/function/statistics/variance.js +2 -2
- package/lib/esm/function/string/bin.js +2 -2
- package/lib/esm/function/string/hex.js +2 -2
- package/lib/esm/function/string/oct.js +2 -2
- package/lib/esm/function/trigonometry/acoth.js +2 -2
- package/lib/esm/function/trigonometry/acsch.js +2 -2
- package/lib/esm/type/bigint.js +1 -1
- package/lib/esm/type/complex/function/complex.js +2 -2
- package/lib/esm/type/fraction/function/fraction.js +1 -1
- package/lib/esm/type/matrix/DenseMatrix.js +13 -38
- package/lib/esm/type/matrix/SparseMatrix.js +5 -8
- package/lib/esm/type/matrix/function/index.js +1 -1
- package/lib/esm/type/matrix/function/matrix.js +1 -1
- package/lib/esm/type/matrix/function/sparse.js +2 -2
- package/lib/esm/type/number.js +1 -1
- package/lib/esm/type/unit/Unit.js +57 -114
- package/lib/esm/type/unit/function/createUnit.js +3 -3
- package/lib/esm/type/unit/function/splitUnit.js +1 -1
- package/lib/esm/type/unit/function/unit.js +2 -2
- package/lib/esm/utils/array.js +26 -0
- package/lib/esm/utils/collection.js +1 -1
- package/lib/esm/utils/function.js +0 -13
- package/lib/esm/utils/is.js +24 -0
- package/lib/esm/utils/map.js +2 -19
- package/lib/esm/version.js +1 -1
- package/package.json +19 -19
- package/types/index.d.ts +108 -25
|
@@ -20,16 +20,16 @@ export var createMultiplyScalar = /* #__PURE__ */factory(name, dependencies, _re
|
|
|
20
20
|
*/
|
|
21
21
|
return typed('multiplyScalar', {
|
|
22
22
|
'number, number': multiplyNumber,
|
|
23
|
-
'Complex, Complex': function
|
|
23
|
+
'Complex, Complex': function Complex_Complex(x, y) {
|
|
24
24
|
return x.mul(y);
|
|
25
25
|
},
|
|
26
|
-
'BigNumber, BigNumber': function
|
|
26
|
+
'BigNumber, BigNumber': function BigNumber_BigNumber(x, y) {
|
|
27
27
|
return x.times(y);
|
|
28
28
|
},
|
|
29
|
-
'bigint, bigint': function
|
|
29
|
+
'bigint, bigint': function bigint_bigint(x, y) {
|
|
30
30
|
return x * y;
|
|
31
31
|
},
|
|
32
|
-
'Fraction, Fraction': function
|
|
32
|
+
'Fraction, Fraction': function Fraction_Fraction(x, y) {
|
|
33
33
|
return x.mul(y);
|
|
34
34
|
},
|
|
35
35
|
'number | Fraction | BigNumber | Complex, Unit': (x, y) => y.multiply(x),
|
|
@@ -74,10 +74,10 @@ export var createNorm = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
74
74
|
Matrix: function Matrix(x) {
|
|
75
75
|
return _norm(x, 2);
|
|
76
76
|
},
|
|
77
|
-
'Array, number | BigNumber | string': function
|
|
77
|
+
'Array, number | BigNumber | string': function Array_number__BigNumber__string(x, p) {
|
|
78
78
|
return _norm(matrix(x), p);
|
|
79
79
|
},
|
|
80
|
-
'Matrix, number | BigNumber | string': function
|
|
80
|
+
'Matrix, number | BigNumber | string': function Matrix_number__BigNumber__string(x, p) {
|
|
81
81
|
return _norm(x, p);
|
|
82
82
|
}
|
|
83
83
|
});
|
|
@@ -56,10 +56,10 @@ export var createPow = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
56
56
|
*/
|
|
57
57
|
return typed(name, {
|
|
58
58
|
'number, number': _pow,
|
|
59
|
-
'Complex, Complex': function
|
|
59
|
+
'Complex, Complex': function Complex_Complex(x, y) {
|
|
60
60
|
return x.pow(y);
|
|
61
61
|
},
|
|
62
|
-
'BigNumber, BigNumber': function
|
|
62
|
+
'BigNumber, BigNumber': function BigNumber_BigNumber(x, y) {
|
|
63
63
|
if (y.isInteger() || x >= 0 || config.predictable) {
|
|
64
64
|
return x.pow(y);
|
|
65
65
|
} else {
|
|
@@ -67,7 +67,7 @@ export var createPow = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
67
67
|
}
|
|
68
68
|
},
|
|
69
69
|
'bigint, bigint': (x, y) => x ** y,
|
|
70
|
-
'Fraction, Fraction': function
|
|
70
|
+
'Fraction, Fraction': function Fraction_Fraction(x, y) {
|
|
71
71
|
var result = x.pow(y);
|
|
72
72
|
if (result != null) {
|
|
73
73
|
return result;
|
|
@@ -79,14 +79,14 @@ export var createPow = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
79
79
|
}
|
|
80
80
|
},
|
|
81
81
|
'Array, number': _powArray,
|
|
82
|
-
'Array, BigNumber': function
|
|
82
|
+
'Array, BigNumber': function Array_BigNumber(x, y) {
|
|
83
83
|
return _powArray(x, y.toNumber());
|
|
84
84
|
},
|
|
85
85
|
'Matrix, number': _powMatrix,
|
|
86
|
-
'Matrix, BigNumber': function
|
|
86
|
+
'Matrix, BigNumber': function Matrix_BigNumber(x, y) {
|
|
87
87
|
return _powMatrix(x, y.toNumber());
|
|
88
88
|
},
|
|
89
|
-
'Unit, number | BigNumber': function
|
|
89
|
+
'Unit, number | BigNumber': function Unit_number__BigNumber(x, y) {
|
|
90
90
|
return x.pow(y);
|
|
91
91
|
}
|
|
92
92
|
});
|
|
@@ -85,7 +85,7 @@ export var createRound = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
85
85
|
var xSelected = nearlyEqual(x, xEpsilon, config.relTol, config.absTol) ? xEpsilon : x;
|
|
86
86
|
return roundNumber(xSelected);
|
|
87
87
|
},
|
|
88
|
-
'number, number': function
|
|
88
|
+
'number, number': function number_number(x, n) {
|
|
89
89
|
// Same as number: unless user specifies more decimals than relTol
|
|
90
90
|
var epsilonExponent = toExponent(config.relTol);
|
|
91
91
|
if (n >= epsilonExponent) {
|
|
@@ -95,7 +95,7 @@ export var createRound = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
95
95
|
var xSelected = nearlyEqual(x, xEpsilon, config.relTol, config.absTol) ? xEpsilon : x;
|
|
96
96
|
return roundNumber(xSelected, n);
|
|
97
97
|
},
|
|
98
|
-
'number, BigNumber': function
|
|
98
|
+
'number, BigNumber': function number_BigNumber(x, n) {
|
|
99
99
|
if (!n.isInteger()) {
|
|
100
100
|
throw new TypeError(NO_INT);
|
|
101
101
|
}
|
|
@@ -104,13 +104,13 @@ export var createRound = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
104
104
|
Complex: function Complex(x) {
|
|
105
105
|
return x.round();
|
|
106
106
|
},
|
|
107
|
-
'Complex, number': function
|
|
107
|
+
'Complex, number': function Complex_number(x, n) {
|
|
108
108
|
if (n % 1) {
|
|
109
109
|
throw new TypeError(NO_INT);
|
|
110
110
|
}
|
|
111
111
|
return x.round(n);
|
|
112
112
|
},
|
|
113
|
-
'Complex, BigNumber': function
|
|
113
|
+
'Complex, BigNumber': function Complex_BigNumber(x, n) {
|
|
114
114
|
if (!n.isInteger()) {
|
|
115
115
|
throw new TypeError(NO_INT);
|
|
116
116
|
}
|
|
@@ -123,7 +123,7 @@ export var createRound = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
123
123
|
var xSelected = bigNearlyEqual(x, xEpsilon, config.relTol, config.absTol) ? xEpsilon : x;
|
|
124
124
|
return xSelected.toDecimalPlaces(0);
|
|
125
125
|
},
|
|
126
|
-
'BigNumber, BigNumber': function
|
|
126
|
+
'BigNumber, BigNumber': function BigNumber_BigNumber(x, n) {
|
|
127
127
|
if (!n.isInteger()) {
|
|
128
128
|
throw new TypeError(NO_INT);
|
|
129
129
|
}
|
|
@@ -140,13 +140,13 @@ export var createRound = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
140
140
|
Fraction: function Fraction(x) {
|
|
141
141
|
return x.round();
|
|
142
142
|
},
|
|
143
|
-
'Fraction, number': function
|
|
143
|
+
'Fraction, number': function Fraction_number(x, n) {
|
|
144
144
|
if (n % 1) {
|
|
145
145
|
throw new TypeError(NO_INT);
|
|
146
146
|
}
|
|
147
147
|
return x.round(n);
|
|
148
148
|
},
|
|
149
|
-
'Fraction, BigNumber': function
|
|
149
|
+
'Fraction, BigNumber': function Fraction_BigNumber(x, n) {
|
|
150
150
|
if (!n.isInteger()) {
|
|
151
151
|
throw new TypeError(NO_INT);
|
|
152
152
|
}
|
|
@@ -20,16 +20,16 @@ export var createSubtractScalar = /* #__PURE__ */factory(name, dependencies, _re
|
|
|
20
20
|
*/
|
|
21
21
|
return typed(name, {
|
|
22
22
|
'number, number': subtractNumber,
|
|
23
|
-
'Complex, Complex': function
|
|
23
|
+
'Complex, Complex': function Complex_Complex(x, y) {
|
|
24
24
|
return x.sub(y);
|
|
25
25
|
},
|
|
26
|
-
'BigNumber, BigNumber': function
|
|
26
|
+
'BigNumber, BigNumber': function BigNumber_BigNumber(x, y) {
|
|
27
27
|
return x.minus(y);
|
|
28
28
|
},
|
|
29
|
-
'bigint, bigint': function
|
|
29
|
+
'bigint, bigint': function bigint_bigint(x, y) {
|
|
30
30
|
return x - y;
|
|
31
31
|
},
|
|
32
|
-
'Fraction, Fraction': function
|
|
32
|
+
'Fraction, Fraction': function Fraction_Fraction(x, y) {
|
|
33
33
|
return x.sub(y);
|
|
34
34
|
},
|
|
35
35
|
'Unit, Unit': typed.referToSelf(self => (x, y) => {
|
|
@@ -33,7 +33,7 @@ export var createXgcd = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
33
33
|
* where `div = gcd(a, b)` and `a*m + b*n = div`
|
|
34
34
|
*/
|
|
35
35
|
return typed(name, {
|
|
36
|
-
'number, number': function
|
|
36
|
+
'number, number': function number_number(a, b) {
|
|
37
37
|
var res = xgcdNumber(a, b);
|
|
38
38
|
return config.matrix === 'Array' ? res : matrix(res);
|
|
39
39
|
},
|
|
@@ -31,7 +31,7 @@ export var createBellNumbers = /* #__PURE__ */factory(name, dependencies, _ref =
|
|
|
31
31
|
* @return {Number | BigNumber} B(n)
|
|
32
32
|
*/
|
|
33
33
|
return typed(name, {
|
|
34
|
-
'number | BigNumber': function
|
|
34
|
+
'number | BigNumber': function number__BigNumber(n) {
|
|
35
35
|
if (!isInteger(n) || isNegative(n)) {
|
|
36
36
|
throw new TypeError('Non-negative integer value expected in function bellNumbers');
|
|
37
37
|
}
|
|
@@ -33,7 +33,7 @@ export var createCatalan = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
33
33
|
* @return {Number | BigNumber} Cn(n)
|
|
34
34
|
*/
|
|
35
35
|
return typed(name, {
|
|
36
|
-
'number | BigNumber': function
|
|
36
|
+
'number | BigNumber': function number__BigNumber(n) {
|
|
37
37
|
if (!isInteger(n) || isNegative(n)) {
|
|
38
38
|
throw new TypeError('Non-negative integer value expected in function catalan');
|
|
39
39
|
}
|
|
@@ -34,7 +34,7 @@ export var createComposition = /* #__PURE__ */factory(name, dependencies, _ref =
|
|
|
34
34
|
* @return {Number | BigNumber} Returns the composition counts of n into k parts.
|
|
35
35
|
*/
|
|
36
36
|
return typed(name, {
|
|
37
|
-
'number | BigNumber, number | BigNumber': function
|
|
37
|
+
'number | BigNumber, number | BigNumber': function number__BigNumber_number__BigNumber(n, k) {
|
|
38
38
|
if (!isInteger(n) || !isPositive(n) || !isInteger(k) || !isPositive(k)) {
|
|
39
39
|
throw new TypeError('Positive integer value expected in function composition');
|
|
40
40
|
} else if (larger(k, n)) {
|
|
@@ -49,7 +49,7 @@ export var createStirlingS2 = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
|
49
49
|
* @return {Number | BigNumber} S(n,k)
|
|
50
50
|
*/
|
|
51
51
|
return typed(name, {
|
|
52
|
-
'number | BigNumber, number | BigNumber': function
|
|
52
|
+
'number | BigNumber, number | BigNumber': function number__BigNumber_number__BigNumber(n, k) {
|
|
53
53
|
if (!isInteger(n) || isNegative(n) || !isInteger(k) || isNegative(k)) {
|
|
54
54
|
throw new TypeError('Non-negative integer value expected in function stirlingS2');
|
|
55
55
|
} else if (larger(k, n)) {
|
|
@@ -65,7 +65,7 @@ export var createDistance = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
65
65
|
* @return {Number | BigNumber} Returns the distance from two/three points
|
|
66
66
|
*/
|
|
67
67
|
return typed(name, {
|
|
68
|
-
'Array, Array, Array': function
|
|
68
|
+
'Array, Array, Array': function Array_Array_Array(x, y, z) {
|
|
69
69
|
// Point to Line 2D (x=Point, y=LinePoint1, z=LinePoint2)
|
|
70
70
|
if (x.length === 2 && y.length === 2 && z.length === 2) {
|
|
71
71
|
if (!_2d(x)) {
|
|
@@ -88,7 +88,7 @@ export var createDistance = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
88
88
|
throw new TypeError('Invalid Arguments: Try again');
|
|
89
89
|
}
|
|
90
90
|
},
|
|
91
|
-
'Object, Object, Object': function
|
|
91
|
+
'Object, Object, Object': function Object_Object_Object(x, y, z) {
|
|
92
92
|
if (Object.keys(x).length === 2 && Object.keys(y).length === 2 && Object.keys(z).length === 2) {
|
|
93
93
|
if (!_2d(x)) {
|
|
94
94
|
throw new TypeError('Values of pointX and pointY should be numbers or BigNumbers');
|
|
@@ -114,7 +114,7 @@ export var createDistance = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
114
114
|
throw new TypeError('Invalid Arguments: Try again');
|
|
115
115
|
}
|
|
116
116
|
},
|
|
117
|
-
'Array, Array': function
|
|
117
|
+
'Array, Array': function Array_Array(x, y) {
|
|
118
118
|
// Point to Line 2D (x=[pointX, pointY], y=[x-coeff, y-coeff, const])
|
|
119
119
|
if (x.length === 2 && y.length === 3) {
|
|
120
120
|
if (!_2d(x)) {
|
|
@@ -146,7 +146,7 @@ export var createDistance = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
146
146
|
throw new TypeError('Invalid Arguments: Try again');
|
|
147
147
|
}
|
|
148
148
|
},
|
|
149
|
-
'Object, Object': function
|
|
149
|
+
'Object, Object': function Object_Object(x, y) {
|
|
150
150
|
if (Object.keys(x).length === 2 && Object.keys(y).length === 3) {
|
|
151
151
|
if (!_2d(x)) {
|
|
152
152
|
throw new TypeError('Values of pointX and pointY should be numbers or BigNumbers');
|
|
@@ -49,11 +49,11 @@ export var createIntersect = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
|
49
49
|
return typed('intersect', {
|
|
50
50
|
'Array, Array, Array': _AAA,
|
|
51
51
|
'Array, Array, Array, Array': _AAAA,
|
|
52
|
-
'Matrix, Matrix, Matrix': function
|
|
52
|
+
'Matrix, Matrix, Matrix': function Matrix_Matrix_Matrix(x, y, plane) {
|
|
53
53
|
var arr = _AAA(x.valueOf(), y.valueOf(), plane.valueOf());
|
|
54
54
|
return arr === null ? null : matrix(arr);
|
|
55
55
|
},
|
|
56
|
-
'Matrix, Matrix, Matrix, Matrix': function
|
|
56
|
+
'Matrix, Matrix, Matrix, Matrix': function Matrix_Matrix_Matrix_Matrix(w, x, y, z) {
|
|
57
57
|
// TODO: output matrix type should match input matrix type
|
|
58
58
|
var arr = _AAAA(w.valueOf(), x.valueOf(), y.valueOf(), z.valueOf());
|
|
59
59
|
return arr === null ? null : matrix(arr);
|
|
@@ -67,10 +67,10 @@ export var createAnd = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
67
67
|
*/
|
|
68
68
|
return typed(name, {
|
|
69
69
|
'number, number': andNumber,
|
|
70
|
-
'Complex, Complex': function
|
|
70
|
+
'Complex, Complex': function Complex_Complex(x, y) {
|
|
71
71
|
return (x.re !== 0 || x.im !== 0) && (y.re !== 0 || y.im !== 0);
|
|
72
72
|
},
|
|
73
|
-
'BigNumber, BigNumber': function
|
|
73
|
+
'BigNumber, BigNumber': function BigNumber_BigNumber(x, y) {
|
|
74
74
|
return !x.isZero() && !y.isZero() && !x.isNaN() && !y.isNaN();
|
|
75
75
|
},
|
|
76
76
|
'bigint, bigint': andNumber,
|
|
@@ -61,10 +61,10 @@ export var createOr = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
61
61
|
*/
|
|
62
62
|
return typed(name, {
|
|
63
63
|
'number, number': orNumber,
|
|
64
|
-
'Complex, Complex': function
|
|
64
|
+
'Complex, Complex': function Complex_Complex(x, y) {
|
|
65
65
|
return x.re !== 0 || x.im !== 0 || y.re !== 0 || y.im !== 0;
|
|
66
66
|
},
|
|
67
|
-
'BigNumber, BigNumber': function
|
|
67
|
+
'BigNumber, BigNumber': function BigNumber_BigNumber(x, y) {
|
|
68
68
|
return !x.isZero() && !x.isNaN() || !y.isZero() && !y.isNaN();
|
|
69
69
|
},
|
|
70
70
|
'bigint, bigint': orNumber,
|
|
@@ -60,11 +60,11 @@ export var createXor = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
60
60
|
*/
|
|
61
61
|
return typed(name, {
|
|
62
62
|
'number, number': xorNumber,
|
|
63
|
-
'Complex, Complex': function
|
|
63
|
+
'Complex, Complex': function Complex_Complex(x, y) {
|
|
64
64
|
return (x.re !== 0 || x.im !== 0) !== (y.re !== 0 || y.im !== 0);
|
|
65
65
|
},
|
|
66
66
|
'bigint, bigint': xorNumber,
|
|
67
|
-
'BigNumber, BigNumber': function
|
|
67
|
+
'BigNumber, BigNumber': function BigNumber_BigNumber(x, y) {
|
|
68
68
|
return (!x.isZero() && !x.isNaN()) !== (!y.isZero() && !y.isNaN());
|
|
69
69
|
},
|
|
70
70
|
'Unit, Unit': typed.referToSelf(self => (x, y) => self(x.value || 0, y.value || 0))
|
|
@@ -42,7 +42,7 @@ export var createApply = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
42
42
|
* @return {Array | Matrix} res The residual matrix with the function applied over some dimension.
|
|
43
43
|
*/
|
|
44
44
|
return typed(name, {
|
|
45
|
-
'Array | Matrix, number | BigNumber, function': function
|
|
45
|
+
'Array | Matrix, number | BigNumber, function': function Array__Matrix_number__BigNumber_function(mat, dim, callback) {
|
|
46
46
|
if (!isInteger(dim)) {
|
|
47
47
|
throw new TypeError('Integer number expected for dimension');
|
|
48
48
|
}
|
|
@@ -51,7 +51,7 @@ export var createApply = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
51
51
|
throw new IndexError(dim, size.length);
|
|
52
52
|
}
|
|
53
53
|
if (isMatrix(mat)) {
|
|
54
|
-
return mat.create(_apply(mat.valueOf(), dim, callback));
|
|
54
|
+
return mat.create(_apply(mat.valueOf(), dim, callback), mat.datatype());
|
|
55
55
|
} else {
|
|
56
56
|
return _apply(mat, dim, callback);
|
|
57
57
|
}
|
|
@@ -34,7 +34,7 @@ export var createColumn = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
34
34
|
*/
|
|
35
35
|
return typed(name, {
|
|
36
36
|
'Matrix, number': _column,
|
|
37
|
-
'Array, number': function
|
|
37
|
+
'Array, number': function Array_number(value, column) {
|
|
38
38
|
return _column(matrix(clone(value)), column).valueOf();
|
|
39
39
|
}
|
|
40
40
|
});
|
|
@@ -43,7 +43,7 @@ export var createConcat = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
43
43
|
*/
|
|
44
44
|
return typed(name, {
|
|
45
45
|
// TODO: change signature to '...Array | Matrix, dim?' when supported
|
|
46
|
-
'...Array | Matrix | number | BigNumber': function
|
|
46
|
+
'...Array | Matrix | number | BigNumber': function Array__Matrix__number__BigNumber(args) {
|
|
47
47
|
var i;
|
|
48
48
|
var len = args.length;
|
|
49
49
|
var dim = -1; // zero-based dimension
|
|
@@ -32,7 +32,7 @@ export var createCount = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
32
32
|
string: function string(x) {
|
|
33
33
|
return x.length;
|
|
34
34
|
},
|
|
35
|
-
'Matrix | Array': function
|
|
35
|
+
'Matrix | Array': function Matrix__Array(x) {
|
|
36
36
|
return prod(size(x));
|
|
37
37
|
}
|
|
38
38
|
});
|
|
@@ -43,13 +43,13 @@ export var createCross = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
43
43
|
* @return {Array | Matrix} Returns the cross product of `x` and `y`
|
|
44
44
|
*/
|
|
45
45
|
return typed(name, {
|
|
46
|
-
'Matrix, Matrix': function
|
|
46
|
+
'Matrix, Matrix': function Matrix_Matrix(x, y) {
|
|
47
47
|
return matrix(_cross(x.toArray(), y.toArray()));
|
|
48
48
|
},
|
|
49
|
-
'Matrix, Array': function
|
|
49
|
+
'Matrix, Array': function Matrix_Array(x, y) {
|
|
50
50
|
return matrix(_cross(x.toArray(), y));
|
|
51
51
|
},
|
|
52
|
-
'Array, Matrix': function
|
|
52
|
+
'Array, Matrix': function Array_Matrix(x, y) {
|
|
53
53
|
return matrix(_cross(x, y.toArray()));
|
|
54
54
|
},
|
|
55
55
|
'Array, Array': _cross
|
|
@@ -54,37 +54,37 @@ export var createDiag = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
54
54
|
Array: function Array(x) {
|
|
55
55
|
return _diag(x, 0, arraySize(x), null);
|
|
56
56
|
},
|
|
57
|
-
'Array, number': function
|
|
57
|
+
'Array, number': function Array_number(x, k) {
|
|
58
58
|
return _diag(x, k, arraySize(x), null);
|
|
59
59
|
},
|
|
60
|
-
'Array, BigNumber': function
|
|
60
|
+
'Array, BigNumber': function Array_BigNumber(x, k) {
|
|
61
61
|
return _diag(x, k.toNumber(), arraySize(x), null);
|
|
62
62
|
},
|
|
63
|
-
'Array, string': function
|
|
63
|
+
'Array, string': function Array_string(x, format) {
|
|
64
64
|
return _diag(x, 0, arraySize(x), format);
|
|
65
65
|
},
|
|
66
|
-
'Array, number, string': function
|
|
66
|
+
'Array, number, string': function Array_number_string(x, k, format) {
|
|
67
67
|
return _diag(x, k, arraySize(x), format);
|
|
68
68
|
},
|
|
69
|
-
'Array, BigNumber, string': function
|
|
69
|
+
'Array, BigNumber, string': function Array_BigNumber_string(x, k, format) {
|
|
70
70
|
return _diag(x, k.toNumber(), arraySize(x), format);
|
|
71
71
|
},
|
|
72
72
|
Matrix: function Matrix(x) {
|
|
73
73
|
return _diag(x, 0, x.size(), x.storage());
|
|
74
74
|
},
|
|
75
|
-
'Matrix, number': function
|
|
75
|
+
'Matrix, number': function Matrix_number(x, k) {
|
|
76
76
|
return _diag(x, k, x.size(), x.storage());
|
|
77
77
|
},
|
|
78
|
-
'Matrix, BigNumber': function
|
|
78
|
+
'Matrix, BigNumber': function Matrix_BigNumber(x, k) {
|
|
79
79
|
return _diag(x, k.toNumber(), x.size(), x.storage());
|
|
80
80
|
},
|
|
81
|
-
'Matrix, string': function
|
|
81
|
+
'Matrix, string': function Matrix_string(x, format) {
|
|
82
82
|
return _diag(x, 0, x.size(), format);
|
|
83
83
|
},
|
|
84
|
-
'Matrix, number, string': function
|
|
84
|
+
'Matrix, number, string': function Matrix_number_string(x, k, format) {
|
|
85
85
|
return _diag(x, k, x.size(), format);
|
|
86
86
|
},
|
|
87
|
-
'Matrix, BigNumber, string': function
|
|
87
|
+
'Matrix, BigNumber, string': function Matrix_BigNumber_string(x, k, format) {
|
|
88
88
|
return _diag(x, k.toNumber(), x.size(), format);
|
|
89
89
|
}
|
|
90
90
|
});
|
|
@@ -57,7 +57,7 @@ export var createDiff = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
57
57
|
* @return {Array | Matrix} Difference between array elements in given dimension
|
|
58
58
|
*/
|
|
59
59
|
return typed(name, {
|
|
60
|
-
'Array | Matrix': function
|
|
60
|
+
'Array | Matrix': function Array__Matrix(arr) {
|
|
61
61
|
// No dimension specified => assume dimension 0
|
|
62
62
|
if (isMatrix(arr)) {
|
|
63
63
|
return matrix(_diff(arr.toArray()));
|
|
@@ -65,7 +65,7 @@ export var createDiff = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
65
65
|
return _diff(arr);
|
|
66
66
|
}
|
|
67
67
|
},
|
|
68
|
-
'Array | Matrix, number': function
|
|
68
|
+
'Array | Matrix, number': function Array__Matrix_number(arr, dim) {
|
|
69
69
|
if (!isInteger(dim)) throw new RangeError('Dimension must be a whole number');
|
|
70
70
|
if (isMatrix(arr)) {
|
|
71
71
|
return matrix(_recursive(arr.toArray(), dim));
|
|
@@ -158,7 +158,7 @@ export var createEigs = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
158
158
|
Array: function Array(x) {
|
|
159
159
|
return doEigs(matrix(x));
|
|
160
160
|
},
|
|
161
|
-
'Array, number|BigNumber': function
|
|
161
|
+
'Array, number|BigNumber': function Array_numberBigNumber(x, prec) {
|
|
162
162
|
return doEigs(matrix(x), {
|
|
163
163
|
precision: prec
|
|
164
164
|
});
|
|
@@ -171,13 +171,13 @@ export var createEigs = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
171
171
|
matricize: true
|
|
172
172
|
});
|
|
173
173
|
},
|
|
174
|
-
'Matrix, number|BigNumber': function
|
|
174
|
+
'Matrix, number|BigNumber': function Matrix_numberBigNumber(mat, prec) {
|
|
175
175
|
return doEigs(mat, {
|
|
176
176
|
precision: prec,
|
|
177
177
|
matricize: true
|
|
178
178
|
});
|
|
179
179
|
},
|
|
180
|
-
'Matrix, Object': function
|
|
180
|
+
'Matrix, Object': function Matrix_Object(mat, opts) {
|
|
181
181
|
var useOpts = {
|
|
182
182
|
matricize: true
|
|
183
183
|
};
|
|
@@ -19,7 +19,7 @@ export var createFft = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
19
19
|
log2
|
|
20
20
|
} = _ref;
|
|
21
21
|
/**
|
|
22
|
-
* Calculate N-dimensional
|
|
22
|
+
* Calculate N-dimensional Fourier transform
|
|
23
23
|
*
|
|
24
24
|
* Syntax:
|
|
25
25
|
*
|
|
@@ -35,12 +35,12 @@ export var createFft = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
35
35
|
* ifft
|
|
36
36
|
*
|
|
37
37
|
* @param {Array | Matrix} arr An array or matrix
|
|
38
|
-
* @return {Array | Matrix} N-dimensional
|
|
38
|
+
* @return {Array | Matrix} N-dimensional Fourier transformation of the array
|
|
39
39
|
*/
|
|
40
40
|
return typed(name, {
|
|
41
41
|
Array: _ndFft,
|
|
42
42
|
Matrix: function Matrix(matrix) {
|
|
43
|
-
return matrix.create(_ndFft(matrix.
|
|
43
|
+
return matrix.create(_ndFft(matrix.valueOf()), matrix.datatype());
|
|
44
44
|
}
|
|
45
45
|
});
|
|
46
46
|
|
|
@@ -38,12 +38,12 @@ export var createFilter = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
38
38
|
*/
|
|
39
39
|
return typed('filter', {
|
|
40
40
|
'Array, function': _filterCallback,
|
|
41
|
-
'Matrix, function': function
|
|
42
|
-
return x.create(_filterCallback(x.
|
|
41
|
+
'Matrix, function': function Matrix_function(x, test) {
|
|
42
|
+
return x.create(_filterCallback(x.valueOf(), test), x.datatype());
|
|
43
43
|
},
|
|
44
44
|
'Array, RegExp': filterRegExp,
|
|
45
|
-
'Matrix, RegExp': function
|
|
46
|
-
return x.create(filterRegExp(x.
|
|
45
|
+
'Matrix, RegExp': function Matrix_RegExp(x, test) {
|
|
46
|
+
return x.create(filterRegExp(x.valueOf(), test), x.datatype());
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
49
|
});
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { flatten as flattenArray } from '../../utils/array.js';
|
|
2
2
|
import { factory } from '../../utils/factory.js';
|
|
3
3
|
var name = 'flatten';
|
|
4
|
-
var dependencies = ['typed'
|
|
4
|
+
var dependencies = ['typed'];
|
|
5
5
|
export var createFlatten = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
6
6
|
var {
|
|
7
|
-
typed
|
|
8
|
-
matrix
|
|
7
|
+
typed
|
|
9
8
|
} = _ref;
|
|
10
9
|
/**
|
|
11
10
|
* Flatten a multidimensional matrix into a single dimensional matrix.
|
|
@@ -31,9 +30,9 @@ export var createFlatten = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
31
30
|
return flattenArray(x);
|
|
32
31
|
},
|
|
33
32
|
Matrix: function Matrix(x) {
|
|
34
|
-
|
|
35
|
-
//
|
|
36
|
-
return
|
|
33
|
+
// Return the same matrix type as x (Dense or Sparse Matrix)
|
|
34
|
+
// Return the same data type as x
|
|
35
|
+
return x.create(flattenArray(x.toArray()), x.datatype());
|
|
37
36
|
}
|
|
38
37
|
});
|
|
39
38
|
});
|
|
@@ -32,7 +32,7 @@ export var createForEach = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
32
32
|
*/
|
|
33
33
|
return typed(name, {
|
|
34
34
|
'Array, function': _forEach,
|
|
35
|
-
'Matrix, function': function
|
|
35
|
+
'Matrix, function': function Matrix_function(x, callback) {
|
|
36
36
|
x.forEach(callback);
|
|
37
37
|
}
|
|
38
38
|
});
|
|
@@ -45,16 +45,16 @@ export var createForEach = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
45
45
|
* @private
|
|
46
46
|
*/
|
|
47
47
|
function _forEach(array, callback) {
|
|
48
|
-
var
|
|
48
|
+
var _recurse = function recurse(value, index) {
|
|
49
49
|
if (Array.isArray(value)) {
|
|
50
50
|
forEachArray(value, function (child, i) {
|
|
51
51
|
// we create a copy of the index array and append the new index value
|
|
52
|
-
|
|
52
|
+
_recurse(child, index.concat(i));
|
|
53
53
|
});
|
|
54
54
|
} else {
|
|
55
55
|
// invoke the callback function with the right number of arguments
|
|
56
56
|
return applyCallback(callback, value, index, array, 'forEach');
|
|
57
57
|
}
|
|
58
58
|
};
|
|
59
|
-
|
|
59
|
+
_recurse(array, []);
|
|
60
60
|
}
|
|
@@ -50,28 +50,28 @@ export var createIdentity = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
50
50
|
string: function string(format) {
|
|
51
51
|
return matrix(format);
|
|
52
52
|
},
|
|
53
|
-
'number | BigNumber': function
|
|
53
|
+
'number | BigNumber': function number__BigNumber(rows) {
|
|
54
54
|
return _identity(rows, rows, config.matrix === 'Matrix' ? 'dense' : undefined);
|
|
55
55
|
},
|
|
56
|
-
'number | BigNumber, string': function
|
|
56
|
+
'number | BigNumber, string': function number__BigNumber_string(rows, format) {
|
|
57
57
|
return _identity(rows, rows, format);
|
|
58
58
|
},
|
|
59
|
-
'number | BigNumber, number | BigNumber': function
|
|
59
|
+
'number | BigNumber, number | BigNumber': function number__BigNumber_number__BigNumber(rows, cols) {
|
|
60
60
|
return _identity(rows, cols, config.matrix === 'Matrix' ? 'dense' : undefined);
|
|
61
61
|
},
|
|
62
|
-
'number | BigNumber, number | BigNumber, string': function
|
|
62
|
+
'number | BigNumber, number | BigNumber, string': function number__BigNumber_number__BigNumber_string(rows, cols, format) {
|
|
63
63
|
return _identity(rows, cols, format);
|
|
64
64
|
},
|
|
65
65
|
Array: function Array(size) {
|
|
66
66
|
return _identityVector(size);
|
|
67
67
|
},
|
|
68
|
-
'Array, string': function
|
|
68
|
+
'Array, string': function Array_string(size, format) {
|
|
69
69
|
return _identityVector(size, format);
|
|
70
70
|
},
|
|
71
71
|
Matrix: function Matrix(size) {
|
|
72
72
|
return _identityVector(size.valueOf(), size.storage());
|
|
73
73
|
},
|
|
74
|
-
'Matrix, string': function
|
|
74
|
+
'Matrix, string': function Matrix_string(size, format) {
|
|
75
75
|
return _identityVector(size.valueOf(), format);
|
|
76
76
|
}
|
|
77
77
|
});
|
|
@@ -11,7 +11,7 @@ export var createIfft = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
11
11
|
conj
|
|
12
12
|
} = _ref;
|
|
13
13
|
/**
|
|
14
|
-
* Calculate N-dimensional inverse
|
|
14
|
+
* Calculate N-dimensional inverse Fourier transform
|
|
15
15
|
*
|
|
16
16
|
* Syntax:
|
|
17
17
|
*
|
|
@@ -26,10 +26,10 @@ export var createIfft = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
26
26
|
* fft
|
|
27
27
|
*
|
|
28
28
|
* @param {Array | Matrix} arr An array or matrix
|
|
29
|
-
* @return {Array | Matrix} N-dimensional
|
|
29
|
+
* @return {Array | Matrix} N-dimensional Fourier transformation of the array
|
|
30
30
|
*/
|
|
31
31
|
return typed(name, {
|
|
32
|
-
'Array | Matrix': function
|
|
32
|
+
'Array | Matrix': function Array__Matrix(arr) {
|
|
33
33
|
var size = isMatrix(arr) ? arr.size() : arraySize(arr);
|
|
34
34
|
return dotDivide(conj(fft(conj(arr))), size.reduce((acc, curr) => acc * curr, 1));
|
|
35
35
|
}
|
|
@@ -37,7 +37,7 @@ export var createInv = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
37
37
|
* @return {number | Complex | Array | Matrix} The inverse of `x`.
|
|
38
38
|
*/
|
|
39
39
|
return typed(name, {
|
|
40
|
-
'Array | Matrix': function
|
|
40
|
+
'Array | Matrix': function Array__Matrix(x) {
|
|
41
41
|
var size = isMatrix(x) ? x.size() : arraySize(x);
|
|
42
42
|
switch (size.length) {
|
|
43
43
|
case 1:
|