mathjs 13.0.2 → 13.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/HISTORY.md +26 -1
- package/lib/browser/math.js +1 -1
- package/lib/browser/math.js.LICENSE.txt +2 -2
- package/lib/browser/math.js.map +1 -1
- package/lib/cjs/core/create.js +12 -9
- package/lib/cjs/core/function/import.js +1 -1
- package/lib/cjs/core/function/typed.js +3 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFlatten.generated.js +0 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesSqueeze.generated.js +0 -2
- package/lib/cjs/entry/impureFunctionsAny.generated.js +2 -2
- package/lib/cjs/entry/pureFunctionsAny.generated.js +6 -8
- package/lib/cjs/entry/typeChecks.js +18 -0
- package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +2 -2
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/hypot.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/matrix/diff.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/matrix/fft.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/matrix/ifft.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/matrix/kron.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/matrix/map.js +3 -3
- package/lib/cjs/expression/embeddedDocs/function/special/zeta.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/statistics/quantileSeq.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/acoth.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/acsch.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/utils/clone.js +1 -1
- package/lib/cjs/expression/function/evaluate.js +5 -0
- package/lib/cjs/expression/node/FunctionNode.js +1 -1
- package/lib/cjs/expression/transform/filter.transform.js +2 -2
- package/lib/cjs/expression/transform/map.transform.js +104 -37
- package/lib/cjs/expression/transform/utils/dimToZeroBase.js +23 -0
- package/lib/cjs/expression/transform/utils/lastDimToZeroBase.js +3 -4
- package/lib/cjs/function/arithmetic/hypot.js +3 -3
- package/lib/cjs/function/matrix/apply.js +1 -1
- package/lib/cjs/function/matrix/fft.js +3 -3
- package/lib/cjs/function/matrix/filter.js +2 -2
- package/lib/cjs/function/matrix/flatten.js +5 -6
- package/lib/cjs/function/matrix/ifft.js +2 -2
- package/lib/cjs/function/matrix/kron.js +4 -4
- package/lib/cjs/function/matrix/map.js +109 -18
- package/lib/cjs/function/matrix/size.js +7 -7
- package/lib/cjs/function/matrix/squeeze.js +3 -4
- package/lib/cjs/function/probability/random.js +1 -1
- package/lib/cjs/function/probability/randomInt.js +1 -1
- package/lib/cjs/function/statistics/cumsum.js +2 -2
- package/lib/cjs/function/trigonometry/acoth.js +2 -2
- package/lib/cjs/function/trigonometry/acsch.js +2 -2
- package/lib/cjs/header.js +2 -2
- package/lib/cjs/type/matrix/DenseMatrix.js +3 -28
- package/lib/cjs/type/matrix/SparseMatrix.js +5 -8
- package/lib/cjs/type/unit/Unit.js +57 -114
- package/lib/cjs/utils/array.js +27 -0
- package/lib/cjs/utils/collection.js +1 -1
- package/lib/cjs/utils/function.js +0 -14
- package/lib/cjs/utils/is.js +27 -0
- package/lib/cjs/utils/map.js +2 -20
- package/lib/cjs/version.js +1 -1
- package/lib/esm/core/create.js +9 -6
- package/lib/esm/core/function/import.js +1 -1
- package/lib/esm/core/function/typed.js +2 -3
- package/lib/esm/entry/dependenciesAny/dependenciesFlatten.generated.js +0 -2
- package/lib/esm/entry/dependenciesAny/dependenciesSqueeze.generated.js +0 -2
- package/lib/esm/entry/impureFunctionsAny.generated.js +3 -3
- package/lib/esm/entry/pureFunctionsAny.generated.js +7 -9
- package/lib/esm/entry/typeChecks.js +1 -1
- package/lib/esm/expression/embeddedDocs/embeddedDocs.js +2 -2
- package/lib/esm/expression/embeddedDocs/function/arithmetic/hypot.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/diff.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/fft.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/ifft.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/kron.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/map.js +3 -3
- package/lib/esm/expression/embeddedDocs/function/special/zeta.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/statistics/quantileSeq.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/trigonometry/acoth.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/trigonometry/acsch.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/utils/clone.js +1 -1
- package/lib/esm/expression/function/compile.js +1 -1
- package/lib/esm/expression/function/evaluate.js +8 -3
- package/lib/esm/expression/node/FunctionNode.js +1 -1
- package/lib/esm/expression/parse.js +2 -2
- package/lib/esm/expression/transform/filter.transform.js +4 -4
- package/lib/esm/expression/transform/forEach.transform.js +4 -4
- package/lib/esm/expression/transform/map.transform.js +104 -37
- package/lib/esm/expression/transform/print.transform.js +2 -2
- package/lib/esm/expression/transform/utils/dimToZeroBase.js +16 -0
- package/lib/esm/expression/transform/utils/lastDimToZeroBase.js +4 -6
- package/lib/esm/function/algebra/decomposition/slu.js +1 -1
- package/lib/esm/function/algebra/derivative.js +15 -15
- package/lib/esm/function/algebra/lyap.js +4 -4
- package/lib/esm/function/algebra/simplify/util.js +3 -3
- package/lib/esm/function/algebra/simplifyConstant.js +9 -9
- package/lib/esm/function/algebra/solver/lsolve.js +3 -3
- package/lib/esm/function/algebra/solver/lsolveAll.js +3 -3
- package/lib/esm/function/algebra/solver/lusolve.js +5 -5
- package/lib/esm/function/algebra/solver/usolve.js +3 -3
- package/lib/esm/function/algebra/solver/usolveAll.js +3 -3
- package/lib/esm/function/algebra/sylvester.js +7 -7
- package/lib/esm/function/arithmetic/addScalar.js +4 -4
- package/lib/esm/function/arithmetic/ceil.js +6 -6
- package/lib/esm/function/arithmetic/divide.js +5 -5
- package/lib/esm/function/arithmetic/divideScalar.js +5 -5
- package/lib/esm/function/arithmetic/fix.js +5 -5
- package/lib/esm/function/arithmetic/floor.js +6 -6
- package/lib/esm/function/arithmetic/hypot.js +3 -3
- package/lib/esm/function/arithmetic/mod.js +3 -3
- package/lib/esm/function/arithmetic/multiply.js +7 -7
- package/lib/esm/function/arithmetic/multiplyScalar.js +4 -4
- package/lib/esm/function/arithmetic/norm.js +2 -2
- package/lib/esm/function/arithmetic/pow.js +6 -6
- package/lib/esm/function/arithmetic/round.js +7 -7
- package/lib/esm/function/arithmetic/subtractScalar.js +4 -4
- package/lib/esm/function/arithmetic/xgcd.js +1 -1
- package/lib/esm/function/combinatorics/bellNumbers.js +1 -1
- package/lib/esm/function/combinatorics/catalan.js +1 -1
- package/lib/esm/function/combinatorics/composition.js +1 -1
- package/lib/esm/function/combinatorics/stirlingS2.js +1 -1
- package/lib/esm/function/geometry/distance.js +4 -4
- package/lib/esm/function/geometry/intersect.js +2 -2
- package/lib/esm/function/logical/and.js +2 -2
- package/lib/esm/function/logical/or.js +2 -2
- package/lib/esm/function/logical/xor.js +2 -2
- package/lib/esm/function/matrix/apply.js +2 -2
- package/lib/esm/function/matrix/column.js +1 -1
- package/lib/esm/function/matrix/concat.js +1 -1
- package/lib/esm/function/matrix/count.js +1 -1
- package/lib/esm/function/matrix/cross.js +3 -3
- package/lib/esm/function/matrix/diag.js +10 -10
- package/lib/esm/function/matrix/diff.js +2 -2
- package/lib/esm/function/matrix/eigs.js +3 -3
- package/lib/esm/function/matrix/fft.js +3 -3
- package/lib/esm/function/matrix/filter.js +4 -4
- package/lib/esm/function/matrix/flatten.js +5 -6
- package/lib/esm/function/matrix/forEach.js +4 -4
- package/lib/esm/function/matrix/identity.js +6 -6
- package/lib/esm/function/matrix/ifft.js +3 -3
- package/lib/esm/function/matrix/inv.js +1 -1
- package/lib/esm/function/matrix/kron.js +7 -7
- package/lib/esm/function/matrix/map.js +110 -19
- package/lib/esm/function/matrix/matrixFromFunction.js +6 -6
- package/lib/esm/function/matrix/ones.js +2 -2
- package/lib/esm/function/matrix/partitionSelect.js +2 -2
- package/lib/esm/function/matrix/pinv.js +1 -1
- package/lib/esm/function/matrix/range.js +10 -10
- package/lib/esm/function/matrix/reshape.js +2 -2
- package/lib/esm/function/matrix/rotate.js +4 -4
- package/lib/esm/function/matrix/rotationMatrix.js +6 -6
- package/lib/esm/function/matrix/row.js +1 -1
- package/lib/esm/function/matrix/size.js +8 -8
- package/lib/esm/function/matrix/sort.js +4 -4
- package/lib/esm/function/matrix/sqrtm.js +1 -1
- package/lib/esm/function/matrix/squeeze.js +3 -4
- package/lib/esm/function/matrix/subset.js +2 -2
- package/lib/esm/function/matrix/zeros.js +2 -2
- package/lib/esm/function/probability/combinations.js +1 -1
- package/lib/esm/function/probability/combinationsWithRep.js +2 -2
- package/lib/esm/function/probability/kldivergence.js +4 -4
- package/lib/esm/function/probability/multinomial.js +1 -1
- package/lib/esm/function/probability/permutations.js +2 -2
- package/lib/esm/function/probability/pickRandom.js +6 -6
- package/lib/esm/function/probability/random.js +1 -1
- package/lib/esm/function/probability/randomInt.js +1 -1
- package/lib/esm/function/relational/compare.js +6 -6
- package/lib/esm/function/relational/deepEqual.js +1 -1
- package/lib/esm/function/relational/equal.js +1 -1
- package/lib/esm/function/relational/equalScalar.js +7 -7
- package/lib/esm/function/relational/equalText.js +1 -1
- package/lib/esm/function/relational/larger.js +3 -3
- package/lib/esm/function/relational/largerEq.js +4 -4
- package/lib/esm/function/relational/smaller.js +3 -3
- package/lib/esm/function/relational/smallerEq.js +3 -3
- package/lib/esm/function/relational/unequal.js +1 -1
- package/lib/esm/function/set/setCartesian.js +1 -1
- package/lib/esm/function/set/setDifference.js +1 -1
- package/lib/esm/function/set/setDistinct.js +1 -1
- package/lib/esm/function/set/setIntersect.js +1 -1
- package/lib/esm/function/set/setIsSubset.js +1 -1
- package/lib/esm/function/set/setMultiplicity.js +1 -1
- package/lib/esm/function/set/setPowerset.js +1 -1
- package/lib/esm/function/set/setSize.js +2 -2
- package/lib/esm/function/set/setSymDifference.js +1 -1
- package/lib/esm/function/set/setUnion.js +1 -1
- package/lib/esm/function/signal/freqz.js +6 -6
- package/lib/esm/function/statistics/corr.js +2 -2
- package/lib/esm/function/statistics/cumsum.js +3 -3
- package/lib/esm/function/statistics/max.js +1 -1
- package/lib/esm/function/statistics/median.js +3 -3
- package/lib/esm/function/statistics/min.js +1 -1
- package/lib/esm/function/statistics/prod.js +1 -1
- package/lib/esm/function/statistics/variance.js +2 -2
- package/lib/esm/function/string/bin.js +2 -2
- package/lib/esm/function/string/hex.js +2 -2
- package/lib/esm/function/string/oct.js +2 -2
- package/lib/esm/function/trigonometry/acoth.js +2 -2
- package/lib/esm/function/trigonometry/acsch.js +2 -2
- package/lib/esm/type/bigint.js +1 -1
- package/lib/esm/type/complex/function/complex.js +2 -2
- package/lib/esm/type/fraction/function/fraction.js +1 -1
- package/lib/esm/type/matrix/DenseMatrix.js +13 -38
- package/lib/esm/type/matrix/SparseMatrix.js +5 -8
- package/lib/esm/type/matrix/function/index.js +1 -1
- package/lib/esm/type/matrix/function/matrix.js +1 -1
- package/lib/esm/type/matrix/function/sparse.js +2 -2
- package/lib/esm/type/number.js +1 -1
- package/lib/esm/type/unit/Unit.js +57 -114
- package/lib/esm/type/unit/function/createUnit.js +3 -3
- package/lib/esm/type/unit/function/splitUnit.js +1 -1
- package/lib/esm/type/unit/function/unit.js +2 -2
- package/lib/esm/utils/array.js +26 -0
- package/lib/esm/utils/collection.js +1 -1
- package/lib/esm/utils/function.js +0 -13
- package/lib/esm/utils/is.js +24 -0
- package/lib/esm/utils/map.js +2 -19
- package/lib/esm/version.js +1 -1
- package/package.json +19 -19
- package/types/index.d.ts +108 -25
package/lib/esm/utils/is.js
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
// for security reasons, so these functions are not exposed in the expression
|
|
13
13
|
// parser.
|
|
14
14
|
|
|
15
|
+
import { ObjectWrappingMap } from './map.js';
|
|
15
16
|
export function isNumber(x) {
|
|
16
17
|
return typeof x === 'number';
|
|
17
18
|
}
|
|
@@ -88,6 +89,29 @@ export function isRegExp(x) {
|
|
|
88
89
|
export function isObject(x) {
|
|
89
90
|
return !!(x && typeof x === 'object' && x.constructor === Object && !isComplex(x) && !isFraction(x));
|
|
90
91
|
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Returns `true` if the passed object appears to be a Map (i.e. duck typing).
|
|
95
|
+
*
|
|
96
|
+
* Methods looked for are `get`, `set`, `keys` and `has`.
|
|
97
|
+
*
|
|
98
|
+
* @param {Map | object} object
|
|
99
|
+
* @returns
|
|
100
|
+
*/
|
|
101
|
+
export function isMap(object) {
|
|
102
|
+
// We can use the fast instanceof, or a slower duck typing check.
|
|
103
|
+
// The duck typing method needs to cover enough methods to not be confused with DenseMatrix.
|
|
104
|
+
if (!object) {
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
return object instanceof Map || object instanceof ObjectWrappingMap || typeof object.set === 'function' && typeof object.get === 'function' && typeof object.keys === 'function' && typeof object.has === 'function';
|
|
108
|
+
}
|
|
109
|
+
export function isPartitionedMap(object) {
|
|
110
|
+
return isMap(object) && isMap(object.a) && isMap(object.b);
|
|
111
|
+
}
|
|
112
|
+
export function isObjectWrappingMap(object) {
|
|
113
|
+
return isMap(object) && isObject(object.wrappedObject);
|
|
114
|
+
}
|
|
91
115
|
export function isNull(x) {
|
|
92
116
|
return x === null;
|
|
93
117
|
}
|
package/lib/esm/utils/map.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { isObject } from './is.js';
|
|
1
|
+
import { getSafeProperty, hasSafeProperty, setSafeProperty } from './customs.js';
|
|
2
|
+
import { isMap, isObject } from './is.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* A map facade on a bare object.
|
|
@@ -172,23 +172,6 @@ export function toObject(map) {
|
|
|
172
172
|
return object;
|
|
173
173
|
}
|
|
174
174
|
|
|
175
|
-
/**
|
|
176
|
-
* Returns `true` if the passed object appears to be a Map (i.e. duck typing).
|
|
177
|
-
*
|
|
178
|
-
* Methods looked for are `get`, `set`, `keys` and `has`.
|
|
179
|
-
*
|
|
180
|
-
* @param {Map | object} object
|
|
181
|
-
* @returns
|
|
182
|
-
*/
|
|
183
|
-
export function isMap(object) {
|
|
184
|
-
// We can use the fast instanceof, or a slower duck typing check.
|
|
185
|
-
// The duck typing method needs to cover enough methods to not be confused with DenseMatrix.
|
|
186
|
-
if (!object) {
|
|
187
|
-
return false;
|
|
188
|
-
}
|
|
189
|
-
return object instanceof Map || object instanceof ObjectWrappingMap || typeof object.set === 'function' && typeof object.get === 'function' && typeof object.keys === 'function' && typeof object.has === 'function';
|
|
190
|
-
}
|
|
191
|
-
|
|
192
175
|
/**
|
|
193
176
|
* Copies the contents of key-value pairs from each `objects` in to `map`.
|
|
194
177
|
*
|
package/lib/esm/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mathjs",
|
|
3
|
-
"version": "13.0
|
|
3
|
+
"version": "13.1.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.25.4",
|
|
29
29
|
"complex.js": "^2.1.1",
|
|
30
30
|
"decimal.js": "^10.4.3",
|
|
31
31
|
"escape-latex": "^1.2.0",
|
|
@@ -36,48 +36,48 @@
|
|
|
36
36
|
"typed-function": "^4.2.1"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@babel/core": "7.
|
|
39
|
+
"@babel/core": "7.25.2",
|
|
40
40
|
"@babel/plugin-transform-object-assign": "7.24.7",
|
|
41
41
|
"@babel/plugin-transform-optional-catch-binding": "7.24.7",
|
|
42
|
-
"@babel/plugin-transform-runtime": "7.
|
|
43
|
-
"@babel/preset-env": "7.
|
|
42
|
+
"@babel/plugin-transform-runtime": "7.25.4",
|
|
43
|
+
"@babel/preset-env": "7.25.4",
|
|
44
44
|
"@babel/register": "7.24.6",
|
|
45
45
|
"@types/assert": "1.5.10",
|
|
46
46
|
"@types/mocha": "10.0.7",
|
|
47
|
-
"@typescript-eslint/eslint-plugin": "7.
|
|
48
|
-
"@typescript-eslint/parser": "7.
|
|
47
|
+
"@typescript-eslint/eslint-plugin": "7.16.1",
|
|
48
|
+
"@typescript-eslint/parser": "7.16.1",
|
|
49
49
|
"assert": "2.1.0",
|
|
50
50
|
"babel-loader": "9.1.3",
|
|
51
51
|
"benchmark": "2.1.4",
|
|
52
52
|
"c8": "10.1.2",
|
|
53
53
|
"codecov": "3.8.3",
|
|
54
|
-
"core-js": "3.
|
|
54
|
+
"core-js": "3.38.1",
|
|
55
55
|
"del": "7.1.0",
|
|
56
56
|
"dtslint": "4.2.1",
|
|
57
57
|
"eslint": "8.57.0",
|
|
58
58
|
"eslint-config-prettier": "9.1.0",
|
|
59
59
|
"eslint-config-standard": "17.1.0",
|
|
60
60
|
"eslint-plugin-import": "2.29.1",
|
|
61
|
-
"eslint-plugin-mocha": "10.
|
|
61
|
+
"eslint-plugin-mocha": "10.5.0",
|
|
62
62
|
"eslint-plugin-n": "16.6.2",
|
|
63
|
-
"eslint-plugin-prettier": "5.1
|
|
64
|
-
"eslint-plugin-promise": "6.
|
|
65
|
-
"expect-type": "0.
|
|
63
|
+
"eslint-plugin-prettier": "5.2.1",
|
|
64
|
+
"eslint-plugin-promise": "6.6.0",
|
|
65
|
+
"expect-type": "0.20.0",
|
|
66
66
|
"expr-eval": "2.0.2",
|
|
67
67
|
"fancy-log": "2.0.0",
|
|
68
|
-
"glob": "
|
|
68
|
+
"glob": "11.0.0",
|
|
69
69
|
"gulp": "5.0.0",
|
|
70
70
|
"gulp-babel": "8.0.0",
|
|
71
71
|
"handlebars": "4.7.8",
|
|
72
|
-
"jsep": "1.3.
|
|
73
|
-
"karma": "6.4.
|
|
72
|
+
"jsep": "1.3.9",
|
|
73
|
+
"karma": "6.4.4",
|
|
74
74
|
"karma-browserstack-launcher": "1.6.0",
|
|
75
75
|
"karma-firefox-launcher": "2.1.3",
|
|
76
76
|
"karma-mocha": "2.0.1",
|
|
77
77
|
"karma-mocha-reporter": "2.2.5",
|
|
78
78
|
"karma-webpack": "5.0.1",
|
|
79
79
|
"mkdirp": "3.0.1",
|
|
80
|
-
"mocha": "10.
|
|
80
|
+
"mocha": "10.7.3",
|
|
81
81
|
"mocha-junit-reporter": "2.2.1",
|
|
82
82
|
"ndarray": "1.0.19",
|
|
83
83
|
"ndarray-determinant": "1.0.0",
|
|
@@ -86,13 +86,13 @@
|
|
|
86
86
|
"ndarray-pack": "1.2.1",
|
|
87
87
|
"numericjs": "1.2.6",
|
|
88
88
|
"pad-right": "0.2.2",
|
|
89
|
-
"prettier": "3.3.
|
|
89
|
+
"prettier": "3.3.3",
|
|
90
90
|
"process": "0.11.10",
|
|
91
91
|
"sinon": "18.0.0",
|
|
92
92
|
"sylvester": "0.0.21",
|
|
93
93
|
"ts-node": "10.9.2",
|
|
94
|
-
"typescript": "5.5.
|
|
95
|
-
"webpack": "5.
|
|
94
|
+
"typescript": "5.5.4",
|
|
95
|
+
"webpack": "5.94.0",
|
|
96
96
|
"zeros": "1.0.0"
|
|
97
97
|
},
|
|
98
98
|
"type": "module",
|
package/types/index.d.ts
CHANGED
|
@@ -508,6 +508,7 @@ export interface MathJsInstance extends MathJsFactory {
|
|
|
508
508
|
RelationalNode: RelationalNodeCtor
|
|
509
509
|
SymbolNode: SymbolNodeCtor
|
|
510
510
|
|
|
511
|
+
Unit: UnitCtor
|
|
511
512
|
Matrix: MatrixCtor
|
|
512
513
|
|
|
513
514
|
/**
|
|
@@ -1244,9 +1245,9 @@ export interface MathJsInstance extends MathJsFactory {
|
|
|
1244
1245
|
gcd<T extends number | BigNumber | Fraction | Matrix>(args: T[]): T
|
|
1245
1246
|
|
|
1246
1247
|
/**
|
|
1247
|
-
* Calculate the
|
|
1248
|
+
* Calculate the hypotenuse of a list with values. The hypotenuse is
|
|
1248
1249
|
* defined as: hypot(a, b, c, ...) = sqrt(a^2 + b^2 + c^2 + ...) For
|
|
1249
|
-
* matrix input, the
|
|
1250
|
+
* matrix input, the hypotenuse is calculated for all values in the
|
|
1250
1251
|
* matrix.
|
|
1251
1252
|
* @param args A list with numeric values or an Array or Matrix. Matrix
|
|
1252
1253
|
* and Array input is flattened and returns a single number for the
|
|
@@ -1947,10 +1948,10 @@ export interface MathJsInstance extends MathJsFactory {
|
|
|
1947
1948
|
inv<T extends number | Complex | MathCollection>(x: T): NoLiteralType<T>
|
|
1948
1949
|
|
|
1949
1950
|
/**
|
|
1950
|
-
* Calculate the
|
|
1951
|
+
* Calculate the Kronecker product of two matrices or vectors
|
|
1951
1952
|
* @param x First vector
|
|
1952
1953
|
* @param y Second vector
|
|
1953
|
-
* @returns Returns the
|
|
1954
|
+
* @returns Returns the Kronecker product of x and y
|
|
1954
1955
|
*/
|
|
1955
1956
|
kron(x: MathCollection, y: MathCollection): Matrix
|
|
1956
1957
|
|
|
@@ -1966,7 +1967,29 @@ export interface MathJsInstance extends MathJsFactory {
|
|
|
1966
1967
|
map<T extends MathCollection>(
|
|
1967
1968
|
x: T,
|
|
1968
1969
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1969
|
-
callback: (value: any, index:
|
|
1970
|
+
callback: (value: any, index: number[], matrix: T) => MathType | string
|
|
1971
|
+
): T
|
|
1972
|
+
|
|
1973
|
+
/**
|
|
1974
|
+
* Iterate over all elements of multiple matrices/arrays, and executes the given
|
|
1975
|
+
* callback function.
|
|
1976
|
+
* @param x The first matrix to iterate on.
|
|
1977
|
+
* @param args The rest of the matrices and at the end the callback function is invoked with multiple
|
|
1978
|
+
* parameters: the values of the elements, the indices of the elements, and
|
|
1979
|
+
* the matrices/arrays being traversed.
|
|
1980
|
+
* @returns Transformed map of matrices
|
|
1981
|
+
*/
|
|
1982
|
+
map<T extends MathCollection>(
|
|
1983
|
+
x: T,
|
|
1984
|
+
...args: Array<
|
|
1985
|
+
| T
|
|
1986
|
+
| ((
|
|
1987
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1988
|
+
value: any,
|
|
1989
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1990
|
+
...args: Array<any | number[] | T>
|
|
1991
|
+
) => MathType | string)
|
|
1992
|
+
>
|
|
1970
1993
|
): T
|
|
1971
1994
|
|
|
1972
1995
|
/**
|
|
@@ -2240,16 +2263,16 @@ export interface MathJsInstance extends MathJsFactory {
|
|
|
2240
2263
|
**/
|
|
2241
2264
|
|
|
2242
2265
|
/**
|
|
2243
|
-
* Calculate N-dimensional
|
|
2266
|
+
* Calculate N-dimensional Fourier transform
|
|
2244
2267
|
* @param {Array | Matrix} arr An array or matrix
|
|
2245
|
-
* @return {Array | Matrix} N-dimensional
|
|
2268
|
+
* @return {Array | Matrix} N-dimensional Fourier transformation of the array
|
|
2246
2269
|
*/
|
|
2247
2270
|
fft<T extends MathCollection>(arr: T): T
|
|
2248
2271
|
|
|
2249
2272
|
/**
|
|
2250
|
-
* Calculate N-dimensional inverse
|
|
2273
|
+
* Calculate N-dimensional inverse Fourier transform
|
|
2251
2274
|
* @param {Array | Matrix} arr An array or matrix
|
|
2252
|
-
* @return {Array | Matrix} N-dimensional
|
|
2275
|
+
* @return {Array | Matrix} N-dimensional Fourier transformation of the array
|
|
2253
2276
|
*/
|
|
2254
2277
|
ifft<T extends MathCollection>(arr: T): T
|
|
2255
2278
|
|
|
@@ -3135,10 +3158,10 @@ export interface MathJsInstance extends MathJsFactory {
|
|
|
3135
3158
|
acot<T extends BigNumber | Complex>(x: T): T
|
|
3136
3159
|
|
|
3137
3160
|
/**
|
|
3138
|
-
* Calculate the hyperbolic
|
|
3161
|
+
* Calculate the inverse hyperbolic tangent of a value, defined as acoth(x)
|
|
3139
3162
|
* = (ln((x+1)/x) + ln(x/(x-1))) / 2.
|
|
3140
3163
|
* @param x Function input
|
|
3141
|
-
* @returns The hyperbolic
|
|
3164
|
+
* @returns The inverse hyperbolic tangent of x
|
|
3142
3165
|
*/
|
|
3143
3166
|
acoth(x: number): number
|
|
3144
3167
|
acoth<T extends BigNumber | Complex>(x: T): T
|
|
@@ -3152,10 +3175,10 @@ export interface MathJsInstance extends MathJsFactory {
|
|
|
3152
3175
|
acsc<T extends BigNumber | Complex>(x: T): T
|
|
3153
3176
|
|
|
3154
3177
|
/**
|
|
3155
|
-
* Calculate the hyperbolic
|
|
3178
|
+
* Calculate the inverse hyperbolic cosecant of a value, defined as acsch(x)
|
|
3156
3179
|
* = ln(1/x + sqrt(1/x^2 + 1)).
|
|
3157
3180
|
* @param x Function input
|
|
3158
|
-
* @returns The hyperbolic
|
|
3181
|
+
* @returns The inverse hyperbolic cosecant of x
|
|
3159
3182
|
*/
|
|
3160
3183
|
acsch(x: number): number
|
|
3161
3184
|
acsch<T extends BigNumber | Complex>(x: T): T
|
|
@@ -3380,6 +3403,14 @@ export interface MathJsInstance extends MathJsFactory {
|
|
|
3380
3403
|
|
|
3381
3404
|
isObject(x: unknown): boolean
|
|
3382
3405
|
|
|
3406
|
+
isMap<T, U>(x: unknown): x is Map<T, U>
|
|
3407
|
+
|
|
3408
|
+
isPartitionedMap<T, U>(x: unknown): x is PartitionedMap<T, U>
|
|
3409
|
+
|
|
3410
|
+
isObjectWrappingMap<T extends string | number | symbol, U>(
|
|
3411
|
+
x: unknown
|
|
3412
|
+
): x is ObjectWrappingMap<T, U>
|
|
3413
|
+
|
|
3383
3414
|
isNull(x: unknown): x is null
|
|
3384
3415
|
|
|
3385
3416
|
isUndefined(x: unknown): x is undefined
|
|
@@ -3989,15 +4020,17 @@ export interface MathJSON {
|
|
|
3989
4020
|
fixPrefix?: boolean
|
|
3990
4021
|
}
|
|
3991
4022
|
|
|
4023
|
+
export interface BaseUnit {
|
|
4024
|
+
dimensions: number[]
|
|
4025
|
+
key: string
|
|
4026
|
+
}
|
|
4027
|
+
|
|
3992
4028
|
export interface UnitComponent {
|
|
3993
4029
|
power: number
|
|
3994
4030
|
prefix: string
|
|
3995
4031
|
unit: {
|
|
3996
4032
|
name: string
|
|
3997
|
-
base:
|
|
3998
|
-
dimensions: number[]
|
|
3999
|
-
key: string
|
|
4000
|
-
}
|
|
4033
|
+
base: BaseUnit
|
|
4001
4034
|
prefixes: Record<string, UnitPrefix>
|
|
4002
4035
|
value: number
|
|
4003
4036
|
offset: number
|
|
@@ -4014,8 +4047,7 @@ export interface UnitPrefix {
|
|
|
4014
4047
|
export interface Unit {
|
|
4015
4048
|
valueOf(): string
|
|
4016
4049
|
clone(): Unit
|
|
4017
|
-
|
|
4018
|
-
hasBase(base: any): boolean
|
|
4050
|
+
hasBase(base: BaseUnit | string | undefined): boolean
|
|
4019
4051
|
equalBase(unit: Unit): boolean
|
|
4020
4052
|
equals(unit: Unit): boolean
|
|
4021
4053
|
multiply(unit: Unit): Unit
|
|
@@ -4040,6 +4072,40 @@ export interface Unit {
|
|
|
4040
4072
|
skipAutomaticSimplification: true
|
|
4041
4073
|
}
|
|
4042
4074
|
|
|
4075
|
+
export type UnitSystemName = 'si' | 'cgs' | 'us' | 'auto'
|
|
4076
|
+
|
|
4077
|
+
export interface UnitStatic {
|
|
4078
|
+
PREFIXES: Record<string, UnitPrefix>
|
|
4079
|
+
BASE_DIMENSIONS: string[]
|
|
4080
|
+
BASE_UNITS: Record<string, BaseUnit>
|
|
4081
|
+
UNIT_SYSTEMS: Record<
|
|
4082
|
+
UnitSystemName,
|
|
4083
|
+
Record<string, { unit: Unit; prefix: UnitPrefix }>
|
|
4084
|
+
>
|
|
4085
|
+
UNITS: Record<string, Unit>
|
|
4086
|
+
parse(str: string): Unit
|
|
4087
|
+
isValuelessUnit(name: string): boolean
|
|
4088
|
+
fromJSON(json: MathJSON): Unit
|
|
4089
|
+
isValidAlpha(c: string): boolean
|
|
4090
|
+
createUnit(
|
|
4091
|
+
obj: Record<string, string | Unit | UnitDefinition>,
|
|
4092
|
+
options?: { override: boolean }
|
|
4093
|
+
): Unit
|
|
4094
|
+
createUnitSingle(
|
|
4095
|
+
name: string,
|
|
4096
|
+
definition: string | Unit | UnitDefinition
|
|
4097
|
+
): Unit
|
|
4098
|
+
getUnitSystem(): UnitSystemName
|
|
4099
|
+
setUnitSystem(name: UnitSystemName): void
|
|
4100
|
+
}
|
|
4101
|
+
|
|
4102
|
+
export interface UnitCtor extends UnitStatic {
|
|
4103
|
+
new (
|
|
4104
|
+
value: number | BigNumber | Fraction | Complex | boolean,
|
|
4105
|
+
name: string
|
|
4106
|
+
): Unit
|
|
4107
|
+
}
|
|
4108
|
+
|
|
4043
4109
|
export interface CreateUnitOptions {
|
|
4044
4110
|
prefixes?: 'none' | 'short' | 'long' | 'binary_short' | 'binary_long'
|
|
4045
4111
|
aliases?: string[]
|
|
@@ -4121,6 +4187,15 @@ export interface UnitDefinition {
|
|
|
4121
4187
|
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
|
4122
4188
|
export interface Index {}
|
|
4123
4189
|
|
|
4190
|
+
export interface PartitionedMap<T, U> {
|
|
4191
|
+
a: Map<T, U>
|
|
4192
|
+
b: Map<T, U>
|
|
4193
|
+
}
|
|
4194
|
+
|
|
4195
|
+
export interface ObjectWrappingMap<T extends string | number | symbol, U> {
|
|
4196
|
+
wrappedObject: Record<T, U>
|
|
4197
|
+
}
|
|
4198
|
+
|
|
4124
4199
|
export interface EvalFunction {
|
|
4125
4200
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4126
4201
|
evaluate(scope?: any): any
|
|
@@ -4352,7 +4427,14 @@ export interface FormatOptions {
|
|
|
4352
4427
|
* elsewhere. Lower bound is included, upper bound is excluded. For
|
|
4353
4428
|
* example '123.4' and '1.4e7'.
|
|
4354
4429
|
*/
|
|
4355
|
-
notation?:
|
|
4430
|
+
notation?:
|
|
4431
|
+
| 'fixed'
|
|
4432
|
+
| 'exponential'
|
|
4433
|
+
| 'engineering'
|
|
4434
|
+
| 'auto'
|
|
4435
|
+
| 'hex'
|
|
4436
|
+
| 'bin'
|
|
4437
|
+
| 'oct'
|
|
4356
4438
|
|
|
4357
4439
|
/**
|
|
4358
4440
|
* A number between 0 and 16 to round the digits of the number. In case
|
|
@@ -5016,9 +5098,9 @@ export interface MathJsChain<TValue> {
|
|
|
5016
5098
|
): MathJsChain<T>
|
|
5017
5099
|
|
|
5018
5100
|
/**
|
|
5019
|
-
* Calculate the
|
|
5101
|
+
* Calculate the hypotenuse of a list with values. The hypotenuse is
|
|
5020
5102
|
* defined as: hypot(a, b, c, ...) = sqrt(a^2 + b^2 + c^2 + ...) For
|
|
5021
|
-
* matrix input, the
|
|
5103
|
+
* matrix input, the hypotenuse is calculated for all values in the
|
|
5022
5104
|
* matrix.
|
|
5023
5105
|
*/
|
|
5024
5106
|
hypot<T extends number | BigNumber>(this: MathJsChain<T[]>): MathJsChain<T>
|
|
@@ -5627,7 +5709,7 @@ export interface MathJsChain<TValue> {
|
|
|
5627
5709
|
): MathJsChain<NoLiteralType<T>>
|
|
5628
5710
|
|
|
5629
5711
|
/**
|
|
5630
|
-
* Calculate the
|
|
5712
|
+
* Calculate the Kronecker product of two matrices or vectors
|
|
5631
5713
|
* @param y Second vector
|
|
5632
5714
|
*/
|
|
5633
5715
|
kron(
|
|
@@ -6485,7 +6567,7 @@ export interface MathJsChain<TValue> {
|
|
|
6485
6567
|
): MathJsChain<T>
|
|
6486
6568
|
|
|
6487
6569
|
/**
|
|
6488
|
-
* Calculate the hyperbolic
|
|
6570
|
+
* Calculate the inverse hyperbolic tangent of a value, defined as acoth(x)
|
|
6489
6571
|
* = (ln((x+1)/x) + ln(x/(x-1))) / 2. For matrices, the function is
|
|
6490
6572
|
* evaluated element wise.
|
|
6491
6573
|
*/
|
|
@@ -6504,7 +6586,7 @@ export interface MathJsChain<TValue> {
|
|
|
6504
6586
|
): MathJsChain<T>
|
|
6505
6587
|
|
|
6506
6588
|
/**
|
|
6507
|
-
* Calculate the hyperbolic
|
|
6589
|
+
* Calculate the inverse hyperbolic cosecant of a value, defined as acsch(x)
|
|
6508
6590
|
* = ln(1/x + sqrt(1/x^2 + 1)). For matrices, the function is evaluated
|
|
6509
6591
|
* element wise.
|
|
6510
6592
|
*/
|
|
@@ -6846,6 +6928,7 @@ export const {
|
|
|
6846
6928
|
RelationalNode,
|
|
6847
6929
|
SymbolNode,
|
|
6848
6930
|
Matrix,
|
|
6931
|
+
Unit,
|
|
6849
6932
|
|
|
6850
6933
|
uninitialized,
|
|
6851
6934
|
version,
|