mathjs 11.5.1 → 11.6.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 +21 -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/dependenciesAdd.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesAnd.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesAtan2.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesBitAnd.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesBitOr.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesBitXor.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesCompare.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesCompareText.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesDotDivide.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesDotMultiply.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesDotPow.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesEqual.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesFft.generated.js +10 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesGcd.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesLarger.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesLargerEq.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesLcm.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesLeftShift.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesMod.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesNthRoot.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesOr.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesRightArithShift.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesRightLogShift.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +0 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesSmaller.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSmallerEq.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSubtract.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesTo.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesUnequal.generated.js +2 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesXor.generated.js +2 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +0 -2
- package/lib/cjs/entry/impureFunctionsAny.generated.js +102 -103
- package/lib/cjs/entry/impureFunctionsNumber.generated.js +41 -42
- package/lib/cjs/entry/pureFunctionsAny.generated.js +405 -372
- package/lib/cjs/expression/embeddedDocs/function/matrix/sort.js +1 -1
- package/lib/cjs/function/algebra/simplifyConstant.js +1 -2
- package/lib/cjs/function/arithmetic/add.js +38 -37
- package/lib/cjs/function/arithmetic/dotDivide.js +5 -3
- package/lib/cjs/function/arithmetic/dotMultiply.js +5 -3
- package/lib/cjs/function/arithmetic/dotPow.js +5 -3
- package/lib/cjs/function/arithmetic/gcd.js +5 -3
- package/lib/cjs/function/arithmetic/lcm.js +5 -3
- package/lib/cjs/function/arithmetic/mod.js +5 -3
- package/lib/cjs/function/arithmetic/nthRoot.js +5 -3
- package/lib/cjs/function/arithmetic/subtract.js +5 -3
- package/lib/cjs/function/bitwise/bitAnd.js +5 -3
- package/lib/cjs/function/bitwise/bitOr.js +5 -3
- package/lib/cjs/function/bitwise/bitXor.js +5 -3
- package/lib/cjs/function/bitwise/leftShift.js +5 -3
- package/lib/cjs/function/bitwise/rightArithShift.js +5 -3
- package/lib/cjs/function/bitwise/rightLogShift.js +5 -3
- package/lib/cjs/function/geometry/distance.js +3 -3
- package/lib/cjs/function/logical/and.js +5 -3
- package/lib/cjs/function/logical/or.js +5 -3
- package/lib/cjs/function/logical/xor.js +5 -3
- package/lib/cjs/function/matrix/column.js +3 -1
- package/lib/cjs/function/matrix/fft.js +43 -4
- package/lib/cjs/function/matrix/getMatrixDataType.js +1 -1
- package/lib/cjs/function/matrix/row.js +3 -1
- package/lib/cjs/function/matrix/subset.js +1 -1
- package/lib/cjs/function/relational/compare.js +5 -3
- package/lib/cjs/function/relational/compareText.js +5 -3
- package/lib/cjs/function/relational/equal.js +5 -3
- package/lib/cjs/function/relational/larger.js +5 -3
- package/lib/cjs/function/relational/largerEq.js +5 -3
- package/lib/cjs/function/relational/smaller.js +5 -3
- package/lib/cjs/function/relational/smallerEq.js +5 -3
- package/lib/cjs/function/relational/unequal.js +5 -3
- package/lib/cjs/function/statistics/max.js +1 -1
- package/lib/cjs/function/statistics/quantileSeq.js +4 -3
- package/lib/cjs/function/trigonometry/atan2.js +5 -3
- package/lib/cjs/function/unit/to.js +8 -6
- package/lib/cjs/header.js +2 -2
- package/lib/cjs/type/matrix/utils/broadcast.js +84 -0
- package/lib/cjs/type/matrix/utils/matrixAlgorithmSuite.js +27 -20
- package/lib/cjs/version.js +1 -1
- package/lib/esm/entry/dependenciesAny/dependenciesAdd.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesAnd.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesAtan2.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesBitAnd.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesBitOr.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesBitXor.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesCompare.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesCompareText.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesDotDivide.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesDotMultiply.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesDotPow.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesEqual.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesFft.generated.js +10 -0
- package/lib/esm/entry/dependenciesAny/dependenciesGcd.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLarger.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLargerEq.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLcm.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLeftShift.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesMod.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesNthRoot.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesOr.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesRightArithShift.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesRightLogShift.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +0 -2
- package/lib/esm/entry/dependenciesAny/dependenciesSmaller.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSmallerEq.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSubtract.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesTo.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesUnequal.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesXor.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +0 -2
- package/lib/esm/entry/impureFunctionsAny.generated.js +100 -101
- package/lib/esm/entry/impureFunctionsNumber.generated.js +38 -39
- package/lib/esm/entry/pureFunctionsAny.generated.js +332 -299
- package/lib/esm/expression/embeddedDocs/function/matrix/sort.js +1 -1
- package/lib/esm/function/algebra/simplifyConstant.js +1 -2
- package/lib/esm/function/arithmetic/add.js +38 -37
- package/lib/esm/function/arithmetic/dotDivide.js +5 -3
- package/lib/esm/function/arithmetic/dotMultiply.js +5 -3
- package/lib/esm/function/arithmetic/dotPow.js +5 -3
- package/lib/esm/function/arithmetic/gcd.js +5 -3
- package/lib/esm/function/arithmetic/lcm.js +5 -3
- package/lib/esm/function/arithmetic/mod.js +5 -3
- package/lib/esm/function/arithmetic/nthRoot.js +5 -3
- package/lib/esm/function/arithmetic/subtract.js +5 -3
- package/lib/esm/function/bitwise/bitAnd.js +5 -3
- package/lib/esm/function/bitwise/bitOr.js +5 -3
- package/lib/esm/function/bitwise/bitXor.js +5 -3
- package/lib/esm/function/bitwise/leftShift.js +5 -3
- package/lib/esm/function/bitwise/rightArithShift.js +5 -3
- package/lib/esm/function/bitwise/rightLogShift.js +5 -3
- package/lib/esm/function/geometry/distance.js +3 -3
- package/lib/esm/function/logical/and.js +5 -3
- package/lib/esm/function/logical/or.js +5 -3
- package/lib/esm/function/logical/xor.js +5 -3
- package/lib/esm/function/matrix/column.js +3 -1
- package/lib/esm/function/matrix/fft.js +37 -4
- package/lib/esm/function/matrix/getMatrixDataType.js +1 -1
- package/lib/esm/function/matrix/row.js +3 -1
- package/lib/esm/function/matrix/subset.js +1 -1
- package/lib/esm/function/relational/compare.js +5 -3
- package/lib/esm/function/relational/compareText.js +5 -3
- package/lib/esm/function/relational/equal.js +5 -3
- package/lib/esm/function/relational/larger.js +5 -3
- package/lib/esm/function/relational/largerEq.js +5 -3
- package/lib/esm/function/relational/smaller.js +5 -3
- package/lib/esm/function/relational/smallerEq.js +5 -3
- package/lib/esm/function/relational/unequal.js +5 -3
- package/lib/esm/function/statistics/max.js +1 -1
- package/lib/esm/function/statistics/quantileSeq.js +4 -3
- package/lib/esm/function/trigonometry/atan2.js +5 -3
- package/lib/esm/function/unit/to.js +8 -6
- package/lib/esm/type/matrix/utils/broadcast.js +75 -0
- package/lib/esm/type/matrix/utils/matrixAlgorithmSuite.js +25 -20
- package/lib/esm/version.js +1 -1
- package/package.json +11 -11
- package/types/index.d.ts +4 -4
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { arraySize } from '../../utils/array.js';
|
|
2
2
|
import { factory } from '../../utils/factory.js';
|
|
3
3
|
var name = 'fft';
|
|
4
|
-
var dependencies = ['typed', 'matrix', 'addScalar', 'multiplyScalar', 'divideScalar', 'exp', 'tau', 'i'];
|
|
4
|
+
var dependencies = ['typed', 'matrix', 'addScalar', 'multiplyScalar', 'divideScalar', 'exp', 'tau', 'i', 'dotDivide', 'conj', 'pow', 'ceil', 'log2'];
|
|
5
5
|
export var createFft = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
6
6
|
var {
|
|
7
7
|
typed,
|
|
@@ -11,7 +11,12 @@ export var createFft = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
11
11
|
divideScalar,
|
|
12
12
|
exp,
|
|
13
13
|
tau,
|
|
14
|
-
i: I
|
|
14
|
+
i: I,
|
|
15
|
+
dotDivide,
|
|
16
|
+
conj,
|
|
17
|
+
pow,
|
|
18
|
+
ceil,
|
|
19
|
+
log2
|
|
15
20
|
} = _ref;
|
|
16
21
|
/**
|
|
17
22
|
* Calculate N-dimensional fourier transform
|
|
@@ -70,7 +75,32 @@ export var createFft = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
70
75
|
}
|
|
71
76
|
return _transpose(_1dFft(_transpose(arr), 1));
|
|
72
77
|
}
|
|
73
|
-
|
|
78
|
+
/**
|
|
79
|
+
* Perform an 1-dimensional non-power-of-2 Fourier transform using Chirp-Z Transform
|
|
80
|
+
*
|
|
81
|
+
* @param {Array} arr The array
|
|
82
|
+
* @return {Array} resulting array
|
|
83
|
+
*/
|
|
84
|
+
function _czt(arr) {
|
|
85
|
+
var n = arr.length;
|
|
86
|
+
var w = exp(divideScalar(multiplyScalar(-1, multiplyScalar(I, tau)), n));
|
|
87
|
+
var chirp = [];
|
|
88
|
+
for (var i = 1 - n; i < n; i++) {
|
|
89
|
+
chirp.push(pow(w, divideScalar(pow(i, 2), 2)));
|
|
90
|
+
}
|
|
91
|
+
var N2 = pow(2, ceil(log2(n + n - 1)));
|
|
92
|
+
var xp = [...new Array(n).fill(0).map((_, i) => multiplyScalar(arr[i], chirp[n - 1 + i])), ...new Array(N2 - n).fill(0)];
|
|
93
|
+
var ichirp = [...new Array(n + n - 1).fill(0).map((_, i) => divideScalar(1, chirp[i])), ...new Array(N2 - (n + n - 1)).fill(0)];
|
|
94
|
+
var fftXp = _fft(xp);
|
|
95
|
+
var fftIchirp = _fft(ichirp);
|
|
96
|
+
var fftProduct = new Array(N2).fill(0).map((_, i) => multiplyScalar(fftXp[i], fftIchirp[i]));
|
|
97
|
+
var ifftProduct = dotDivide(conj(_ndFft(conj(fftProduct))), N2);
|
|
98
|
+
var ret = [];
|
|
99
|
+
for (var _i = n - 1; _i < n + n - 1; _i++) {
|
|
100
|
+
ret.push(multiplyScalar(ifftProduct[_i], chirp[_i]));
|
|
101
|
+
}
|
|
102
|
+
return ret;
|
|
103
|
+
}
|
|
74
104
|
/**
|
|
75
105
|
* Perform an 1-dimensional Fourier transform
|
|
76
106
|
*
|
|
@@ -89,7 +119,10 @@ export var createFft = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
89
119
|
ret[k + len / 2] = addScalar(p, multiplyScalar(-1, q));
|
|
90
120
|
}
|
|
91
121
|
return ret;
|
|
122
|
+
} else {
|
|
123
|
+
// use chirp-z transform for non-power-of-2 FFT
|
|
124
|
+
return _czt(arr);
|
|
92
125
|
}
|
|
93
|
-
throw new Error('Can only calculate FFT of power-of-two size')
|
|
126
|
+
// throw new Error('Can only calculate FFT of power-of-two size')
|
|
94
127
|
}
|
|
95
128
|
});
|
|
@@ -21,7 +21,7 @@ export var createGetMatrixDataType = /* #__PURE__ */factory(name, dependencies,
|
|
|
21
21
|
*
|
|
22
22
|
* const x = [ [1, 2, 3], [4, 5, 6] ]
|
|
23
23
|
* const mixedX = [ [1, true], [2, 3] ]
|
|
24
|
-
* const fractionX = [ [math.fraction(1, 3)], [math.fraction(1, 3] ]
|
|
24
|
+
* const fractionX = [ [math.fraction(1, 3)], [math.fraction(1, 3)] ]
|
|
25
25
|
* const unitX = [ [math.unit('5cm')], [math.unit('5cm')] ]
|
|
26
26
|
* const bigNumberX = [ [math.bignumber(1)], [math.bignumber(0)] ]
|
|
27
27
|
* const sparse = math.sparse(x)
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
+
import { isMatrix } from '../../utils/is.js';
|
|
2
3
|
import { clone } from '../../utils/object.js';
|
|
3
4
|
import { validateIndex } from '../../utils/array.js';
|
|
4
5
|
var name = 'row';
|
|
@@ -52,6 +53,7 @@ export var createRow = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
52
53
|
validateIndex(row, value.size()[0]);
|
|
53
54
|
var columnRange = range(0, value.size()[1]);
|
|
54
55
|
var index = new Index(row, columnRange);
|
|
55
|
-
|
|
56
|
+
var result = value.subset(index);
|
|
57
|
+
return isMatrix(result) ? result : matrix([[result]]);
|
|
56
58
|
}
|
|
57
59
|
});
|
|
@@ -27,7 +27,7 @@ export var createSubset = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
27
27
|
*
|
|
28
28
|
* // replace a subset
|
|
29
29
|
* const e = []
|
|
30
|
-
* const f = math.subset(e, math.index(0, [0, 2]), [5, 6]) // f = [[5, 6]]
|
|
30
|
+
* const f = math.subset(e, math.index(0, [0, 2]), [5, 6]) // f = [[5, 6]]
|
|
31
31
|
* const g = math.subset(f, math.index(1, 1), 7, 0) // g = [[5, 6], [0, 7]]
|
|
32
32
|
*
|
|
33
33
|
* // get submatrix using ranges
|
|
@@ -7,7 +7,7 @@ import { createMatAlgo05xSfSf } from '../../type/matrix/utils/matAlgo05xSfSf.js'
|
|
|
7
7
|
import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
|
|
8
8
|
import { createCompareUnits } from './compareUnits.js';
|
|
9
9
|
var name = 'compare';
|
|
10
|
-
var dependencies = ['typed', 'config', 'matrix', 'equalScalar', 'BigNumber', 'Fraction', 'DenseMatrix'];
|
|
10
|
+
var dependencies = ['typed', 'config', 'matrix', 'equalScalar', 'BigNumber', 'Fraction', 'DenseMatrix', 'concat'];
|
|
11
11
|
export var createCompare = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
12
12
|
var {
|
|
13
13
|
typed,
|
|
@@ -16,7 +16,8 @@ export var createCompare = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
16
16
|
matrix,
|
|
17
17
|
BigNumber,
|
|
18
18
|
Fraction,
|
|
19
|
-
DenseMatrix
|
|
19
|
+
DenseMatrix,
|
|
20
|
+
concat
|
|
20
21
|
} = _ref;
|
|
21
22
|
var matAlgo03xDSf = createMatAlgo03xDSf({
|
|
22
23
|
typed
|
|
@@ -31,7 +32,8 @@ export var createCompare = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
31
32
|
});
|
|
32
33
|
var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
|
|
33
34
|
typed,
|
|
34
|
-
matrix
|
|
35
|
+
matrix,
|
|
36
|
+
concat
|
|
35
37
|
});
|
|
36
38
|
var compareUnits = createCompareUnits({
|
|
37
39
|
typed
|
|
@@ -2,16 +2,18 @@ import { compareText as _compareText } from '../../utils/string.js';
|
|
|
2
2
|
import { factory } from '../../utils/factory.js';
|
|
3
3
|
import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
|
|
4
4
|
var name = 'compareText';
|
|
5
|
-
var dependencies = ['typed', 'matrix'];
|
|
5
|
+
var dependencies = ['typed', 'matrix', 'concat'];
|
|
6
6
|
_compareText.signature = 'any, any';
|
|
7
7
|
export var createCompareText = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
8
8
|
var {
|
|
9
9
|
typed,
|
|
10
|
-
matrix
|
|
10
|
+
matrix,
|
|
11
|
+
concat
|
|
11
12
|
} = _ref;
|
|
12
13
|
var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
|
|
13
14
|
typed,
|
|
14
|
-
matrix
|
|
15
|
+
matrix,
|
|
16
|
+
concat
|
|
15
17
|
});
|
|
16
18
|
|
|
17
19
|
/**
|
|
@@ -4,13 +4,14 @@ import { createMatAlgo07xSSf } from '../../type/matrix/utils/matAlgo07xSSf.js';
|
|
|
4
4
|
import { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';
|
|
5
5
|
import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
|
|
6
6
|
var name = 'equal';
|
|
7
|
-
var dependencies = ['typed', 'matrix', 'equalScalar', 'DenseMatrix'];
|
|
7
|
+
var dependencies = ['typed', 'matrix', 'equalScalar', 'DenseMatrix', 'concat'];
|
|
8
8
|
export var createEqual = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
9
9
|
var {
|
|
10
10
|
typed,
|
|
11
11
|
matrix,
|
|
12
12
|
equalScalar,
|
|
13
|
-
DenseMatrix
|
|
13
|
+
DenseMatrix,
|
|
14
|
+
concat
|
|
14
15
|
} = _ref;
|
|
15
16
|
var matAlgo03xDSf = createMatAlgo03xDSf({
|
|
16
17
|
typed
|
|
@@ -25,7 +26,8 @@ export var createEqual = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
25
26
|
});
|
|
26
27
|
var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
|
|
27
28
|
typed,
|
|
28
|
-
matrix
|
|
29
|
+
matrix,
|
|
30
|
+
concat
|
|
29
31
|
});
|
|
30
32
|
|
|
31
33
|
/**
|
|
@@ -7,13 +7,14 @@ import { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';
|
|
|
7
7
|
import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
|
|
8
8
|
import { createCompareUnits } from './compareUnits.js';
|
|
9
9
|
var name = 'larger';
|
|
10
|
-
var dependencies = ['typed', 'config', 'matrix', 'DenseMatrix'];
|
|
10
|
+
var dependencies = ['typed', 'config', 'matrix', 'DenseMatrix', 'concat'];
|
|
11
11
|
export var createLarger = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
12
12
|
var {
|
|
13
13
|
typed,
|
|
14
14
|
config,
|
|
15
15
|
matrix,
|
|
16
|
-
DenseMatrix
|
|
16
|
+
DenseMatrix,
|
|
17
|
+
concat
|
|
17
18
|
} = _ref;
|
|
18
19
|
var matAlgo03xDSf = createMatAlgo03xDSf({
|
|
19
20
|
typed
|
|
@@ -28,7 +29,8 @@ export var createLarger = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
28
29
|
});
|
|
29
30
|
var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
|
|
30
31
|
typed,
|
|
31
|
-
matrix
|
|
32
|
+
matrix,
|
|
33
|
+
concat
|
|
32
34
|
});
|
|
33
35
|
var compareUnits = createCompareUnits({
|
|
34
36
|
typed
|
|
@@ -7,13 +7,14 @@ import { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';
|
|
|
7
7
|
import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
|
|
8
8
|
import { createCompareUnits } from './compareUnits.js';
|
|
9
9
|
var name = 'largerEq';
|
|
10
|
-
var dependencies = ['typed', 'config', 'matrix', 'DenseMatrix'];
|
|
10
|
+
var dependencies = ['typed', 'config', 'matrix', 'DenseMatrix', 'concat'];
|
|
11
11
|
export var createLargerEq = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
12
12
|
var {
|
|
13
13
|
typed,
|
|
14
14
|
config,
|
|
15
15
|
matrix,
|
|
16
|
-
DenseMatrix
|
|
16
|
+
DenseMatrix,
|
|
17
|
+
concat
|
|
17
18
|
} = _ref;
|
|
18
19
|
var matAlgo03xDSf = createMatAlgo03xDSf({
|
|
19
20
|
typed
|
|
@@ -28,7 +29,8 @@ export var createLargerEq = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
28
29
|
});
|
|
29
30
|
var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
|
|
30
31
|
typed,
|
|
31
|
-
matrix
|
|
32
|
+
matrix,
|
|
33
|
+
concat
|
|
32
34
|
});
|
|
33
35
|
var compareUnits = createCompareUnits({
|
|
34
36
|
typed
|
|
@@ -7,13 +7,14 @@ import { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';
|
|
|
7
7
|
import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
|
|
8
8
|
import { createCompareUnits } from './compareUnits.js';
|
|
9
9
|
var name = 'smaller';
|
|
10
|
-
var dependencies = ['typed', 'config', 'matrix', 'DenseMatrix'];
|
|
10
|
+
var dependencies = ['typed', 'config', 'matrix', 'DenseMatrix', 'concat'];
|
|
11
11
|
export var createSmaller = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
12
12
|
var {
|
|
13
13
|
typed,
|
|
14
14
|
config,
|
|
15
15
|
matrix,
|
|
16
|
-
DenseMatrix
|
|
16
|
+
DenseMatrix,
|
|
17
|
+
concat
|
|
17
18
|
} = _ref;
|
|
18
19
|
var matAlgo03xDSf = createMatAlgo03xDSf({
|
|
19
20
|
typed
|
|
@@ -28,7 +29,8 @@ export var createSmaller = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
28
29
|
});
|
|
29
30
|
var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
|
|
30
31
|
typed,
|
|
31
|
-
matrix
|
|
32
|
+
matrix,
|
|
33
|
+
concat
|
|
32
34
|
});
|
|
33
35
|
var compareUnits = createCompareUnits({
|
|
34
36
|
typed
|
|
@@ -7,13 +7,14 @@ import { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';
|
|
|
7
7
|
import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
|
|
8
8
|
import { createCompareUnits } from './compareUnits.js';
|
|
9
9
|
var name = 'smallerEq';
|
|
10
|
-
var dependencies = ['typed', 'config', 'matrix', 'DenseMatrix'];
|
|
10
|
+
var dependencies = ['typed', 'config', 'matrix', 'DenseMatrix', 'concat'];
|
|
11
11
|
export var createSmallerEq = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
12
12
|
var {
|
|
13
13
|
typed,
|
|
14
14
|
config,
|
|
15
15
|
matrix,
|
|
16
|
-
DenseMatrix
|
|
16
|
+
DenseMatrix,
|
|
17
|
+
concat
|
|
17
18
|
} = _ref;
|
|
18
19
|
var matAlgo03xDSf = createMatAlgo03xDSf({
|
|
19
20
|
typed
|
|
@@ -28,7 +29,8 @@ export var createSmallerEq = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
|
28
29
|
});
|
|
29
30
|
var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
|
|
30
31
|
typed,
|
|
31
|
-
matrix
|
|
32
|
+
matrix,
|
|
33
|
+
concat
|
|
32
34
|
});
|
|
33
35
|
var compareUnits = createCompareUnits({
|
|
34
36
|
typed
|
|
@@ -4,14 +4,15 @@ import { createMatAlgo07xSSf } from '../../type/matrix/utils/matAlgo07xSSf.js';
|
|
|
4
4
|
import { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';
|
|
5
5
|
import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
|
|
6
6
|
var name = 'unequal';
|
|
7
|
-
var dependencies = ['typed', 'config', 'equalScalar', 'matrix', 'DenseMatrix'];
|
|
7
|
+
var dependencies = ['typed', 'config', 'equalScalar', 'matrix', 'DenseMatrix', 'concat'];
|
|
8
8
|
export var createUnequal = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
9
9
|
var {
|
|
10
10
|
typed,
|
|
11
11
|
config,
|
|
12
12
|
equalScalar,
|
|
13
13
|
matrix,
|
|
14
|
-
DenseMatrix
|
|
14
|
+
DenseMatrix,
|
|
15
|
+
concat
|
|
15
16
|
} = _ref;
|
|
16
17
|
var matAlgo03xDSf = createMatAlgo03xDSf({
|
|
17
18
|
typed
|
|
@@ -26,7 +27,8 @@ export var createUnequal = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
26
27
|
});
|
|
27
28
|
var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
|
|
28
29
|
typed,
|
|
29
|
-
matrix
|
|
30
|
+
matrix,
|
|
31
|
+
concat
|
|
30
32
|
});
|
|
31
33
|
|
|
32
34
|
/**
|
|
@@ -29,7 +29,7 @@ export var createMax = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
29
29
|
*
|
|
30
30
|
* // maximum over a specified dimension (zero-based)
|
|
31
31
|
* math.max([[2, 5], [4, 3], [1, 7]], 0) // returns [4, 7]
|
|
32
|
-
* math.max([[2, 5], [4, 3]
|
|
32
|
+
* math.max([[2, 5], [4, 3], [1, 7]], 1) // returns [5, 4, 7]
|
|
33
33
|
*
|
|
34
34
|
* math.max(2.7, 7.1, -4.5, 2.0, 4.1) // returns 7.1
|
|
35
35
|
* math.min(2.7, 7.1, -4.5, 2.0, 4.1) // returns -4.5
|
|
@@ -106,11 +106,12 @@ export var createQuantileSeq = /* #__PURE__ */factory(name, dependencies, _ref =
|
|
|
106
106
|
return probArr;
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
|
-
if (
|
|
109
|
+
if (isCollection(probOrN)) {
|
|
110
110
|
// quantileSeq([a, b, c, d, ...], [prob1, prob2, ...][,sorted])
|
|
111
|
-
|
|
111
|
+
var probOrNArr = probOrN.valueOf();
|
|
112
|
+
probArr = new Array(probOrNArr.length);
|
|
112
113
|
for (var _i2 = 0; _i2 < probArr.length; ++_i2) {
|
|
113
|
-
var currProb =
|
|
114
|
+
var currProb = probOrNArr[_i2];
|
|
114
115
|
if (isNumber(currProb)) {
|
|
115
116
|
if (currProb < 0 || currProb > 1) {
|
|
116
117
|
throw new Error('Probability must be between 0 and 1, inclusive');
|
|
@@ -6,14 +6,15 @@ import { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';
|
|
|
6
6
|
import { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';
|
|
7
7
|
import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
|
|
8
8
|
var name = 'atan2';
|
|
9
|
-
var dependencies = ['typed', 'matrix', 'equalScalar', 'BigNumber', 'DenseMatrix'];
|
|
9
|
+
var dependencies = ['typed', 'matrix', 'equalScalar', 'BigNumber', 'DenseMatrix', 'concat'];
|
|
10
10
|
export var createAtan2 = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
11
11
|
var {
|
|
12
12
|
typed,
|
|
13
13
|
matrix,
|
|
14
14
|
equalScalar,
|
|
15
15
|
BigNumber,
|
|
16
|
-
DenseMatrix
|
|
16
|
+
DenseMatrix,
|
|
17
|
+
concat
|
|
17
18
|
} = _ref;
|
|
18
19
|
var matAlgo02xDS0 = createMatAlgo02xDS0({
|
|
19
20
|
typed,
|
|
@@ -36,7 +37,8 @@ export var createAtan2 = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
36
37
|
});
|
|
37
38
|
var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
|
|
38
39
|
typed,
|
|
39
|
-
matrix
|
|
40
|
+
matrix,
|
|
41
|
+
concat
|
|
40
42
|
});
|
|
41
43
|
|
|
42
44
|
/**
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
2
|
import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
|
|
3
3
|
var name = 'to';
|
|
4
|
-
var dependencies = ['typed', 'matrix'];
|
|
4
|
+
var dependencies = ['typed', 'matrix', 'concat'];
|
|
5
5
|
export var createTo = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
6
6
|
var {
|
|
7
7
|
typed,
|
|
8
|
-
matrix
|
|
8
|
+
matrix,
|
|
9
|
+
concat
|
|
9
10
|
} = _ref;
|
|
10
11
|
var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
|
|
11
12
|
typed,
|
|
12
|
-
matrix
|
|
13
|
+
matrix,
|
|
14
|
+
concat
|
|
13
15
|
});
|
|
14
16
|
|
|
15
17
|
/**
|
|
@@ -23,9 +25,9 @@ export var createTo = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
23
25
|
*
|
|
24
26
|
* Examples:
|
|
25
27
|
*
|
|
26
|
-
* math.to(math.unit('2 inch'), 'cm')
|
|
27
|
-
* math.to(math.unit('2 inch'), math.unit(
|
|
28
|
-
* math.to(math.unit(16, 'bytes'), 'bits')
|
|
28
|
+
* math.to(math.unit('2 inch'), 'cm') // returns Unit 5.08 cm
|
|
29
|
+
* math.to(math.unit('2 inch'), math.unit('cm')) // returns Unit 5.08 cm
|
|
30
|
+
* math.to(math.unit(16, 'bytes'), 'bits') // returns Unit 128 bits
|
|
29
31
|
*
|
|
30
32
|
* See also:
|
|
31
33
|
*
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { factory } from '../../../utils/factory.js';
|
|
2
|
+
var name = 'broadcast';
|
|
3
|
+
var dependancies = ['concat'];
|
|
4
|
+
export var createBroadcast = /* #__PURE__ */factory(name, dependancies, _ref => {
|
|
5
|
+
var {
|
|
6
|
+
concat
|
|
7
|
+
} = _ref;
|
|
8
|
+
/**
|
|
9
|
+
* Broadcasts two matrices, and return both in an array
|
|
10
|
+
* It checks if it's possible with broadcasting rules
|
|
11
|
+
*
|
|
12
|
+
* @param {Matrix} A First Matrix
|
|
13
|
+
* @param {Matrix} B Second Matrix
|
|
14
|
+
*
|
|
15
|
+
* @return {Matrix[]} [ broadcastedA, broadcastedB ]
|
|
16
|
+
*/
|
|
17
|
+
return function (A, B) {
|
|
18
|
+
var N = Math.max(A._size.length, B._size.length); // max number of dims
|
|
19
|
+
if (A._size.length === B._size.length) {
|
|
20
|
+
if (A._size.every((dim, i) => dim === B._size[i])) {
|
|
21
|
+
// If matrices have the same size return them
|
|
22
|
+
return [A, B];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
var sizeA = _padLeft(A._size, N, 0); // pad to the left to align dimensions to the right
|
|
26
|
+
var sizeB = _padLeft(B._size, N, 0); // pad to the left to align dimensions to the right
|
|
27
|
+
|
|
28
|
+
// calculate the max dimensions
|
|
29
|
+
var sizeMax = [];
|
|
30
|
+
for (var dim = 0; dim < N; dim++) {
|
|
31
|
+
sizeMax[dim] = Math.max(sizeA[dim], sizeB[dim]);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// check if the broadcasting rules applyes for both matrices
|
|
35
|
+
for (var _dim = 0; _dim < N; _dim++) {
|
|
36
|
+
_checkRules(sizeA, sizeMax, _dim);
|
|
37
|
+
_checkRules(sizeB, sizeMax, _dim);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// reshape A or B if needed to make them ready for concat
|
|
41
|
+
var AA = A.clone();
|
|
42
|
+
var BB = B.clone();
|
|
43
|
+
if (AA._size.length < N) {
|
|
44
|
+
AA.reshape(_padLeft(AA._size, N, 1));
|
|
45
|
+
} else if (BB._size.length < N) {
|
|
46
|
+
BB.reshape(_padLeft(BB._size, N, 1));
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// stretches the matrices on each dimension to make them the same size
|
|
50
|
+
for (var _dim2 = 0; _dim2 < N; _dim2++) {
|
|
51
|
+
if (AA._size[_dim2] < sizeMax[_dim2]) {
|
|
52
|
+
AA = _stretch(AA, sizeMax[_dim2], _dim2);
|
|
53
|
+
}
|
|
54
|
+
if (BB._size[_dim2] < sizeMax[_dim2]) {
|
|
55
|
+
BB = _stretch(BB, sizeMax[_dim2], _dim2);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// return the array with the two broadcasted matrices
|
|
60
|
+
return [AA, BB];
|
|
61
|
+
};
|
|
62
|
+
function _padLeft(shape, N, filler) {
|
|
63
|
+
// pads an array of dimensions with numbers to the left, unitl the number of dimensions is N
|
|
64
|
+
return [...Array(N - shape.length).fill(filler), ...shape];
|
|
65
|
+
}
|
|
66
|
+
function _stretch(arrayToStretch, sizeToStretch, dimToStretch) {
|
|
67
|
+
// stretches a matrix up to a certain size in a certain dimension
|
|
68
|
+
return concat(...Array(sizeToStretch).fill(arrayToStretch), dimToStretch);
|
|
69
|
+
}
|
|
70
|
+
function _checkRules(shape, sizeMax, dim) {
|
|
71
|
+
if (shape[dim] < sizeMax[dim] & shape[dim] > 1) {
|
|
72
|
+
throw new Error("shape missmatch: missmatch is found in arg with shape (".concat(shape, ") not possible to broadcast dimension ").concat(dim, " with size ").concat(shape[dim], " to size ").concat(sizeMax[dim]));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
});
|
|
@@ -2,12 +2,14 @@ import { factory } from '../../../utils/factory.js';
|
|
|
2
2
|
import { extend } from '../../../utils/object.js';
|
|
3
3
|
import { createMatAlgo13xDD } from './matAlgo13xDD.js';
|
|
4
4
|
import { createMatAlgo14xDs } from './matAlgo14xDs.js';
|
|
5
|
+
import { createBroadcast } from './broadcast.js';
|
|
5
6
|
var name = 'matrixAlgorithmSuite';
|
|
6
|
-
var dependencies = ['typed', 'matrix'];
|
|
7
|
+
var dependencies = ['typed', 'matrix', 'concat'];
|
|
7
8
|
export var createMatrixAlgorithmSuite = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
8
9
|
var {
|
|
9
10
|
typed,
|
|
10
|
-
matrix
|
|
11
|
+
matrix,
|
|
12
|
+
concat
|
|
11
13
|
} = _ref;
|
|
12
14
|
var matAlgo13xDD = createMatAlgo13xDD({
|
|
13
15
|
typed
|
|
@@ -15,6 +17,9 @@ export var createMatrixAlgorithmSuite = /* #__PURE__ */factory(name, dependencie
|
|
|
15
17
|
var matAlgo14xDs = createMatAlgo14xDs({
|
|
16
18
|
typed
|
|
17
19
|
});
|
|
20
|
+
var broadcast = createBroadcast({
|
|
21
|
+
concat
|
|
22
|
+
});
|
|
18
23
|
|
|
19
24
|
/**
|
|
20
25
|
* Return a signatures object with the usual boilerplate of
|
|
@@ -40,60 +45,60 @@ export var createMatrixAlgorithmSuite = /* #__PURE__ */factory(name, dependencie
|
|
|
40
45
|
if (elop) {
|
|
41
46
|
// First the dense ones
|
|
42
47
|
matrixSignatures = {
|
|
43
|
-
'DenseMatrix, DenseMatrix': (x, y) => matAlgo13xDD(x, y, elop),
|
|
44
|
-
'Array, Array': (x, y) => matAlgo13xDD(matrix(x), matrix(y), elop).valueOf(),
|
|
45
|
-
'Array, DenseMatrix': (x, y) => matAlgo13xDD(matrix(x), y, elop),
|
|
46
|
-
'DenseMatrix, Array': (x, y) => matAlgo13xDD(x, matrix(y), elop)
|
|
48
|
+
'DenseMatrix, DenseMatrix': (x, y) => matAlgo13xDD(...broadcast(x, y), elop),
|
|
49
|
+
'Array, Array': (x, y) => matAlgo13xDD(...broadcast(matrix(x), matrix(y)), elop).valueOf(),
|
|
50
|
+
'Array, DenseMatrix': (x, y) => matAlgo13xDD(...broadcast(matrix(x), y), elop),
|
|
51
|
+
'DenseMatrix, Array': (x, y) => matAlgo13xDD(...broadcast(x, matrix(y)), elop)
|
|
47
52
|
};
|
|
48
53
|
// Now incorporate sparse matrices
|
|
49
54
|
if (options.SS) {
|
|
50
|
-
matrixSignatures['SparseMatrix, SparseMatrix'] = (x, y) => options.SS(x, y, elop, false);
|
|
55
|
+
matrixSignatures['SparseMatrix, SparseMatrix'] = (x, y) => options.SS(...broadcast(x, y), elop, false);
|
|
51
56
|
}
|
|
52
57
|
if (options.DS) {
|
|
53
|
-
matrixSignatures['DenseMatrix, SparseMatrix'] = (x, y) => options.DS(x, y, elop, false);
|
|
54
|
-
matrixSignatures['Array, SparseMatrix'] = (x, y) => options.DS(matrix(x), y, elop, false);
|
|
58
|
+
matrixSignatures['DenseMatrix, SparseMatrix'] = (x, y) => options.DS(...broadcast(x, y), elop, false);
|
|
59
|
+
matrixSignatures['Array, SparseMatrix'] = (x, y) => options.DS(...broadcast(matrix(x), y), elop, false);
|
|
55
60
|
}
|
|
56
61
|
if (SD) {
|
|
57
|
-
matrixSignatures['SparseMatrix, DenseMatrix'] = (x, y) => SD(y, x, elop, true);
|
|
58
|
-
matrixSignatures['SparseMatrix, Array'] = (x, y) => SD(matrix(y), x, elop, true);
|
|
62
|
+
matrixSignatures['SparseMatrix, DenseMatrix'] = (x, y) => SD(...broadcast(y, x), elop, true);
|
|
63
|
+
matrixSignatures['SparseMatrix, Array'] = (x, y) => SD(...broadcast(matrix(y), x), elop, true);
|
|
59
64
|
}
|
|
60
65
|
} else {
|
|
61
66
|
// No elop, use this
|
|
62
67
|
// First the dense ones
|
|
63
68
|
matrixSignatures = {
|
|
64
69
|
'DenseMatrix, DenseMatrix': typed.referToSelf(self => (x, y) => {
|
|
65
|
-
return matAlgo13xDD(x, y, self);
|
|
70
|
+
return matAlgo13xDD(...broadcast(x, y), self);
|
|
66
71
|
}),
|
|
67
72
|
'Array, Array': typed.referToSelf(self => (x, y) => {
|
|
68
|
-
return matAlgo13xDD(matrix(x), matrix(y), self).valueOf();
|
|
73
|
+
return matAlgo13xDD(...broadcast(matrix(x), matrix(y)), self).valueOf();
|
|
69
74
|
}),
|
|
70
75
|
'Array, DenseMatrix': typed.referToSelf(self => (x, y) => {
|
|
71
|
-
return matAlgo13xDD(matrix(x), y, self);
|
|
76
|
+
return matAlgo13xDD(...broadcast(matrix(x), y), self);
|
|
72
77
|
}),
|
|
73
78
|
'DenseMatrix, Array': typed.referToSelf(self => (x, y) => {
|
|
74
|
-
return matAlgo13xDD(x, matrix(y), self);
|
|
79
|
+
return matAlgo13xDD(...broadcast(x, matrix(y)), self);
|
|
75
80
|
})
|
|
76
81
|
};
|
|
77
82
|
// Now incorporate sparse matrices
|
|
78
83
|
if (options.SS) {
|
|
79
84
|
matrixSignatures['SparseMatrix, SparseMatrix'] = typed.referToSelf(self => (x, y) => {
|
|
80
|
-
return options.SS(x, y, self, false);
|
|
85
|
+
return options.SS(...broadcast(x, y), self, false);
|
|
81
86
|
});
|
|
82
87
|
}
|
|
83
88
|
if (options.DS) {
|
|
84
89
|
matrixSignatures['DenseMatrix, SparseMatrix'] = typed.referToSelf(self => (x, y) => {
|
|
85
|
-
return options.DS(x, y, self, false);
|
|
90
|
+
return options.DS(...broadcast(x, y), self, false);
|
|
86
91
|
});
|
|
87
92
|
matrixSignatures['Array, SparseMatrix'] = typed.referToSelf(self => (x, y) => {
|
|
88
|
-
return options.DS(matrix(x), y, self, false);
|
|
93
|
+
return options.DS(...broadcast(matrix(x), y), self, false);
|
|
89
94
|
});
|
|
90
95
|
}
|
|
91
96
|
if (SD) {
|
|
92
97
|
matrixSignatures['SparseMatrix, DenseMatrix'] = typed.referToSelf(self => (x, y) => {
|
|
93
|
-
return SD(y, x, self, true);
|
|
98
|
+
return SD(...broadcast(y, x), self, true);
|
|
94
99
|
});
|
|
95
100
|
matrixSignatures['SparseMatrix, Array'] = typed.referToSelf(self => (x, y) => {
|
|
96
|
-
return SD(matrix(y), x, self, true);
|
|
101
|
+
return SD(...broadcast(matrix(y), x), self, true);
|
|
97
102
|
});
|
|
98
103
|
}
|
|
99
104
|
}
|
package/lib/esm/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mathjs",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.6.0",
|
|
4
4
|
"description": "Math.js is an extensive math library for JavaScript and Node.js. It features a flexible expression parser with support for symbolic computation, comes with a large set of built-in functions and constants, and offers an integrated solution to work with different data types like numbers, big numbers, complex numbers, fractions, units, and matrices.",
|
|
5
5
|
"author": "Jos de Jong <wjosdejong@gmail.com> (https://github.com/josdejong)",
|
|
6
6
|
"homepage": "https://mathjs.org",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"unit"
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@babel/runtime": "^7.
|
|
28
|
+
"@babel/runtime": "^7.21.0",
|
|
29
29
|
"complex.js": "^2.1.1",
|
|
30
30
|
"decimal.js": "^10.4.3",
|
|
31
31
|
"escape-latex": "^1.2.0",
|
|
@@ -36,24 +36,24 @@
|
|
|
36
36
|
"typed-function": "^4.1.0"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@babel/core": "7.
|
|
39
|
+
"@babel/core": "7.21.0",
|
|
40
40
|
"@babel/plugin-transform-object-assign": "7.18.6",
|
|
41
|
-
"@babel/plugin-transform-runtime": "7.
|
|
41
|
+
"@babel/plugin-transform-runtime": "7.21.0",
|
|
42
42
|
"@babel/preset-env": "7.20.2",
|
|
43
|
-
"@babel/register": "7.
|
|
43
|
+
"@babel/register": "7.21.0",
|
|
44
44
|
"@types/assert": "1.5.6",
|
|
45
45
|
"@types/mocha": "10.0.1",
|
|
46
|
-
"@typescript-eslint/eslint-plugin": "5.
|
|
47
|
-
"@typescript-eslint/parser": "5.
|
|
46
|
+
"@typescript-eslint/eslint-plugin": "5.53.0",
|
|
47
|
+
"@typescript-eslint/parser": "5.53.0",
|
|
48
48
|
"assert": "2.0.0",
|
|
49
49
|
"babel-loader": "9.1.2",
|
|
50
50
|
"benchmark": "2.1.4",
|
|
51
|
-
"c8": "7.
|
|
51
|
+
"c8": "7.13.0",
|
|
52
52
|
"codecov": "3.8.3",
|
|
53
|
-
"core-js": "3.
|
|
53
|
+
"core-js": "3.28.0",
|
|
54
54
|
"del": "6.1.1",
|
|
55
55
|
"dtslint": "4.2.1",
|
|
56
|
-
"eslint": "8.
|
|
56
|
+
"eslint": "8.34.0",
|
|
57
57
|
"eslint-config-prettier": "8.6.0",
|
|
58
58
|
"eslint-config-standard": "17.0.0",
|
|
59
59
|
"eslint-plugin-import": "2.27.5",
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"ndarray-pack": "1.2.1",
|
|
86
86
|
"numericjs": "1.2.6",
|
|
87
87
|
"pad-right": "0.2.2",
|
|
88
|
-
"prettier": "2.8.
|
|
88
|
+
"prettier": "2.8.4",
|
|
89
89
|
"process": "0.11.10",
|
|
90
90
|
"sylvester": "0.0.21",
|
|
91
91
|
"ts-node": "10.9.1",
|