mathjs 13.0.3 → 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 +17 -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/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/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/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/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 +13 -13
- package/types/index.d.ts +57 -18
|
@@ -55,24 +55,24 @@ export var createDivide = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
55
55
|
return typed('divide', extend({
|
|
56
56
|
// we extend the signatures of divideScalar with signatures dealing with matrices
|
|
57
57
|
|
|
58
|
-
'Array | Matrix, Array | Matrix': function
|
|
58
|
+
'Array | Matrix, Array | Matrix': function Array__Matrix_Array__Matrix(x, y) {
|
|
59
59
|
// TODO: implement matrix right division using pseudo inverse
|
|
60
60
|
// https://www.mathworks.nl/help/matlab/ref/mrdivide.html
|
|
61
61
|
// https://www.gnu.org/software/octave/doc/interpreter/Arithmetic-Ops.html
|
|
62
62
|
// https://stackoverflow.com/questions/12263932/how-does-gnu-octave-matrix-division-work-getting-unexpected-behaviour
|
|
63
63
|
return multiply(x, inv(y));
|
|
64
64
|
},
|
|
65
|
-
'DenseMatrix, any': function
|
|
65
|
+
'DenseMatrix, any': function DenseMatrix_any(x, y) {
|
|
66
66
|
return matAlgo14xDs(x, y, divideScalar, false);
|
|
67
67
|
},
|
|
68
|
-
'SparseMatrix, any': function
|
|
68
|
+
'SparseMatrix, any': function SparseMatrix_any(x, y) {
|
|
69
69
|
return matAlgo11xS0s(x, y, divideScalar, false);
|
|
70
70
|
},
|
|
71
|
-
'Array, any': function
|
|
71
|
+
'Array, any': function Array_any(x, y) {
|
|
72
72
|
// use matrix implementation
|
|
73
73
|
return matAlgo14xDs(matrix(x), y, divideScalar, false).valueOf();
|
|
74
74
|
},
|
|
75
|
-
'any, Array | Matrix': function
|
|
75
|
+
'any, Array | Matrix': function any_Array__Matrix(x, y) {
|
|
76
76
|
return multiply(x, inv(y));
|
|
77
77
|
}
|
|
78
78
|
}, divideScalar.signatures));
|
|
@@ -19,19 +19,19 @@ export var createDivideScalar = /* #__PURE__ */factory(name, dependencies, _ref
|
|
|
19
19
|
* @private
|
|
20
20
|
*/
|
|
21
21
|
return typed(name, {
|
|
22
|
-
'number, number': function
|
|
22
|
+
'number, number': function number_number(x, y) {
|
|
23
23
|
return x / y;
|
|
24
24
|
},
|
|
25
|
-
'Complex, Complex': function
|
|
25
|
+
'Complex, Complex': function Complex_Complex(x, y) {
|
|
26
26
|
return x.div(y);
|
|
27
27
|
},
|
|
28
|
-
'BigNumber, BigNumber': function
|
|
28
|
+
'BigNumber, BigNumber': function BigNumber_BigNumber(x, y) {
|
|
29
29
|
return x.div(y);
|
|
30
30
|
},
|
|
31
|
-
'bigint, bigint': function
|
|
31
|
+
'bigint, bigint': function bigint_bigint(x, y) {
|
|
32
32
|
return x / y;
|
|
33
33
|
},
|
|
34
|
-
'Fraction, Fraction': function
|
|
34
|
+
'Fraction, Fraction': function Fraction_Fraction(x, y) {
|
|
35
35
|
return x.div(y);
|
|
36
36
|
},
|
|
37
37
|
'Unit, number | Complex | Fraction | BigNumber | Unit': (x, y) => x.divide(y),
|
|
@@ -14,7 +14,7 @@ export var createFixNumber = /* #__PURE__ */factory(name, ['typed', 'ceil', 'flo
|
|
|
14
14
|
number: function number(x) {
|
|
15
15
|
return x > 0 ? floor(x) : ceil(x);
|
|
16
16
|
},
|
|
17
|
-
'number, number': function
|
|
17
|
+
'number, number': function number_number(x, n) {
|
|
18
18
|
return x > 0 ? floor(x, n) : ceil(x, n);
|
|
19
19
|
}
|
|
20
20
|
});
|
|
@@ -84,23 +84,23 @@ export var createFix = /* #__PURE__ */factory(name, dependencies, _ref2 => {
|
|
|
84
84
|
Complex: function Complex(x) {
|
|
85
85
|
return new _Complex(x.re > 0 ? Math.floor(x.re) : Math.ceil(x.re), x.im > 0 ? Math.floor(x.im) : Math.ceil(x.im));
|
|
86
86
|
},
|
|
87
|
-
'Complex, number': function
|
|
87
|
+
'Complex, number': function Complex_number(x, n) {
|
|
88
88
|
return new _Complex(x.re > 0 ? floor(x.re, n) : ceil(x.re, n), x.im > 0 ? floor(x.im, n) : ceil(x.im, n));
|
|
89
89
|
},
|
|
90
|
-
'Complex, BigNumber': function
|
|
90
|
+
'Complex, BigNumber': function Complex_BigNumber(x, bn) {
|
|
91
91
|
var n = bn.toNumber();
|
|
92
92
|
return new _Complex(x.re > 0 ? floor(x.re, n) : ceil(x.re, n), x.im > 0 ? floor(x.im, n) : ceil(x.im, n));
|
|
93
93
|
},
|
|
94
94
|
BigNumber: function BigNumber(x) {
|
|
95
95
|
return x.isNegative() ? ceil(x) : floor(x);
|
|
96
96
|
},
|
|
97
|
-
'BigNumber, number | BigNumber': function
|
|
97
|
+
'BigNumber, number | BigNumber': function BigNumber_number__BigNumber(x, n) {
|
|
98
98
|
return x.isNegative() ? ceil(x, n) : floor(x, n);
|
|
99
99
|
},
|
|
100
100
|
Fraction: function Fraction(x) {
|
|
101
101
|
return x.s < 0 ? x.ceil() : x.floor();
|
|
102
102
|
},
|
|
103
|
-
'Fraction, number | BigNumber': function
|
|
103
|
+
'Fraction, number | BigNumber': function Fraction_number__BigNumber(x, n) {
|
|
104
104
|
return x.s < 0 ? ceil(x, n) : floor(x, n);
|
|
105
105
|
},
|
|
106
106
|
'Array | Matrix': typed.referToSelf(self => x => {
|
|
@@ -22,7 +22,7 @@ export var createFloorNumber = /* #__PURE__ */factory(name, ['typed', 'config',
|
|
|
22
22
|
return Math.floor(x);
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
|
-
'number, number': function
|
|
25
|
+
'number, number': function number_number(x, n) {
|
|
26
26
|
if (nearlyEqual(x, round(x, n), config.relTol, config.absTol)) {
|
|
27
27
|
return round(x, n);
|
|
28
28
|
} else {
|
|
@@ -106,10 +106,10 @@ export var createFloor = /* #__PURE__ */factory(name, dependencies, _ref2 => {
|
|
|
106
106
|
Complex: function Complex(x) {
|
|
107
107
|
return x.floor();
|
|
108
108
|
},
|
|
109
|
-
'Complex, number': function
|
|
109
|
+
'Complex, number': function Complex_number(x, n) {
|
|
110
110
|
return x.floor(n);
|
|
111
111
|
},
|
|
112
|
-
'Complex, BigNumber': function
|
|
112
|
+
'Complex, BigNumber': function Complex_BigNumber(x, n) {
|
|
113
113
|
return x.floor(n.toNumber());
|
|
114
114
|
},
|
|
115
115
|
BigNumber: function BigNumber(x) {
|
|
@@ -119,7 +119,7 @@ export var createFloor = /* #__PURE__ */factory(name, dependencies, _ref2 => {
|
|
|
119
119
|
return x.floor();
|
|
120
120
|
}
|
|
121
121
|
},
|
|
122
|
-
'BigNumber, BigNumber': function
|
|
122
|
+
'BigNumber, BigNumber': function BigNumber_BigNumber(x, n) {
|
|
123
123
|
if (bigNearlyEqual(x, round(x, n), config.relTol, config.absTol)) {
|
|
124
124
|
return round(x, n);
|
|
125
125
|
} else {
|
|
@@ -129,10 +129,10 @@ export var createFloor = /* #__PURE__ */factory(name, dependencies, _ref2 => {
|
|
|
129
129
|
Fraction: function Fraction(x) {
|
|
130
130
|
return x.floor();
|
|
131
131
|
},
|
|
132
|
-
'Fraction, number': function
|
|
132
|
+
'Fraction, number': function Fraction_number(x, n) {
|
|
133
133
|
return x.floor(n);
|
|
134
134
|
},
|
|
135
|
-
'Fraction, BigNumber': function
|
|
135
|
+
'Fraction, BigNumber': function Fraction_BigNumber(x, n) {
|
|
136
136
|
return x.floor(n.toNumber());
|
|
137
137
|
},
|
|
138
138
|
'Array | Matrix': typed.referToSelf(self => x => {
|
|
@@ -15,11 +15,11 @@ export var createHypot = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
15
15
|
isPositive
|
|
16
16
|
} = _ref;
|
|
17
17
|
/**
|
|
18
|
-
* Calculate the
|
|
18
|
+
* Calculate the hypotenuse of a list with values. The hypotenuse is defined as:
|
|
19
19
|
*
|
|
20
20
|
* hypot(a, b, c, ...) = sqrt(a^2 + b^2 + c^2 + ...)
|
|
21
21
|
*
|
|
22
|
-
* For matrix input, the
|
|
22
|
+
* For matrix input, the hypotenuse is calculated for all values in the matrix.
|
|
23
23
|
*
|
|
24
24
|
* Syntax:
|
|
25
25
|
*
|
|
@@ -49,7 +49,7 @@ export var createHypot = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
49
49
|
});
|
|
50
50
|
|
|
51
51
|
/**
|
|
52
|
-
* Calculate the
|
|
52
|
+
* Calculate the hypotenuse for an Array with values
|
|
53
53
|
* @param {Array.<number | BigNumber>} args
|
|
54
54
|
* @return {number | BigNumber} Returns the result
|
|
55
55
|
* @private
|
|
@@ -90,10 +90,10 @@ export var createMod = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
90
90
|
*/
|
|
91
91
|
return typed(name, {
|
|
92
92
|
'number, number': _modNumber,
|
|
93
|
-
'BigNumber, BigNumber': function
|
|
93
|
+
'BigNumber, BigNumber': function BigNumber_BigNumber(x, y) {
|
|
94
94
|
return y.isZero() ? x : x.sub(y.mul(floor(x.div(y))));
|
|
95
95
|
},
|
|
96
|
-
'bigint, bigint': function
|
|
96
|
+
'bigint, bigint': function bigint_bigint(x, y) {
|
|
97
97
|
if (y === 0n) {
|
|
98
98
|
return x;
|
|
99
99
|
}
|
|
@@ -103,7 +103,7 @@ export var createMod = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
103
103
|
}
|
|
104
104
|
return x % y;
|
|
105
105
|
},
|
|
106
|
-
'Fraction, Fraction': function
|
|
106
|
+
'Fraction, Fraction': function Fraction_Fraction(x, y) {
|
|
107
107
|
return y.equals(0) ? x : x.sub(y.mul(floor(x.div(y))));
|
|
108
108
|
}
|
|
109
109
|
}, matrixAlgorithmSuite({
|
|
@@ -817,7 +817,7 @@ export var createMultiply = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
817
817
|
// return array or scalar
|
|
818
818
|
return isMatrix(m) ? m.valueOf() : m;
|
|
819
819
|
}),
|
|
820
|
-
'Matrix, Matrix': function
|
|
820
|
+
'Matrix, Matrix': function Matrix_Matrix(x, y) {
|
|
821
821
|
// dimensions
|
|
822
822
|
var xsize = x.size();
|
|
823
823
|
var ysize = y.size();
|
|
@@ -848,23 +848,23 @@ export var createMultiply = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
848
848
|
// use Matrix * Matrix implementation
|
|
849
849
|
return self(matrix(x, y.storage()), y);
|
|
850
850
|
}),
|
|
851
|
-
'SparseMatrix, any': function
|
|
851
|
+
'SparseMatrix, any': function SparseMatrix_any(x, y) {
|
|
852
852
|
return matAlgo11xS0s(x, y, multiplyScalar, false);
|
|
853
853
|
},
|
|
854
|
-
'DenseMatrix, any': function
|
|
854
|
+
'DenseMatrix, any': function DenseMatrix_any(x, y) {
|
|
855
855
|
return matAlgo14xDs(x, y, multiplyScalar, false);
|
|
856
856
|
},
|
|
857
|
-
'any, SparseMatrix': function
|
|
857
|
+
'any, SparseMatrix': function any_SparseMatrix(x, y) {
|
|
858
858
|
return matAlgo11xS0s(y, x, multiplyScalar, true);
|
|
859
859
|
},
|
|
860
|
-
'any, DenseMatrix': function
|
|
860
|
+
'any, DenseMatrix': function any_DenseMatrix(x, y) {
|
|
861
861
|
return matAlgo14xDs(y, x, multiplyScalar, true);
|
|
862
862
|
},
|
|
863
|
-
'Array, any': function
|
|
863
|
+
'Array, any': function Array_any(x, y) {
|
|
864
864
|
// use matrix implementation
|
|
865
865
|
return matAlgo14xDs(matrix(x), y, multiplyScalar, false).valueOf();
|
|
866
866
|
},
|
|
867
|
-
'any, Array': function
|
|
867
|
+
'any, Array': function any_Array(x, y) {
|
|
868
868
|
// use matrix implementation
|
|
869
869
|
return matAlgo14xDs(matrix(y), x, multiplyScalar, true).valueOf();
|
|
870
870
|
},
|
|
@@ -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
|