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
|
@@ -57,28 +57,28 @@ export var createRotationMatrix = /* #__PURE__ */factory(name, dependencies, _re
|
|
|
57
57
|
string: function string(format) {
|
|
58
58
|
return matrix(format);
|
|
59
59
|
},
|
|
60
|
-
'number | BigNumber | Complex | Unit': function
|
|
60
|
+
'number | BigNumber | Complex | Unit': function number__BigNumber__Complex__Unit(theta) {
|
|
61
61
|
return _rotationMatrix2x2(theta, config.matrix === 'Matrix' ? 'dense' : undefined);
|
|
62
62
|
},
|
|
63
|
-
'number | BigNumber | Complex | Unit, string': function
|
|
63
|
+
'number | BigNumber | Complex | Unit, string': function number__BigNumber__Complex__Unit_string(theta, format) {
|
|
64
64
|
return _rotationMatrix2x2(theta, format);
|
|
65
65
|
},
|
|
66
|
-
'number | BigNumber | Complex | Unit, Array': function
|
|
66
|
+
'number | BigNumber | Complex | Unit, Array': function number__BigNumber__Complex__Unit_Array(theta, v) {
|
|
67
67
|
var matrixV = matrix(v);
|
|
68
68
|
_validateVector(matrixV);
|
|
69
69
|
return _rotationMatrix3x3(theta, matrixV, undefined);
|
|
70
70
|
},
|
|
71
|
-
'number | BigNumber | Complex | Unit, Matrix': function
|
|
71
|
+
'number | BigNumber | Complex | Unit, Matrix': function number__BigNumber__Complex__Unit_Matrix(theta, v) {
|
|
72
72
|
_validateVector(v);
|
|
73
73
|
var storageType = v.storage() || (config.matrix === 'Matrix' ? 'dense' : undefined);
|
|
74
74
|
return _rotationMatrix3x3(theta, v, storageType);
|
|
75
75
|
},
|
|
76
|
-
'number | BigNumber | Complex | Unit, Array, string': function
|
|
76
|
+
'number | BigNumber | Complex | Unit, Array, string': function number__BigNumber__Complex__Unit_Array_string(theta, v, format) {
|
|
77
77
|
var matrixV = matrix(v);
|
|
78
78
|
_validateVector(matrixV);
|
|
79
79
|
return _rotationMatrix3x3(theta, matrixV, format);
|
|
80
80
|
},
|
|
81
|
-
'number | BigNumber | Complex | Unit, Matrix, string': function
|
|
81
|
+
'number | BigNumber | Complex | Unit, Matrix, string': function number__BigNumber__Complex__Unit_Matrix_string(theta, v, format) {
|
|
82
82
|
_validateVector(v);
|
|
83
83
|
return _rotationMatrix3x3(theta, v, format);
|
|
84
84
|
}
|
|
@@ -34,7 +34,7 @@ export var createRow = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
34
34
|
*/
|
|
35
35
|
return typed(name, {
|
|
36
36
|
'Matrix, number': _row,
|
|
37
|
-
'Array, number': function
|
|
37
|
+
'Array, number': function Array_number(value, row) {
|
|
38
38
|
return _row(matrix(clone(value)), row).valueOf();
|
|
39
39
|
}
|
|
40
40
|
});
|
|
@@ -18,12 +18,12 @@ export var createSize = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
18
18
|
*
|
|
19
19
|
* Examples:
|
|
20
20
|
*
|
|
21
|
-
* math.size(2.3)
|
|
22
|
-
* math.size('hello world')
|
|
21
|
+
* math.size(2.3) // returns []
|
|
22
|
+
* math.size('hello world') // returns [11]
|
|
23
23
|
*
|
|
24
24
|
* const A = [[1, 2, 3], [4, 5, 6]]
|
|
25
|
-
* math.size(A)
|
|
26
|
-
* math.size(math.range(1,6))
|
|
25
|
+
* math.size(A) // returns [2, 3]
|
|
26
|
+
* math.size(math.range(1,6).toArray()) // returns [5]
|
|
27
27
|
*
|
|
28
28
|
* See also:
|
|
29
29
|
*
|
|
@@ -34,15 +34,15 @@ export var createSize = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
34
34
|
*/
|
|
35
35
|
return typed(name, {
|
|
36
36
|
Matrix: function Matrix(x) {
|
|
37
|
-
return x.create(x.size());
|
|
37
|
+
return x.create(x.size(), 'number');
|
|
38
38
|
},
|
|
39
39
|
Array: arraySize,
|
|
40
40
|
string: function string(x) {
|
|
41
|
-
return config.matrix === 'Array' ? [x.length] : matrix([x.length]);
|
|
41
|
+
return config.matrix === 'Array' ? [x.length] : matrix([x.length], 'dense', 'number');
|
|
42
42
|
},
|
|
43
|
-
'number | Complex | BigNumber | Unit | boolean | null': function
|
|
43
|
+
'number | Complex | BigNumber | Unit | boolean | null': function number__Complex__BigNumber__Unit__boolean__null(x) {
|
|
44
44
|
// scalar
|
|
45
|
-
return config.matrix === 'Array' ? [] : matrix ? matrix([]) : noMatrix();
|
|
45
|
+
return config.matrix === 'Array' ? [] : matrix ? matrix([], 'dense', 'number') : noMatrix();
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
48
|
});
|
|
@@ -52,19 +52,19 @@ export var createSort = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
52
52
|
_matrixIsVector(x);
|
|
53
53
|
return matrix(x.toArray().sort(compareAsc), x.storage());
|
|
54
54
|
},
|
|
55
|
-
'Array, function': function
|
|
55
|
+
'Array, function': function Array_function(x, _comparator) {
|
|
56
56
|
_arrayIsVector(x);
|
|
57
57
|
return x.sort(_comparator);
|
|
58
58
|
},
|
|
59
|
-
'Matrix, function': function
|
|
59
|
+
'Matrix, function': function Matrix_function(x, _comparator) {
|
|
60
60
|
_matrixIsVector(x);
|
|
61
61
|
return matrix(x.toArray().sort(_comparator), x.storage());
|
|
62
62
|
},
|
|
63
|
-
'Array, string': function
|
|
63
|
+
'Array, string': function Array_string(x, order) {
|
|
64
64
|
_arrayIsVector(x);
|
|
65
65
|
return x.sort(_comparator(order));
|
|
66
66
|
},
|
|
67
|
-
'Matrix, string': function
|
|
67
|
+
'Matrix, string': function Matrix_string(x, order) {
|
|
68
68
|
_matrixIsVector(x);
|
|
69
69
|
return matrix(x.toArray().sort(_comparator(order)), x.storage());
|
|
70
70
|
}
|
|
@@ -69,7 +69,7 @@ export var createSqrtm = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
69
69
|
* @return {Array | Matrix} The principal square root of matrix `A`
|
|
70
70
|
*/
|
|
71
71
|
return typed(name, {
|
|
72
|
-
'Array | Matrix': function
|
|
72
|
+
'Array | Matrix': function Array__Matrix(A) {
|
|
73
73
|
var size = isMatrix(A) ? A.size() : arraySize(A);
|
|
74
74
|
switch (size.length) {
|
|
75
75
|
case 1:
|
|
@@ -2,11 +2,10 @@ import { clone } from '../../utils/object.js';
|
|
|
2
2
|
import { squeeze as arraySqueeze } from '../../utils/array.js';
|
|
3
3
|
import { factory } from '../../utils/factory.js';
|
|
4
4
|
var name = 'squeeze';
|
|
5
|
-
var dependencies = ['typed'
|
|
5
|
+
var dependencies = ['typed'];
|
|
6
6
|
export var createSqueeze = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
7
7
|
var {
|
|
8
|
-
typed
|
|
9
|
-
matrix
|
|
8
|
+
typed
|
|
10
9
|
} = _ref;
|
|
11
10
|
/**
|
|
12
11
|
* Squeeze a matrix, remove inner and outer singleton dimensions from a matrix.
|
|
@@ -44,7 +43,7 @@ export var createSqueeze = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
44
43
|
Matrix: function Matrix(x) {
|
|
45
44
|
var res = arraySqueeze(x.toArray());
|
|
46
45
|
// FIXME: return the same type of matrix as the input
|
|
47
|
-
return Array.isArray(res) ?
|
|
46
|
+
return Array.isArray(res) ? x.create(res, x.datatype()) : res;
|
|
48
47
|
},
|
|
49
48
|
any: function any(x) {
|
|
50
49
|
// scalar
|
|
@@ -62,7 +62,7 @@ export var createSubset = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
62
62
|
|
|
63
63
|
return typed(name, {
|
|
64
64
|
// get subset
|
|
65
|
-
'Matrix, Index': function
|
|
65
|
+
'Matrix, Index': function Matrix_Index(value, index) {
|
|
66
66
|
if (isEmptyIndex(index)) {
|
|
67
67
|
return matrix();
|
|
68
68
|
}
|
|
@@ -78,7 +78,7 @@ export var createSubset = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
78
78
|
'Object, Index': _getObjectProperty,
|
|
79
79
|
'string, Index': _getSubstring,
|
|
80
80
|
// set subset
|
|
81
|
-
'Matrix, Index, any, any': function
|
|
81
|
+
'Matrix, Index, any, any': function Matrix_Index_any_any(value, index, replacement, defaultValue) {
|
|
82
82
|
if (isEmptyIndex(index)) {
|
|
83
83
|
return value;
|
|
84
84
|
}
|
|
@@ -49,7 +49,7 @@ export var createZeros = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
49
49
|
},
|
|
50
50
|
// math.zeros(m, n, p, ..., format)
|
|
51
51
|
// TODO: more accurate signature '...number | BigNumber, string' as soon as typed-function supports this
|
|
52
|
-
'...number | BigNumber | string': function
|
|
52
|
+
'...number | BigNumber | string': function number__BigNumber__string(size) {
|
|
53
53
|
var last = size[size.length - 1];
|
|
54
54
|
if (typeof last === 'string') {
|
|
55
55
|
var format = size.pop();
|
|
@@ -65,7 +65,7 @@ export var createZeros = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
65
65
|
var format = size.storage();
|
|
66
66
|
return _zeros(size.valueOf(), format);
|
|
67
67
|
},
|
|
68
|
-
'Array | Matrix, string': function
|
|
68
|
+
'Array | Matrix, string': function Array__Matrix_string(size, format) {
|
|
69
69
|
return _zeros(size.valueOf(), format);
|
|
70
70
|
}
|
|
71
71
|
});
|
|
@@ -31,7 +31,7 @@ export var createCombinations = /* #__PURE__ */factory(name, dependencies, _ref
|
|
|
31
31
|
*/
|
|
32
32
|
return typed(name, {
|
|
33
33
|
'number, number': combinationsNumber,
|
|
34
|
-
'BigNumber, BigNumber': function
|
|
34
|
+
'BigNumber, BigNumber': function BigNumber_BigNumber(n, k) {
|
|
35
35
|
var BigNumber = n.constructor;
|
|
36
36
|
var result, i;
|
|
37
37
|
var nMinusk = n.minus(k);
|
|
@@ -31,7 +31,7 @@ export var createCombinationsWithRep = /* #__PURE__ */factory(name, dependencies
|
|
|
31
31
|
* @return {number | BigNumber} Number of possible combinations with replacement.
|
|
32
32
|
*/
|
|
33
33
|
return typed(name, {
|
|
34
|
-
'number, number': function
|
|
34
|
+
'number, number': function number_number(n, k) {
|
|
35
35
|
if (!isInteger(n) || n < 0) {
|
|
36
36
|
throw new TypeError('Positive integer value expected in function combinationsWithRep');
|
|
37
37
|
}
|
|
@@ -48,7 +48,7 @@ export var createCombinationsWithRep = /* #__PURE__ */factory(name, dependencies
|
|
|
48
48
|
var prodrange = product(k + 1, n + k - 1);
|
|
49
49
|
return prodrange / product(1, n - 1);
|
|
50
50
|
},
|
|
51
|
-
'BigNumber, BigNumber': function
|
|
51
|
+
'BigNumber, BigNumber': function BigNumber_BigNumber(n, k) {
|
|
52
52
|
var BigNumber = n.constructor;
|
|
53
53
|
var result, i;
|
|
54
54
|
var one = new BigNumber(1);
|
|
@@ -30,16 +30,16 @@ export var createKldivergence = /* #__PURE__ */factory(name, dependencies, _ref
|
|
|
30
30
|
* @return {number} Returns distance between q and p
|
|
31
31
|
*/
|
|
32
32
|
return typed(name, {
|
|
33
|
-
'Array, Array': function
|
|
33
|
+
'Array, Array': function Array_Array(q, p) {
|
|
34
34
|
return _kldiv(matrix(q), matrix(p));
|
|
35
35
|
},
|
|
36
|
-
'Matrix, Array': function
|
|
36
|
+
'Matrix, Array': function Matrix_Array(q, p) {
|
|
37
37
|
return _kldiv(q, matrix(p));
|
|
38
38
|
},
|
|
39
|
-
'Array, Matrix': function
|
|
39
|
+
'Array, Matrix': function Array_Matrix(q, p) {
|
|
40
40
|
return _kldiv(matrix(q), p);
|
|
41
41
|
},
|
|
42
|
-
'Matrix, Matrix': function
|
|
42
|
+
'Matrix, Matrix': function Matrix_Matrix(q, p) {
|
|
43
43
|
return _kldiv(q, p);
|
|
44
44
|
}
|
|
45
45
|
});
|
|
@@ -34,7 +34,7 @@ export var createMultinomial = /* #__PURE__ */factory(name, dependencies, _ref =
|
|
|
34
34
|
* @return {Number | BigNumber} Multinomial coefficient.
|
|
35
35
|
*/
|
|
36
36
|
return typed(name, {
|
|
37
|
-
'Array | Matrix': function
|
|
37
|
+
'Array | Matrix': function Array__Matrix(a) {
|
|
38
38
|
var sum = 0;
|
|
39
39
|
var denom = 1;
|
|
40
40
|
deepForEach(a, function (ai) {
|
|
@@ -35,7 +35,7 @@ export var createPermutations = /* #__PURE__ */factory(name, dependencies, _ref
|
|
|
35
35
|
*/
|
|
36
36
|
return typed(name, {
|
|
37
37
|
'number | BigNumber': factorial,
|
|
38
|
-
'number, number': function
|
|
38
|
+
'number, number': function number_number(n, k) {
|
|
39
39
|
if (!isInteger(n) || n < 0) {
|
|
40
40
|
throw new TypeError('Positive integer value expected in function permutations');
|
|
41
41
|
}
|
|
@@ -48,7 +48,7 @@ export var createPermutations = /* #__PURE__ */factory(name, dependencies, _ref
|
|
|
48
48
|
// Permute n objects, k at a time
|
|
49
49
|
return product(n - k + 1, n);
|
|
50
50
|
},
|
|
51
|
-
'BigNumber, BigNumber': function
|
|
51
|
+
'BigNumber, BigNumber': function BigNumber_BigNumber(n, k) {
|
|
52
52
|
var result, i;
|
|
53
53
|
if (!isPositiveInteger(n) || !isPositiveInteger(k)) {
|
|
54
54
|
throw new TypeError('Positive integer value expected in function permutations');
|
|
@@ -56,29 +56,29 @@ export var createPickRandom = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
|
56
56
|
* Returns an array with the configured number of elements when number is defined.
|
|
57
57
|
*/
|
|
58
58
|
return typed(name, {
|
|
59
|
-
'Array | Matrix': function
|
|
59
|
+
'Array | Matrix': function Array__Matrix(possibles) {
|
|
60
60
|
return _pickRandom(possibles, {});
|
|
61
61
|
},
|
|
62
|
-
'Array | Matrix, Object': function
|
|
62
|
+
'Array | Matrix, Object': function Array__Matrix_Object(possibles, options) {
|
|
63
63
|
return _pickRandom(possibles, options);
|
|
64
64
|
},
|
|
65
|
-
'Array | Matrix, number': function
|
|
65
|
+
'Array | Matrix, number': function Array__Matrix_number(possibles, number) {
|
|
66
66
|
return _pickRandom(possibles, {
|
|
67
67
|
number
|
|
68
68
|
});
|
|
69
69
|
},
|
|
70
|
-
'Array | Matrix, Array | Matrix': function
|
|
70
|
+
'Array | Matrix, Array | Matrix': function Array__Matrix_Array__Matrix(possibles, weights) {
|
|
71
71
|
return _pickRandom(possibles, {
|
|
72
72
|
weights
|
|
73
73
|
});
|
|
74
74
|
},
|
|
75
|
-
'Array | Matrix, Array | Matrix, number': function
|
|
75
|
+
'Array | Matrix, Array | Matrix, number': function Array__Matrix_Array__Matrix_number(possibles, weights, number) {
|
|
76
76
|
return _pickRandom(possibles, {
|
|
77
77
|
number,
|
|
78
78
|
weights
|
|
79
79
|
});
|
|
80
80
|
},
|
|
81
|
-
'Array | Matrix, number, Array | Matrix': function
|
|
81
|
+
'Array | Matrix, number, Array | Matrix': function Array__Matrix_number_Array__Matrix(possibles, number, weights) {
|
|
82
82
|
return _pickRandom(possibles, {
|
|
83
83
|
number,
|
|
84
84
|
weights
|
|
@@ -60,7 +60,7 @@ export var createRandom = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
60
60
|
});
|
|
61
61
|
function _randomMatrix(size, min, max) {
|
|
62
62
|
var res = randomMatrix(size.valueOf(), () => _random(min, max));
|
|
63
|
-
return isMatrix(size) ? size.create(res) : res;
|
|
63
|
+
return isMatrix(size) ? size.create(res, 'number') : res;
|
|
64
64
|
}
|
|
65
65
|
function _random(min, max) {
|
|
66
66
|
return min + rng() * (max - min);
|
|
@@ -59,7 +59,7 @@ export var createRandomInt = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
|
59
59
|
});
|
|
60
60
|
function _randomIntMatrix(size, min, max) {
|
|
61
61
|
var res = randomMatrix(size.valueOf(), () => _randomInt(min, max));
|
|
62
|
-
return isMatrix(size) ? size.create(res) : res;
|
|
62
|
+
return isMatrix(size) ? size.create(res, 'number') : res;
|
|
63
63
|
}
|
|
64
64
|
function _randomInt(min, max) {
|
|
65
65
|
return Math.floor(min + rng() * (max - min));
|
|
@@ -80,19 +80,19 @@ export var createCompare = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
80
80
|
typed,
|
|
81
81
|
config
|
|
82
82
|
}), {
|
|
83
|
-
'boolean, boolean': function
|
|
83
|
+
'boolean, boolean': function boolean_boolean(x, y) {
|
|
84
84
|
return x === y ? 0 : x > y ? 1 : -1;
|
|
85
85
|
},
|
|
86
|
-
'BigNumber, BigNumber': function
|
|
86
|
+
'BigNumber, BigNumber': function BigNumber_BigNumber(x, y) {
|
|
87
87
|
return bigNearlyEqual(x, y, config.relTol, config.absTol) ? new BigNumber(0) : new BigNumber(x.cmp(y));
|
|
88
88
|
},
|
|
89
|
-
'bigint, bigint': function
|
|
89
|
+
'bigint, bigint': function bigint_bigint(x, y) {
|
|
90
90
|
return x === y ? 0n : x > y ? 1n : -1n;
|
|
91
91
|
},
|
|
92
|
-
'Fraction, Fraction': function
|
|
92
|
+
'Fraction, Fraction': function Fraction_Fraction(x, y) {
|
|
93
93
|
return new Fraction(x.compare(y));
|
|
94
94
|
},
|
|
95
|
-
'Complex, Complex': function
|
|
95
|
+
'Complex, Complex': function Complex_Complex() {
|
|
96
96
|
throw new TypeError('No ordering relation is defined for complex numbers');
|
|
97
97
|
}
|
|
98
98
|
}, compareUnits, matrixAlgorithmSuite({
|
|
@@ -107,7 +107,7 @@ export var createCompareNumber = /* #__PURE__ */factory(name, ['typed', 'config'
|
|
|
107
107
|
config
|
|
108
108
|
} = _ref2;
|
|
109
109
|
return typed(name, {
|
|
110
|
-
'number, number': function
|
|
110
|
+
'number, number': function number_number(x, y) {
|
|
111
111
|
return nearlyEqual(x, y, config.relTol, config.absTol) ? 0 : x > y ? 1 : -1;
|
|
112
112
|
}
|
|
113
113
|
});
|
|
@@ -36,7 +36,7 @@ export var createDeepEqual = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
|
36
36
|
* Returns true when the input matrices have the same size and each of their elements is equal.
|
|
37
37
|
*/
|
|
38
38
|
return typed(name, {
|
|
39
|
-
'any, any': function
|
|
39
|
+
'any, any': function any_any(x, y) {
|
|
40
40
|
return _deepEqual(x.valueOf(), y.valueOf());
|
|
41
41
|
}
|
|
42
42
|
});
|
|
@@ -90,7 +90,7 @@ export var createEqualNumber = factory(name, ['typed', 'equalScalar'], _ref2 =>
|
|
|
90
90
|
equalScalar
|
|
91
91
|
} = _ref2;
|
|
92
92
|
return typed(name, {
|
|
93
|
-
'any, any': function
|
|
93
|
+
'any, any': function any_any(x, y) {
|
|
94
94
|
// strict equality for null and undefined?
|
|
95
95
|
if (x === null) {
|
|
96
96
|
return y === null;
|
|
@@ -23,22 +23,22 @@ export var createEqualScalar = /* #__PURE__ */factory(name, dependencies, _ref =
|
|
|
23
23
|
* @private
|
|
24
24
|
*/
|
|
25
25
|
return typed(name, {
|
|
26
|
-
'boolean, boolean': function
|
|
26
|
+
'boolean, boolean': function boolean_boolean(x, y) {
|
|
27
27
|
return x === y;
|
|
28
28
|
},
|
|
29
|
-
'number, number': function
|
|
29
|
+
'number, number': function number_number(x, y) {
|
|
30
30
|
return nearlyEqual(x, y, config.relTol, config.absTol);
|
|
31
31
|
},
|
|
32
|
-
'BigNumber, BigNumber': function
|
|
32
|
+
'BigNumber, BigNumber': function BigNumber_BigNumber(x, y) {
|
|
33
33
|
return x.eq(y) || bigNearlyEqual(x, y, config.relTol, config.absTol);
|
|
34
34
|
},
|
|
35
|
-
'bigint, bigint': function
|
|
35
|
+
'bigint, bigint': function bigint_bigint(x, y) {
|
|
36
36
|
return x === y;
|
|
37
37
|
},
|
|
38
|
-
'Fraction, Fraction': function
|
|
38
|
+
'Fraction, Fraction': function Fraction_Fraction(x, y) {
|
|
39
39
|
return x.equals(y);
|
|
40
40
|
},
|
|
41
|
-
'Complex, Complex': function
|
|
41
|
+
'Complex, Complex': function Complex_Complex(x, y) {
|
|
42
42
|
return complexEquals(x, y, config.relTol, config.absTol);
|
|
43
43
|
}
|
|
44
44
|
}, compareUnits);
|
|
@@ -49,7 +49,7 @@ export var createEqualScalarNumber = factory(name, ['typed', 'config'], _ref2 =>
|
|
|
49
49
|
config
|
|
50
50
|
} = _ref2;
|
|
51
51
|
return typed(name, {
|
|
52
|
-
'number, number': function
|
|
52
|
+
'number, number': function number_number(x, y) {
|
|
53
53
|
return nearlyEqual(x, y, config.relTol, config.absTol);
|
|
54
54
|
}
|
|
55
55
|
});
|
|
@@ -34,7 +34,7 @@ export var createEqualText = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
|
34
34
|
* @return {number | Array | DenseMatrix} Returns true if the values are equal, and false if not.
|
|
35
35
|
*/
|
|
36
36
|
return typed(name, {
|
|
37
|
-
'any, any': function
|
|
37
|
+
'any, any': function any_any(x, y) {
|
|
38
38
|
return isZero(compareText(x, y));
|
|
39
39
|
}
|
|
40
40
|
});
|
|
@@ -72,12 +72,12 @@ export var createLarger = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
72
72
|
config
|
|
73
73
|
}), {
|
|
74
74
|
'boolean, boolean': (x, y) => x > y,
|
|
75
|
-
'BigNumber, BigNumber': function
|
|
75
|
+
'BigNumber, BigNumber': function BigNumber_BigNumber(x, y) {
|
|
76
76
|
return x.gt(y) && !bigNearlyEqual(x, y, config.relTol, config.absTol);
|
|
77
77
|
},
|
|
78
78
|
'bigint, bigint': (x, y) => x > y,
|
|
79
79
|
'Fraction, Fraction': (x, y) => x.compare(y) === 1,
|
|
80
|
-
'Complex, Complex': function
|
|
80
|
+
'Complex, Complex': function Complex_Complex() {
|
|
81
81
|
throw new TypeError('No ordering relation is defined for complex numbers');
|
|
82
82
|
}
|
|
83
83
|
}, compareUnits, matrixAlgorithmSuite({
|
|
@@ -92,7 +92,7 @@ export var createLargerNumber = /* #__PURE__ */factory(name, ['typed', 'config']
|
|
|
92
92
|
config
|
|
93
93
|
} = _ref2;
|
|
94
94
|
return typed(name, {
|
|
95
|
-
'number, number': function
|
|
95
|
+
'number, number': function number_number(x, y) {
|
|
96
96
|
return x > y && !nearlyEqual(x, y, config.relTol, config.absTol);
|
|
97
97
|
}
|
|
98
98
|
});
|
|
@@ -68,14 +68,14 @@ export var createLargerEq = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
68
68
|
config
|
|
69
69
|
}), {
|
|
70
70
|
'boolean, boolean': (x, y) => x >= y,
|
|
71
|
-
'BigNumber, BigNumber': function
|
|
71
|
+
'BigNumber, BigNumber': function BigNumber_BigNumber(x, y) {
|
|
72
72
|
return x.gte(y) || bigNearlyEqual(x, y, config.relTol, config.absTol);
|
|
73
73
|
},
|
|
74
|
-
'bigint, bigint': function
|
|
74
|
+
'bigint, bigint': function bigint_bigint(x, y) {
|
|
75
75
|
return x >= y;
|
|
76
76
|
},
|
|
77
77
|
'Fraction, Fraction': (x, y) => x.compare(y) !== -1,
|
|
78
|
-
'Complex, Complex': function
|
|
78
|
+
'Complex, Complex': function Complex_Complex() {
|
|
79
79
|
throw new TypeError('No ordering relation is defined for complex numbers');
|
|
80
80
|
}
|
|
81
81
|
}, compareUnits, matrixAlgorithmSuite({
|
|
@@ -90,7 +90,7 @@ export var createLargerEqNumber = /* #__PURE__ */factory(name, ['typed', 'config
|
|
|
90
90
|
config
|
|
91
91
|
} = _ref2;
|
|
92
92
|
return typed(name, {
|
|
93
|
-
'number, number': function
|
|
93
|
+
'number, number': function number_number(x, y) {
|
|
94
94
|
return x >= y || nearlyEqual(x, y, config.relTol, config.absTol);
|
|
95
95
|
}
|
|
96
96
|
});
|
|
@@ -72,12 +72,12 @@ export var createSmaller = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
72
72
|
config
|
|
73
73
|
}), {
|
|
74
74
|
'boolean, boolean': (x, y) => x < y,
|
|
75
|
-
'BigNumber, BigNumber': function
|
|
75
|
+
'BigNumber, BigNumber': function BigNumber_BigNumber(x, y) {
|
|
76
76
|
return x.lt(y) && !bigNearlyEqual(x, y, config.relTol, config.absTol);
|
|
77
77
|
},
|
|
78
78
|
'bigint, bigint': (x, y) => x < y,
|
|
79
79
|
'Fraction, Fraction': (x, y) => x.compare(y) === -1,
|
|
80
|
-
'Complex, Complex': function
|
|
80
|
+
'Complex, Complex': function Complex_Complex(x, y) {
|
|
81
81
|
throw new TypeError('No ordering relation is defined for complex numbers');
|
|
82
82
|
}
|
|
83
83
|
}, compareUnits, matrixAlgorithmSuite({
|
|
@@ -92,7 +92,7 @@ export var createSmallerNumber = /* #__PURE__ */factory(name, ['typed', 'config'
|
|
|
92
92
|
config
|
|
93
93
|
} = _ref2;
|
|
94
94
|
return typed(name, {
|
|
95
|
-
'number, number': function
|
|
95
|
+
'number, number': function number_number(x, y) {
|
|
96
96
|
return x < y && !nearlyEqual(x, y, config.relTol, config.absTol);
|
|
97
97
|
}
|
|
98
98
|
});
|
|
@@ -68,12 +68,12 @@ export var createSmallerEq = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
|
68
68
|
config
|
|
69
69
|
}), {
|
|
70
70
|
'boolean, boolean': (x, y) => x <= y,
|
|
71
|
-
'BigNumber, BigNumber': function
|
|
71
|
+
'BigNumber, BigNumber': function BigNumber_BigNumber(x, y) {
|
|
72
72
|
return x.lte(y) || bigNearlyEqual(x, y, config.relTol, config.absTol);
|
|
73
73
|
},
|
|
74
74
|
'bigint, bigint': (x, y) => x <= y,
|
|
75
75
|
'Fraction, Fraction': (x, y) => x.compare(y) !== 1,
|
|
76
|
-
'Complex, Complex': function
|
|
76
|
+
'Complex, Complex': function Complex_Complex() {
|
|
77
77
|
throw new TypeError('No ordering relation is defined for complex numbers');
|
|
78
78
|
}
|
|
79
79
|
}, compareUnits, matrixAlgorithmSuite({
|
|
@@ -88,7 +88,7 @@ export var createSmallerEqNumber = /* #__PURE__ */factory(name, ['typed', 'confi
|
|
|
88
88
|
config
|
|
89
89
|
} = _ref2;
|
|
90
90
|
return typed(name, {
|
|
91
|
-
'number, number': function
|
|
91
|
+
'number, number': function number_number(x, y) {
|
|
92
92
|
return x <= y || nearlyEqual(x, y, config.relTol, config.absTol);
|
|
93
93
|
}
|
|
94
94
|
});
|
|
@@ -93,7 +93,7 @@ export var createUnequalNumber = factory(name, ['typed', 'equalScalar'], _ref2 =
|
|
|
93
93
|
equalScalar
|
|
94
94
|
} = _ref2;
|
|
95
95
|
return typed(name, {
|
|
96
|
-
'any, any': function
|
|
96
|
+
'any, any': function any_any(x, y) {
|
|
97
97
|
// strict equality for null and undefined?
|
|
98
98
|
if (x === null) {
|
|
99
99
|
return y !== null;
|
|
@@ -34,7 +34,7 @@ export var createSetCartesian = /* #__PURE__ */factory(name, dependencies, _ref
|
|
|
34
34
|
* @return {Array | Matrix} The cartesian product of two (multi)sets
|
|
35
35
|
*/
|
|
36
36
|
return typed(name, {
|
|
37
|
-
'Array | Matrix, Array | Matrix': function
|
|
37
|
+
'Array | Matrix, Array | Matrix': function Array__Matrix_Array__Matrix(a1, a2) {
|
|
38
38
|
var result = [];
|
|
39
39
|
if (subset(size(a1), new Index(0)) !== 0 && subset(size(a2), new Index(0)) !== 0) {
|
|
40
40
|
// if any of them is empty, return empty
|
|
@@ -33,7 +33,7 @@ export var createSetDifference = /* #__PURE__ */factory(name, dependencies, _ref
|
|
|
33
33
|
* @return {Array | Matrix} The difference of two (multi)sets
|
|
34
34
|
*/
|
|
35
35
|
return typed(name, {
|
|
36
|
-
'Array | Matrix, Array | Matrix': function
|
|
36
|
+
'Array | Matrix, Array | Matrix': function Array__Matrix_Array__Matrix(a1, a2) {
|
|
37
37
|
var result;
|
|
38
38
|
if (subset(size(a1), new Index(0)) === 0) {
|
|
39
39
|
// empty-anything=empty
|
|
@@ -31,7 +31,7 @@ export var createSetDistinct = /* #__PURE__ */factory(name, dependencies, _ref =
|
|
|
31
31
|
* @return {Array | Matrix} A set containing the distinc elements of the multiset
|
|
32
32
|
*/
|
|
33
33
|
return typed(name, {
|
|
34
|
-
'Array | Matrix': function
|
|
34
|
+
'Array | Matrix': function Array__Matrix(a) {
|
|
35
35
|
var result;
|
|
36
36
|
if (subset(size(a), new Index(0)) === 0) {
|
|
37
37
|
// if empty, return empty
|
|
@@ -33,7 +33,7 @@ export var createSetIntersect = /* #__PURE__ */factory(name, dependencies, _ref
|
|
|
33
33
|
* @return {Array | Matrix} The intersection of two (multi)sets
|
|
34
34
|
*/
|
|
35
35
|
return typed(name, {
|
|
36
|
-
'Array | Matrix, Array | Matrix': function
|
|
36
|
+
'Array | Matrix, Array | Matrix': function Array__Matrix_Array__Matrix(a1, a2) {
|
|
37
37
|
var result;
|
|
38
38
|
if (subset(size(a1), new Index(0)) === 0 || subset(size(a2), new Index(0)) === 0) {
|
|
39
39
|
// of any of them is empty, return empty
|
|
@@ -32,7 +32,7 @@ export var createSetIsSubset = /* #__PURE__ */factory(name, dependencies, _ref =
|
|
|
32
32
|
* @return {boolean} Returns true when a1 is a subset of a2, returns false otherwise
|
|
33
33
|
*/
|
|
34
34
|
return typed(name, {
|
|
35
|
-
'Array | Matrix, Array | Matrix': function
|
|
35
|
+
'Array | Matrix, Array | Matrix': function Array__Matrix_Array__Matrix(a1, a2) {
|
|
36
36
|
if (subset(size(a1), new Index(0)) === 0) {
|
|
37
37
|
// empty is a subset of anything
|
|
38
38
|
return true;
|
|
@@ -32,7 +32,7 @@ export var createSetMultiplicity = /* #__PURE__ */factory(name, dependencies, _r
|
|
|
32
32
|
* @return {number} The number of how many times the multiset contains the element
|
|
33
33
|
*/
|
|
34
34
|
return typed(name, {
|
|
35
|
-
'number | BigNumber | Fraction | Complex, Array | Matrix': function
|
|
35
|
+
'number | BigNumber | Fraction | Complex, Array | Matrix': function number__BigNumber__Fraction__Complex_Array__Matrix(e, a) {
|
|
36
36
|
if (subset(size(a), new Index(0)) === 0) {
|
|
37
37
|
// if empty, return 0
|
|
38
38
|
return 0;
|
|
@@ -30,7 +30,7 @@ export var createSetPowerset = /* #__PURE__ */factory(name, dependencies, _ref =
|
|
|
30
30
|
* @return {Array} The powerset of the (multi)set
|
|
31
31
|
*/
|
|
32
32
|
return typed(name, {
|
|
33
|
-
'Array | Matrix': function
|
|
33
|
+
'Array | Matrix': function Array__Matrix(a) {
|
|
34
34
|
if (subset(size(a), new Index(0)) === 0) {
|
|
35
35
|
// if empty, return empty
|
|
36
36
|
return [];
|
|
@@ -30,10 +30,10 @@ export var createSetSize = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
30
30
|
* @return {number} The number of elements of the (multi)set
|
|
31
31
|
*/
|
|
32
32
|
return typed(name, {
|
|
33
|
-
'Array | Matrix': function
|
|
33
|
+
'Array | Matrix': function Array__Matrix(a) {
|
|
34
34
|
return Array.isArray(a) ? flatten(a).length : flatten(a.toArray()).length;
|
|
35
35
|
},
|
|
36
|
-
'Array | Matrix, boolean': function
|
|
36
|
+
'Array | Matrix, boolean': function Array__Matrix_boolean(a, unique) {
|
|
37
37
|
if (unique === false || a.length === 0) {
|
|
38
38
|
return Array.isArray(a) ? flatten(a).length : flatten(a.toArray()).length;
|
|
39
39
|
} else {
|
|
@@ -33,7 +33,7 @@ export var createSetSymDifference = /* #__PURE__ */factory(name, dependencies, _
|
|
|
33
33
|
* @return {Array | Matrix} The symmetric difference of two (multi)sets
|
|
34
34
|
*/
|
|
35
35
|
return typed(name, {
|
|
36
|
-
'Array | Matrix, Array | Matrix': function
|
|
36
|
+
'Array | Matrix, Array | Matrix': function Array__Matrix_Array__Matrix(a1, a2) {
|
|
37
37
|
if (subset(size(a1), new Index(0)) === 0) {
|
|
38
38
|
// if any of them is empty, return the other one
|
|
39
39
|
return flatten(a2);
|