mathjs 12.3.2 → 12.4.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 +15 -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/pureFunctionsAny.generated.js +1 -0
- package/lib/cjs/expression/parse.js +8 -4
- package/lib/cjs/function/arithmetic/multiply.js +30 -29
- package/lib/cjs/function/arithmetic/round.js +38 -7
- package/lib/cjs/function/matrix/dot.js +3 -3
- package/lib/cjs/header.js +2 -2
- package/lib/cjs/type/matrix/utils/matAlgo01xDSid.js +4 -4
- package/lib/cjs/type/matrix/utils/matAlgo02xDS0.js +4 -4
- package/lib/cjs/type/matrix/utils/matAlgo03xDSf.js +4 -4
- package/lib/cjs/type/matrix/utils/matAlgo04xSidSid.js +4 -4
- package/lib/cjs/type/matrix/utils/matAlgo05xSfSf.js +4 -4
- package/lib/cjs/type/matrix/utils/matAlgo06xS0S0.js +4 -4
- package/lib/cjs/type/matrix/utils/matAlgo07xSSf.js +4 -4
- package/lib/cjs/type/matrix/utils/matAlgo08xS0Sid.js +4 -4
- package/lib/cjs/type/matrix/utils/matAlgo09xS0Sf.js +4 -4
- package/lib/cjs/utils/map.js +2 -0
- package/lib/cjs/version.js +1 -1
- package/lib/esm/entry/pureFunctionsAny.generated.js +1 -0
- package/lib/esm/expression/parse.js +8 -4
- package/lib/esm/function/arithmetic/multiply.js +30 -29
- package/lib/esm/function/arithmetic/round.js +38 -7
- package/lib/esm/function/matrix/dot.js +3 -3
- package/lib/esm/type/matrix/utils/matAlgo01xDSid.js +4 -4
- package/lib/esm/type/matrix/utils/matAlgo02xDS0.js +4 -4
- package/lib/esm/type/matrix/utils/matAlgo03xDSf.js +4 -4
- package/lib/esm/type/matrix/utils/matAlgo04xSidSid.js +4 -4
- package/lib/esm/type/matrix/utils/matAlgo05xSfSf.js +4 -4
- package/lib/esm/type/matrix/utils/matAlgo06xS0S0.js +4 -4
- package/lib/esm/type/matrix/utils/matAlgo07xSSf.js +4 -4
- package/lib/esm/type/matrix/utils/matAlgo08xS0Sid.js +4 -4
- package/lib/esm/type/matrix/utils/matAlgo09xS0Sf.js +4 -4
- package/lib/esm/utils/map.js +2 -0
- package/lib/esm/version.js +1 -1
- package/package.json +7 -7
- package/types/index.d.ts +5 -5
@@ -24,10 +24,10 @@ export var createMatAlgo07xSSf = /* #__PURE__ */factory(name, dependencies, _ref
|
|
24
24
|
return function matAlgo07xSSf(a, b, callback) {
|
25
25
|
// sparse matrix arrays
|
26
26
|
var asize = a._size;
|
27
|
-
var adt = a._datatype;
|
27
|
+
var adt = a._datatype || a._data === undefined ? a._datatype : a.getDataType();
|
28
28
|
// sparse matrix arrays
|
29
29
|
var bsize = b._size;
|
30
|
-
var bdt = b._datatype;
|
30
|
+
var bdt = b._datatype || b._data === undefined ? b._datatype : b.getDataType();
|
31
31
|
|
32
32
|
// validate dimensions
|
33
33
|
if (asize.length !== bsize.length) {
|
@@ -51,7 +51,7 @@ export var createMatAlgo07xSSf = /* #__PURE__ */factory(name, dependencies, _ref
|
|
51
51
|
var cf = callback;
|
52
52
|
|
53
53
|
// process data types
|
54
|
-
if (typeof adt === 'string' && adt === bdt) {
|
54
|
+
if (typeof adt === 'string' && adt === bdt && adt !== 'mixed') {
|
55
55
|
// datatype
|
56
56
|
dt = adt;
|
57
57
|
// convert 0 to the same datatype
|
@@ -99,7 +99,7 @@ export var createMatAlgo07xSSf = /* #__PURE__ */factory(name, dependencies, _ref
|
|
99
99
|
return new DenseMatrix({
|
100
100
|
data: cdata,
|
101
101
|
size: [rows, columns],
|
102
|
-
datatype: dt
|
102
|
+
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
|
103
103
|
});
|
104
104
|
};
|
105
105
|
function _scatter(m, j, w, x, mark) {
|
@@ -31,13 +31,13 @@ export var createMatAlgo08xS0Sid = /* #__PURE__ */factory(name, dependencies, _r
|
|
31
31
|
var aindex = a._index;
|
32
32
|
var aptr = a._ptr;
|
33
33
|
var asize = a._size;
|
34
|
-
var adt = a._datatype;
|
34
|
+
var adt = a._datatype || a._data === undefined ? a._datatype : a.getDataType();
|
35
35
|
// sparse matrix arrays
|
36
36
|
var bvalues = b._values;
|
37
37
|
var bindex = b._index;
|
38
38
|
var bptr = b._ptr;
|
39
39
|
var bsize = b._size;
|
40
|
-
var bdt = b._datatype;
|
40
|
+
var bdt = b._datatype || b._data === undefined ? b._datatype : b.getDataType();
|
41
41
|
|
42
42
|
// validate dimensions
|
43
43
|
if (asize.length !== bsize.length) {
|
@@ -68,7 +68,7 @@ export var createMatAlgo08xS0Sid = /* #__PURE__ */factory(name, dependencies, _r
|
|
68
68
|
var cf = callback;
|
69
69
|
|
70
70
|
// process data types
|
71
|
-
if (typeof adt === 'string' && adt === bdt) {
|
71
|
+
if (typeof adt === 'string' && adt === bdt && adt !== 'mixed') {
|
72
72
|
// datatype
|
73
73
|
dt = adt;
|
74
74
|
// find signature that matches (dt, dt)
|
@@ -148,7 +148,7 @@ export var createMatAlgo08xS0Sid = /* #__PURE__ */factory(name, dependencies, _r
|
|
148
148
|
index: cindex,
|
149
149
|
ptr: cptr,
|
150
150
|
size: [rows, columns],
|
151
|
-
datatype: dt
|
151
|
+
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
|
152
152
|
});
|
153
153
|
};
|
154
154
|
});
|
@@ -31,13 +31,13 @@ export var createMatAlgo09xS0Sf = /* #__PURE__ */factory(name, dependencies, _re
|
|
31
31
|
var aindex = a._index;
|
32
32
|
var aptr = a._ptr;
|
33
33
|
var asize = a._size;
|
34
|
-
var adt = a._datatype;
|
34
|
+
var adt = a._datatype || a._data === undefined ? a._datatype : a.getDataType();
|
35
35
|
// sparse matrix arrays
|
36
36
|
var bvalues = b._values;
|
37
37
|
var bindex = b._index;
|
38
38
|
var bptr = b._ptr;
|
39
39
|
var bsize = b._size;
|
40
|
-
var bdt = b._datatype;
|
40
|
+
var bdt = b._datatype || b._data === undefined ? b._datatype : b.getDataType();
|
41
41
|
|
42
42
|
// validate dimensions
|
43
43
|
if (asize.length !== bsize.length) {
|
@@ -63,7 +63,7 @@ export var createMatAlgo09xS0Sf = /* #__PURE__ */factory(name, dependencies, _re
|
|
63
63
|
var cf = callback;
|
64
64
|
|
65
65
|
// process data types
|
66
|
-
if (typeof adt === 'string' && adt === bdt) {
|
66
|
+
if (typeof adt === 'string' && adt === bdt && adt !== 'mixed') {
|
67
67
|
// datatype
|
68
68
|
dt = adt;
|
69
69
|
// find signature that matches (dt, dt)
|
@@ -136,7 +136,7 @@ export var createMatAlgo09xS0Sf = /* #__PURE__ */factory(name, dependencies, _re
|
|
136
136
|
index: cindex,
|
137
137
|
ptr: cptr,
|
138
138
|
size: [rows, columns],
|
139
|
-
datatype: dt
|
139
|
+
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
|
140
140
|
});
|
141
141
|
};
|
142
142
|
});
|
package/lib/esm/utils/map.js
CHANGED
@@ -12,6 +12,7 @@ import { isObject } from './is.js';
|
|
12
12
|
export class ObjectWrappingMap {
|
13
13
|
constructor(object) {
|
14
14
|
this.wrappedObject = object;
|
15
|
+
this[Symbol.iterator] = this.entries;
|
15
16
|
}
|
16
17
|
keys() {
|
17
18
|
return Object.keys(this.wrappedObject).values();
|
@@ -71,6 +72,7 @@ export class PartitionedMap {
|
|
71
72
|
this.a = a;
|
72
73
|
this.b = b;
|
73
74
|
this.bKeys = bKeys;
|
75
|
+
this[Symbol.iterator] = this.entries;
|
74
76
|
}
|
75
77
|
get(key) {
|
76
78
|
return this.bKeys.has(key) ? this.b.get(key) : this.a.get(key);
|
package/lib/esm/version.js
CHANGED
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "mathjs",
|
3
|
-
"version": "12.
|
3
|
+
"version": "12.4.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",
|
@@ -43,21 +43,21 @@
|
|
43
43
|
"@babel/register": "7.23.7",
|
44
44
|
"@types/assert": "1.5.10",
|
45
45
|
"@types/mocha": "10.0.6",
|
46
|
-
"@typescript-eslint/eslint-plugin": "
|
47
|
-
"@typescript-eslint/parser": "
|
46
|
+
"@typescript-eslint/eslint-plugin": "7.0.2",
|
47
|
+
"@typescript-eslint/parser": "7.0.2",
|
48
48
|
"assert": "2.1.0",
|
49
49
|
"babel-loader": "9.1.3",
|
50
50
|
"benchmark": "2.1.4",
|
51
51
|
"c8": "9.1.0",
|
52
52
|
"codecov": "3.8.3",
|
53
|
-
"core-js": "3.
|
53
|
+
"core-js": "3.36.0",
|
54
54
|
"del": "6.1.1",
|
55
55
|
"dtslint": "4.2.1",
|
56
56
|
"eslint": "8.56.0",
|
57
57
|
"eslint-config-prettier": "9.1.0",
|
58
58
|
"eslint-config-standard": "17.1.0",
|
59
59
|
"eslint-plugin-import": "2.29.1",
|
60
|
-
"eslint-plugin-mocha": "10.
|
60
|
+
"eslint-plugin-mocha": "10.3.0",
|
61
61
|
"eslint-plugin-n": "16.6.2",
|
62
62
|
"eslint-plugin-prettier": "5.1.3",
|
63
63
|
"eslint-plugin-promise": "6.1.1",
|
@@ -76,7 +76,7 @@
|
|
76
76
|
"karma-mocha-reporter": "2.2.5",
|
77
77
|
"karma-webpack": "5.0.1",
|
78
78
|
"mkdirp": "3.0.1",
|
79
|
-
"mocha": "10.
|
79
|
+
"mocha": "10.3.0",
|
80
80
|
"mocha-junit-reporter": "2.2.1",
|
81
81
|
"ndarray": "1.0.19",
|
82
82
|
"ndarray-determinant": "1.0.0",
|
@@ -90,7 +90,7 @@
|
|
90
90
|
"sylvester": "0.0.21",
|
91
91
|
"ts-node": "10.9.2",
|
92
92
|
"typescript": "5.3.3",
|
93
|
-
"webpack": "5.90.
|
93
|
+
"webpack": "5.90.3",
|
94
94
|
"zeros": "1.0.0"
|
95
95
|
},
|
96
96
|
"type": "module",
|
package/types/index.d.ts
CHANGED
@@ -2760,22 +2760,22 @@ export interface MathJsInstance extends MathJsFactory {
|
|
2760
2760
|
* @param args Multiple scalar values
|
2761
2761
|
* @returns The mode of all values
|
2762
2762
|
*/
|
2763
|
-
mode<T extends MathScalarType>(...args: T[]): T
|
2763
|
+
mode<T extends MathScalarType>(...args: T[]): T[]
|
2764
2764
|
/**
|
2765
2765
|
* @param args Multiple scalar values
|
2766
2766
|
* @returns The mode of all values
|
2767
2767
|
*/
|
2768
|
-
mode(...args: MathScalarType[]): MathScalarType
|
2768
|
+
mode(...args: MathScalarType[]): MathScalarType[]
|
2769
2769
|
/**
|
2770
2770
|
* @param A A single matrix
|
2771
|
-
* @returns The
|
2771
|
+
* @returns The mode value
|
2772
2772
|
*/
|
2773
|
-
mode<T extends MathScalarType>(A: T[] | T[][]): T
|
2773
|
+
mode<T extends MathScalarType>(A: T[] | T[][]): T[]
|
2774
2774
|
/**
|
2775
2775
|
* @param A A single matrix
|
2776
2776
|
* @returns The mode of all values
|
2777
2777
|
*/
|
2778
|
-
mode(A: MathCollection): MathScalarType
|
2778
|
+
mode(A: MathCollection): MathScalarType[]
|
2779
2779
|
|
2780
2780
|
/**
|
2781
2781
|
* Compute the product of a matrix or a list with values. In case of a
|