mathjs 11.0.0 → 11.2.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/CONTRIBUTING.md +1 -4
- package/HISTORY.md +27 -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/core/create.js +1 -0
- package/lib/cjs/core/function/typed.js +3 -0
- package/lib/cjs/entry/typeChecks.js +6 -0
- package/lib/cjs/expression/embeddedDocs/construction/index.js +1 -1
- package/lib/cjs/function/algebra/derivative.js +3 -3
- package/lib/cjs/function/algebra/simplify.js +3 -1
- package/lib/cjs/function/algebra/symbolicEqual.js +5 -6
- package/lib/cjs/function/arithmetic/fix.js +1 -1
- package/lib/cjs/function/arithmetic/floor.js +1 -1
- package/lib/cjs/function/arithmetic/invmod.js +1 -1
- package/lib/cjs/function/arithmetic/nthRoot.js +3 -3
- package/lib/cjs/function/arithmetic/nthRoots.js +2 -2
- package/lib/cjs/function/bitwise/bitNot.js +1 -1
- package/lib/cjs/function/bitwise/leftShift.js +1 -1
- package/lib/cjs/function/bitwise/rightArithShift.js +1 -1
- package/lib/cjs/function/bitwise/rightLogShift.js +1 -1
- package/lib/cjs/function/geometry/distance.js +2 -2
- package/lib/cjs/function/matrix/diff.js +1 -1
- package/lib/cjs/function/matrix/rotate.js +5 -5
- package/lib/cjs/function/string/format.js +2 -2
- package/lib/cjs/function/string/hex.js +1 -2
- package/lib/cjs/function/trigonometry/acot.js +2 -3
- package/lib/cjs/function/trigonometry/acsc.js +2 -3
- package/lib/cjs/function/trigonometry/asec.js +2 -2
- package/lib/cjs/function/trigonometry/asin.js +1 -1
- package/lib/cjs/function/trigonometry/atan.js +1 -2
- package/lib/cjs/function/trigonometry/atan2.js +1 -1
- package/lib/cjs/function/utils/clone.js +1 -1
- package/lib/cjs/function/utils/hasNumericValue.js +1 -1
- package/lib/cjs/function/utils/isInteger.js +1 -1
- package/lib/cjs/function/utils/isNaN.js +1 -1
- package/lib/cjs/function/utils/isNegative.js +1 -1
- package/lib/cjs/function/utils/isNumeric.js +1 -1
- package/lib/cjs/function/utils/isPositive.js +1 -1
- package/lib/cjs/function/utils/isZero.js +11 -11
- package/lib/cjs/header.js +2 -2
- package/lib/cjs/type/unit/Unit.js +30 -25
- package/lib/cjs/type/unit/function/unit.js +5 -2
- package/lib/cjs/utils/is.js +5 -0
- package/lib/cjs/version.js +1 -1
- package/lib/esm/core/create.js +2 -1
- package/lib/esm/core/function/typed.js +4 -1
- package/lib/esm/entry/typeChecks.js +1 -1
- package/lib/esm/expression/embeddedDocs/construction/index.js +1 -1
- package/lib/esm/function/algebra/derivative.js +3 -3
- package/lib/esm/function/algebra/simplify.js +3 -1
- package/lib/esm/function/algebra/symbolicEqual.js +5 -6
- package/lib/esm/function/arithmetic/fix.js +1 -1
- package/lib/esm/function/arithmetic/floor.js +1 -1
- package/lib/esm/function/arithmetic/invmod.js +1 -1
- package/lib/esm/function/arithmetic/nthRoot.js +3 -3
- package/lib/esm/function/arithmetic/nthRoots.js +2 -2
- package/lib/esm/function/bitwise/bitNot.js +1 -1
- package/lib/esm/function/bitwise/leftShift.js +1 -1
- package/lib/esm/function/bitwise/rightArithShift.js +1 -1
- package/lib/esm/function/bitwise/rightLogShift.js +1 -1
- package/lib/esm/function/geometry/distance.js +2 -2
- package/lib/esm/function/matrix/diff.js +1 -1
- package/lib/esm/function/matrix/rotate.js +5 -5
- package/lib/esm/function/string/format.js +2 -2
- package/lib/esm/function/string/hex.js +1 -2
- package/lib/esm/function/trigonometry/acot.js +2 -3
- package/lib/esm/function/trigonometry/acsc.js +2 -3
- package/lib/esm/function/trigonometry/asec.js +2 -2
- package/lib/esm/function/trigonometry/asin.js +1 -1
- package/lib/esm/function/trigonometry/atan.js +1 -2
- package/lib/esm/function/trigonometry/atan2.js +1 -1
- package/lib/esm/function/utils/clone.js +1 -1
- package/lib/esm/function/utils/hasNumericValue.js +1 -1
- package/lib/esm/function/utils/isInteger.js +1 -1
- package/lib/esm/function/utils/isNaN.js +1 -1
- package/lib/esm/function/utils/isNegative.js +1 -1
- package/lib/esm/function/utils/isNumeric.js +1 -1
- package/lib/esm/function/utils/isPositive.js +1 -1
- package/lib/esm/function/utils/isZero.js +11 -11
- package/lib/esm/type/unit/Unit.js +25 -24
- package/lib/esm/type/unit/function/unit.js +5 -2
- package/lib/esm/utils/is.js +3 -0
- package/lib/esm/version.js +1 -1
- package/package.json +17 -18
- package/types/index.d.ts +33 -19
- package/types/index.ts +123 -95
- package/types/tsconfig.json +4 -1
package/lib/cjs/core/create.js
CHANGED
|
@@ -122,6 +122,7 @@ function create(factories, config) {
|
|
|
122
122
|
isOperatorNode: _is.isOperatorNode,
|
|
123
123
|
isParenthesisNode: _is.isParenthesisNode,
|
|
124
124
|
isRangeNode: _is.isRangeNode,
|
|
125
|
+
isRelationalNode: _is.isRelationalNode,
|
|
125
126
|
isSymbolNode: _is.isSymbolNode,
|
|
126
127
|
isChain: _is.isChain
|
|
127
128
|
}); // load config function and apply provided config
|
|
@@ -197,6 +197,9 @@ var createTyped = /* #__PURE__ */(0, _factory.factory)('typed', dependencies, fu
|
|
|
197
197
|
}, {
|
|
198
198
|
name: 'RangeNode',
|
|
199
199
|
test: _is.isRangeNode
|
|
200
|
+
}, {
|
|
201
|
+
name: 'RelationalNode',
|
|
202
|
+
test: _is.isRelationalNode
|
|
200
203
|
}, {
|
|
201
204
|
name: 'SymbolNode',
|
|
202
205
|
test: _is.isSymbolNode
|
|
@@ -195,6 +195,12 @@ Object.defineProperty(exports, "isRegExp", {
|
|
|
195
195
|
return _is.isRegExp;
|
|
196
196
|
}
|
|
197
197
|
});
|
|
198
|
+
Object.defineProperty(exports, "isRelationalNode", {
|
|
199
|
+
enumerable: true,
|
|
200
|
+
get: function get() {
|
|
201
|
+
return _is.isRelationalNode;
|
|
202
|
+
}
|
|
203
|
+
});
|
|
198
204
|
Object.defineProperty(exports, "isResultSet", {
|
|
199
205
|
enumerable: true,
|
|
200
206
|
get: function get() {
|
|
@@ -9,7 +9,7 @@ var indexDocs = {
|
|
|
9
9
|
category: 'Construction',
|
|
10
10
|
syntax: ['[start]', '[start:end]', '[start:step:end]', '[start1, start 2, ...]', '[start1:end1, start2:end2, ...]', '[start1:step1:end1, start2:step2:end2, ...]'],
|
|
11
11
|
description: 'Create an index to get or replace a subset of a matrix',
|
|
12
|
-
examples: ['[
|
|
12
|
+
examples: ['[1, 2, 3]', 'A = [1, 2, 3; 4, 5, 6]', 'A[1, :]', 'A[1, 2] = 50', 'A[1:2, 1:2] = ones(2, 2)'],
|
|
13
13
|
seealso: ['bignumber', 'boolean', 'complex', 'matrix,', 'number', 'range', 'string', 'unit']
|
|
14
14
|
};
|
|
15
15
|
exports.indexDocs = indexDocs;
|
|
@@ -42,9 +42,9 @@ var createDerivative = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
|
42
42
|
*
|
|
43
43
|
* Examples:
|
|
44
44
|
*
|
|
45
|
-
* math.derivative('x^2', 'x') // Node
|
|
46
|
-
* math.derivative('x^2', 'x', {simplify: false}) // Node
|
|
47
|
-
* math.derivative('sin(2x)', 'x')) // Node
|
|
45
|
+
* math.derivative('x^2', 'x') // Node '2 * x'
|
|
46
|
+
* math.derivative('x^2', 'x', {simplify: false}) // Node '2 * 1 * x ^ (2 - 1)'
|
|
47
|
+
* math.derivative('sin(2x)', 'x')) // Node '2 * cos(2 * x)'
|
|
48
48
|
* math.derivative('2*x', 'x').evaluate() // number 2
|
|
49
49
|
* math.derivative('x^2', 'x').evaluate({x: 4}) // number 8
|
|
50
50
|
* const f = math.parse('x^2')
|
|
@@ -167,8 +167,10 @@ var createSimplify = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fu
|
|
|
167
167
|
*
|
|
168
168
|
* @param {Node | string} expr
|
|
169
169
|
* The expression to be simplified
|
|
170
|
-
* @param {
|
|
170
|
+
* @param {SimplifyRule[]} [rules]
|
|
171
171
|
* Optional list with custom rules
|
|
172
|
+
* @param {Object} [scope] Optional scope with variables
|
|
173
|
+
* @param {SimplifyOptions} [options] Optional configuration settings
|
|
172
174
|
* @return {Node} Returns the simplified form of `expr`
|
|
173
175
|
*/
|
|
174
176
|
|
|
@@ -38,12 +38,11 @@ var createSymbolicEqual = /* #__PURE__ */(0, _factory.factory)(name, dependencie
|
|
|
38
38
|
*
|
|
39
39
|
* Examples:
|
|
40
40
|
*
|
|
41
|
-
* symbolicEqual('x*y', 'y*x') // true
|
|
42
|
-
* symbolicEqual('x*y', 'y*x', {context: {multiply: {commutative: false}}})
|
|
43
|
-
*
|
|
44
|
-
* symbolicEqual('x
|
|
45
|
-
* symbolicEqual('abs(x)','x') //
|
|
46
|
-
* symbolicEqual('abs(x)','x', simplify.positiveContext) // true
|
|
41
|
+
* symbolicEqual('x*y', 'y*x') // Returns true
|
|
42
|
+
* symbolicEqual('x*y', 'y*x', {context: {multiply: {commutative: false}}}) // Returns false
|
|
43
|
+
* symbolicEqual('x/y', '(y*x^(-1))^(-1)') // Returns true
|
|
44
|
+
* symbolicEqual('abs(x)','x') // Returns false
|
|
45
|
+
* symbolicEqual('abs(x)','x', simplify.positiveContext) // Returns true
|
|
47
46
|
*
|
|
48
47
|
* See also:
|
|
49
48
|
*
|
|
@@ -73,7 +73,7 @@ var createFix = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functio
|
|
|
73
73
|
*
|
|
74
74
|
* const c = math.complex(3.22, -2.78)
|
|
75
75
|
* math.fix(c) // returns Complex 3 - 2i
|
|
76
|
-
* math.fix(c, 1) // returns Complex 3.2 -
|
|
76
|
+
* math.fix(c, 1) // returns Complex 3.2 -2.7i
|
|
77
77
|
*
|
|
78
78
|
* math.fix([3.2, 3.8, -4.7]) // returns Array [3, 3, -4]
|
|
79
79
|
* math.fix([3.2, 3.8, -4.7], 1) // returns Array [3.2, 3.8, -4.7]
|
|
@@ -109,7 +109,7 @@ var createFloor = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
|
109
109
|
*
|
|
110
110
|
* const c = math.complex(3.24, -2.71)
|
|
111
111
|
* math.floor(c) // returns Complex 3 - 3i
|
|
112
|
-
* math.floor(c, 1) // returns Complex 3.2 -
|
|
112
|
+
* math.floor(c, 1) // returns Complex 3.2 -2.8i
|
|
113
113
|
*
|
|
114
114
|
* math.floor([3.2, 3.8, -4.7]) // returns Array [3, 3, -5]
|
|
115
115
|
* math.floor([3.21, 3.82, -4.71], 1) // returns Array [3.2, 3.8, -4.8]
|
|
@@ -35,7 +35,7 @@ var createInvmod = /* #__PURE__ */(0, _factory.factory)(name, dependencies, func
|
|
|
35
35
|
* Examples:
|
|
36
36
|
*
|
|
37
37
|
* math.invmod(8, 12) // returns NaN
|
|
38
|
-
* math.invmod(7, 13) //
|
|
38
|
+
* math.invmod(7, 13) // returns 2
|
|
39
39
|
* math.invmod(15151, 15122) // returns 10429
|
|
40
40
|
*
|
|
41
41
|
* See also:
|
|
@@ -61,9 +61,9 @@ var createNthRoot = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fun
|
|
|
61
61
|
*
|
|
62
62
|
* Examples:
|
|
63
63
|
*
|
|
64
|
-
* math.nthRoot(9, 2) // returns 3
|
|
65
|
-
* math.sqrt(9) // returns 3
|
|
66
|
-
* math.nthRoot(64, 3) // returns 4
|
|
64
|
+
* math.nthRoot(9, 2) // returns 3 (since 3^2 == 9)
|
|
65
|
+
* math.sqrt(9) // returns 3 (since 3^2 == 9)
|
|
66
|
+
* math.nthRoot(64, 3) // returns 4 (since 4^3 == 64)
|
|
67
67
|
*
|
|
68
68
|
* See also:
|
|
69
69
|
*
|
|
@@ -98,12 +98,12 @@ var createNthRoots = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fu
|
|
|
98
98
|
* // {re: 1, im: 0},
|
|
99
99
|
* // {re: -1, im: 0}
|
|
100
100
|
* // ]
|
|
101
|
-
* nthRoots(1, 3)
|
|
101
|
+
* math.nthRoots(1, 3)
|
|
102
102
|
* // returns [
|
|
103
103
|
* // { re: 1, im: 0 },
|
|
104
104
|
* // { re: -0.4999999999999998, im: 0.8660254037844387 },
|
|
105
105
|
* // { re: -0.5000000000000004, im: -0.8660254037844385 }
|
|
106
|
-
* ]
|
|
106
|
+
* // ]
|
|
107
107
|
*
|
|
108
108
|
* See also:
|
|
109
109
|
*
|
|
@@ -31,7 +31,7 @@ var createBitNot = /* #__PURE__ */(0, _factory.factory)(name, dependencies, func
|
|
|
31
31
|
*
|
|
32
32
|
* math.bitNot(1) // returns number -2
|
|
33
33
|
*
|
|
34
|
-
* math.bitNot([2, -3, 4]) // returns Array [-3, 2, 5]
|
|
34
|
+
* math.bitNot([2, -3, 4]) // returns Array [-3, 2, -5]
|
|
35
35
|
*
|
|
36
36
|
* See also:
|
|
37
37
|
*
|
|
@@ -78,7 +78,7 @@ var createLeftShift = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
78
78
|
*
|
|
79
79
|
* math.leftShift(1, 2) // returns number 4
|
|
80
80
|
*
|
|
81
|
-
* math.leftShift([1, 2,
|
|
81
|
+
* math.leftShift([1, 2, 4], 4) // returns Array [16, 32, 64]
|
|
82
82
|
*
|
|
83
83
|
* See also:
|
|
84
84
|
*
|
|
@@ -78,7 +78,7 @@ var createRightArithShift = /* #__PURE__ */(0, _factory.factory)(name, dependenc
|
|
|
78
78
|
*
|
|
79
79
|
* math.rightArithShift(4, 2) // returns number 1
|
|
80
80
|
*
|
|
81
|
-
* math.rightArithShift([16, -32, 64], 4) // returns Array [1, -2,
|
|
81
|
+
* math.rightArithShift([16, -32, 64], 4) // returns Array [1, -2, 4]
|
|
82
82
|
*
|
|
83
83
|
* See also:
|
|
84
84
|
*
|
|
@@ -76,7 +76,7 @@ var createRightLogShift = /* #__PURE__ */(0, _factory.factory)(name, dependencie
|
|
|
76
76
|
*
|
|
77
77
|
* math.rightLogShift(4, 2) // returns number 1
|
|
78
78
|
*
|
|
79
|
-
* math.rightLogShift([16,
|
|
79
|
+
* math.rightLogShift([16, 32, 64], 4) // returns Array [1, 2, 4]
|
|
80
80
|
*
|
|
81
81
|
* See also:
|
|
82
82
|
*
|
|
@@ -48,11 +48,11 @@ var createDistance = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fu
|
|
|
48
48
|
* math.distance({pointX: 2, pointY: 5, pointZ: 9}, {x0: 4, y0: 6, z0: 3, a: 4, b: 2, c: 0})
|
|
49
49
|
*
|
|
50
50
|
* Examples:
|
|
51
|
-
* math.distance([0,0], [4,4]) // Returns 5.
|
|
51
|
+
* math.distance([0,0], [4,4]) // Returns 5.656854249492381
|
|
52
52
|
* math.distance(
|
|
53
53
|
* {pointOneX: 0, pointOneY: 0},
|
|
54
54
|
* {pointTwoX: 10, pointTwoY: 10}) // Returns 14.142135623730951
|
|
55
|
-
* math.distance([1, 0, 1], [4, -2, 2]) // Returns 3.
|
|
55
|
+
* math.distance([1, 0, 1], [4, -2, 2]) // Returns 3.7416573867739413
|
|
56
56
|
* math.distance(
|
|
57
57
|
* {pointOneX: 4, pointOneY: 5, pointOneZ: 8},
|
|
58
58
|
* {pointTwoX: 2, pointTwoY: 7, pointTwoZ: 9}) // Returns 3
|
|
@@ -37,7 +37,7 @@ var createDiff = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functi
|
|
|
37
37
|
*
|
|
38
38
|
* const arr = [1, 2, 4, 7, 0]
|
|
39
39
|
* math.diff(arr) // returns [1, 2, 3, -7] (no dimension passed so 0 is assumed)
|
|
40
|
-
* math.diff(math.matrix(arr)) // returns
|
|
40
|
+
* math.diff(math.matrix(arr)) // returns Matrix [1, 2, 3, -7]
|
|
41
41
|
*
|
|
42
42
|
* const arr = [[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [9, 8, 7, 6, 4]]
|
|
43
43
|
* math.diff(arr) // returns [[0, 0, 0, 0, 0], [8, 6, 4, 2, -1]]
|
|
@@ -27,13 +27,13 @@ var createRotate = /* #__PURE__ */(0, _factory.factory)(name, dependencies, func
|
|
|
27
27
|
*
|
|
28
28
|
* Examples:
|
|
29
29
|
*
|
|
30
|
-
* math.rotate([11, 12], math.pi / 2) // returns
|
|
31
|
-
* math.rotate(matrix([11, 12]), math.pi / 2) // returns
|
|
30
|
+
* math.rotate([11, 12], math.pi / 2) // returns [-12, 11]
|
|
31
|
+
* math.rotate(matrix([11, 12]), math.pi / 2) // returns [-12, 11]
|
|
32
32
|
*
|
|
33
|
-
* math.rotate([1, 0, 0], unit('90deg'), [0, 0, 1]) // returns
|
|
34
|
-
* math.rotate(matrix([1, 0, 0]), unit('90deg'), [0, 0, 1]) // returns
|
|
33
|
+
* math.rotate([1, 0, 0], unit('90deg'), [0, 0, 1]) // returns [0, 1, 0]
|
|
34
|
+
* math.rotate(matrix([1, 0, 0]), unit('90deg'), [0, 0, 1]) // returns Matrix [0, 1, 0]
|
|
35
35
|
*
|
|
36
|
-
* math.rotate([1, 0], math.complex(1 + i)) // returns
|
|
36
|
+
* math.rotate([1, 0], math.complex(1 + i)) // returns [cos(1 + i) - sin(1 + i), sin(1 + i) + cos(1 + i)]
|
|
37
37
|
*
|
|
38
38
|
* See also:
|
|
39
39
|
*
|
|
@@ -105,14 +105,14 @@ var createFormat = /* #__PURE__ */(0, _factory.factory)(name, dependencies, func
|
|
|
105
105
|
* Examples:
|
|
106
106
|
*
|
|
107
107
|
* math.format(6.4) // returns '6.4'
|
|
108
|
-
* math.format(1240000) // returns '1.
|
|
108
|
+
* math.format(1240000) // returns '1.24e+6'
|
|
109
109
|
* math.format(1/3) // returns '0.3333333333333333'
|
|
110
110
|
* math.format(1/3, 3) // returns '0.333'
|
|
111
111
|
* math.format(21385, 2) // returns '21000'
|
|
112
112
|
* math.format(12e8, {notation: 'fixed'}) // returns '1200000000'
|
|
113
113
|
* math.format(2.3, {notation: 'fixed', precision: 4}) // returns '2.3000'
|
|
114
114
|
* math.format(52.8, {notation: 'exponential'}) // returns '5.28e+1'
|
|
115
|
-
* math.format(12400,{notation: 'engineering'})
|
|
115
|
+
* math.format(12400, {notation: 'engineering'}) // returns '12.4e+3'
|
|
116
116
|
* math.format(2000, {lowerExp: -2, upperExp: 2}) // returns '2e+3'
|
|
117
117
|
*
|
|
118
118
|
* function formatCurrency(value) {
|
|
@@ -27,11 +27,10 @@ var createAcot = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functi
|
|
|
27
27
|
*
|
|
28
28
|
* Examples:
|
|
29
29
|
*
|
|
30
|
-
* math.acot(0.5) // returns number
|
|
30
|
+
* math.acot(0.5) // returns number 1.1071487177940904
|
|
31
|
+
* math.acot(2) // returns number 0.4636476090008061
|
|
31
32
|
* math.acot(math.cot(1.5)) // returns number 1.5
|
|
32
33
|
*
|
|
33
|
-
* math.acot(2) // returns Complex 1.5707963267948966 -1.3169578969248166 i
|
|
34
|
-
*
|
|
35
34
|
* See also:
|
|
36
35
|
*
|
|
37
36
|
* cot, atan
|
|
@@ -29,11 +29,10 @@ var createAcsc = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functi
|
|
|
29
29
|
*
|
|
30
30
|
* Examples:
|
|
31
31
|
*
|
|
32
|
-
* math.acsc(
|
|
32
|
+
* math.acsc(2) // returns 0.5235987755982989
|
|
33
|
+
* math.acsc(0.5) // returns Complex 1.5707963267948966 -1.3169578969248166i
|
|
33
34
|
* math.acsc(math.csc(1.5)) // returns number ~1.5
|
|
34
35
|
*
|
|
35
|
-
* math.acsc(2) // returns Complex 1.5707963267948966 -1.3169578969248166 i
|
|
36
|
-
*
|
|
37
36
|
* See also:
|
|
38
37
|
*
|
|
39
38
|
* csc, asin, asec
|
|
@@ -29,10 +29,10 @@ var createAsec = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functi
|
|
|
29
29
|
*
|
|
30
30
|
* Examples:
|
|
31
31
|
*
|
|
32
|
-
* math.asec(
|
|
32
|
+
* math.asec(2) // returns 1.0471975511965979
|
|
33
33
|
* math.asec(math.sec(1.5)) // returns 1.5
|
|
34
34
|
*
|
|
35
|
-
* math.asec(
|
|
35
|
+
* math.asec(0.5) // returns Complex 0 + 1.3169578969248166i
|
|
36
36
|
*
|
|
37
37
|
* See also:
|
|
38
38
|
*
|
|
@@ -29,7 +29,7 @@ var createAsin = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functi
|
|
|
29
29
|
* math.asin(0.5) // returns number 0.5235987755982989
|
|
30
30
|
* math.asin(math.sin(1.5)) // returns number ~1.5
|
|
31
31
|
*
|
|
32
|
-
* math.asin(2) // returns Complex 1.5707963267948966 -1.
|
|
32
|
+
* math.asin(2) // returns Complex 1.5707963267948966 -1.3169578969248166i
|
|
33
33
|
*
|
|
34
34
|
* See also:
|
|
35
35
|
*
|
|
@@ -25,10 +25,9 @@ var createAtan = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functi
|
|
|
25
25
|
* Examples:
|
|
26
26
|
*
|
|
27
27
|
* math.atan(0.5) // returns number 0.4636476090008061
|
|
28
|
+
* math.atan(2) // returns number 1.1071487177940904
|
|
28
29
|
* math.atan(math.tan(1.5)) // returns number 1.5
|
|
29
30
|
*
|
|
30
|
-
* math.atan(2) // returns Complex 1.5707963267948966 -1.3169578969248166 i
|
|
31
|
-
*
|
|
32
31
|
* See also:
|
|
33
32
|
*
|
|
34
33
|
* tan, asin, acos
|
|
@@ -69,7 +69,7 @@ var createAtan2 = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
|
69
69
|
* const x = math.cos(angle)
|
|
70
70
|
* const y = math.sin(angle)
|
|
71
71
|
*
|
|
72
|
-
* math.atan(2) // returns
|
|
72
|
+
* math.atan(2) // returns number 1.1071487177940904
|
|
73
73
|
*
|
|
74
74
|
* See also:
|
|
75
75
|
*
|
|
@@ -24,7 +24,7 @@ var createClone = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
|
24
24
|
* Examples:
|
|
25
25
|
*
|
|
26
26
|
* math.clone(3.5) // returns number 3.5
|
|
27
|
-
* math.clone(math.complex('2-4i')
|
|
27
|
+
* math.clone(math.complex('2-4i')) // returns Complex 2 - 4i
|
|
28
28
|
* math.clone(math.unit(45, 'deg')) // returns Unit 45 deg
|
|
29
29
|
* math.clone([[1, 2], [3, 4]]) // returns Array [[1, 2], [3, 4]]
|
|
30
30
|
* math.clone("hello world") // returns string "hello world"
|
|
@@ -30,7 +30,7 @@ var createHasNumericValue = /* #__PURE__ */(0, _factory.factory)(name, dependenc
|
|
|
30
30
|
* math.hasNumericValue(0) // returns true
|
|
31
31
|
* math.hasNumericValue(math.bignumber(500)) // returns true
|
|
32
32
|
* math.hasNumericValue(math.fraction(4)) // returns true
|
|
33
|
-
* math.hasNumericValue(math.complex('2-4i')
|
|
33
|
+
* math.hasNumericValue(math.complex('2-4i')) // returns false
|
|
34
34
|
* math.hasNumericValue(false) // returns true
|
|
35
35
|
* math.hasNumericValue([2.3, 'foo', false]) // returns [true, false, true]
|
|
36
36
|
*
|
|
@@ -35,7 +35,7 @@ var createIsInteger = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
35
35
|
* math.isInteger(math.fraction(4)) // returns true
|
|
36
36
|
* math.isInteger('3') // returns true
|
|
37
37
|
* math.isInteger([3, 0.5, -2]) // returns [true, false, true]
|
|
38
|
-
* math.isInteger(math.complex('2-4i')
|
|
38
|
+
* math.isInteger(math.complex('2-4i')) // throws an error
|
|
39
39
|
*
|
|
40
40
|
* See also:
|
|
41
41
|
*
|
|
@@ -35,7 +35,7 @@ var createIsNaN = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
|
35
35
|
* math.isNaN(math.bignumber(0)) // returns false
|
|
36
36
|
* math.isNaN(math.fraction(-2, 5)) // returns false
|
|
37
37
|
* math.isNaN('-2') // returns false
|
|
38
|
-
* math.isNaN([2, 0, -3, NaN]
|
|
38
|
+
* math.isNaN([2, 0, -3, NaN]) // returns [false, false, false, true]
|
|
39
39
|
*
|
|
40
40
|
* See also:
|
|
41
41
|
*
|
|
@@ -35,7 +35,7 @@ var createIsNegative = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
|
35
35
|
* math.isNegative(math.bignumber(2)) // returns false
|
|
36
36
|
* math.isNegative(math.fraction(-2, 5)) // returns true
|
|
37
37
|
* math.isNegative('-2') // returns true
|
|
38
|
-
* math.isNegative([2, 0, -3]
|
|
38
|
+
* math.isNegative([2, 0, -3]) // returns [false, false, true]
|
|
39
39
|
*
|
|
40
40
|
* See also:
|
|
41
41
|
*
|
|
@@ -31,7 +31,7 @@ var createIsNumeric = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
31
31
|
* math.isNumeric(0) // returns true
|
|
32
32
|
* math.isNumeric(math.bignumber(500)) // returns true
|
|
33
33
|
* math.isNumeric(math.fraction(4)) // returns true
|
|
34
|
-
* math.isNumeric(math.complex('2-4i')
|
|
34
|
+
* math.isNumeric(math.complex('2-4i')) // returns false
|
|
35
35
|
* math.isNumeric([2.3, 'foo', false]) // returns [true, false, true]
|
|
36
36
|
*
|
|
37
37
|
* See also:
|
|
@@ -35,7 +35,7 @@ var createIsPositive = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
|
35
35
|
* math.isPositive(0.5) // returns true
|
|
36
36
|
* math.isPositive(math.bignumber(2)) // returns true
|
|
37
37
|
* math.isPositive(math.fraction(-2, 5)) // returns false
|
|
38
|
-
* math.isPositive(math.fraction(1,3))
|
|
38
|
+
* math.isPositive(math.fraction(1, 3)) // returns true
|
|
39
39
|
* math.isPositive('2') // returns true
|
|
40
40
|
* math.isPositive([2, 0, -3]) // returns [true, false, false]
|
|
41
41
|
*
|
|
@@ -29,17 +29,17 @@ var createIsZero = /* #__PURE__ */(0, _factory.factory)(name, dependencies, func
|
|
|
29
29
|
*
|
|
30
30
|
* Examples:
|
|
31
31
|
*
|
|
32
|
-
* math.isZero(0)
|
|
33
|
-
* math.isZero(2)
|
|
34
|
-
* math.isZero(0.5)
|
|
35
|
-
* math.isZero(math.bignumber(0))
|
|
36
|
-
* math.isZero(math.fraction(0))
|
|
37
|
-
* math.isZero(math.fraction(1,3))
|
|
38
|
-
* math.isZero(math.complex('2 - 4i') // returns false
|
|
39
|
-
* math.isZero(math.complex('0i') // returns true
|
|
40
|
-
* math.isZero('0')
|
|
41
|
-
* math.isZero('2')
|
|
42
|
-
* math.isZero([2, 0, -3]
|
|
32
|
+
* math.isZero(0) // returns true
|
|
33
|
+
* math.isZero(2) // returns false
|
|
34
|
+
* math.isZero(0.5) // returns false
|
|
35
|
+
* math.isZero(math.bignumber(0)) // returns true
|
|
36
|
+
* math.isZero(math.fraction(0)) // returns true
|
|
37
|
+
* math.isZero(math.fraction(1,3)) // returns false
|
|
38
|
+
* math.isZero(math.complex('2 - 4i')) // returns false
|
|
39
|
+
* math.isZero(math.complex('0i')) // returns true
|
|
40
|
+
* math.isZero('0') // returns true
|
|
41
|
+
* math.isZero('2') // returns false
|
|
42
|
+
* math.isZero([2, 0, -3]) // returns [false, true, false]
|
|
43
43
|
*
|
|
44
44
|
* See also:
|
|
45
45
|
*
|
package/lib/cjs/header.js
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
* It features real and complex numbers, units, matrices, a large set of
|
|
7
7
|
* mathematical functions, and a flexible expression parser.
|
|
8
8
|
*
|
|
9
|
-
* @version 11.
|
|
10
|
-
* @date 2022-
|
|
9
|
+
* @version 11.2.0
|
|
10
|
+
* @date 2022-09-12
|
|
11
11
|
*
|
|
12
12
|
* @license
|
|
13
13
|
* Copyright (C) 2013-2022 Jos de Jong <wjosdejong@gmail.com>
|
|
@@ -9,10 +9,10 @@ exports.createUnitClass = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
11
|
|
|
12
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
-
|
|
14
12
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
13
|
|
|
14
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
15
|
+
|
|
16
16
|
var _is = require("../../utils/is.js");
|
|
17
17
|
|
|
18
18
|
var _factory = require("../../utils/factory.js");
|
|
@@ -53,8 +53,8 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
53
53
|
/**
|
|
54
54
|
* A unit can be constructed in the following ways:
|
|
55
55
|
*
|
|
56
|
-
* const a = new Unit(value,
|
|
57
|
-
* const b = new Unit(null,
|
|
56
|
+
* const a = new Unit(value, valuelessUnit)
|
|
57
|
+
* const b = new Unit(null, valuelessUnit)
|
|
58
58
|
* const c = Unit.parse(str)
|
|
59
59
|
*
|
|
60
60
|
* Example usage:
|
|
@@ -67,10 +67,10 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
67
67
|
* @class Unit
|
|
68
68
|
* @constructor Unit
|
|
69
69
|
* @param {number | BigNumber | Fraction | Complex | boolean} [value] A value like 5.2
|
|
70
|
-
* @param {string}
|
|
70
|
+
* @param {string | Unit} valuelessUnit A unit without value. Can have prefix, like "cm"
|
|
71
71
|
*/
|
|
72
72
|
|
|
73
|
-
function Unit(value,
|
|
73
|
+
function Unit(value, valuelessUnit) {
|
|
74
74
|
if (!(this instanceof Unit)) {
|
|
75
75
|
throw new Error('Constructor must be called with the new operator');
|
|
76
76
|
}
|
|
@@ -79,31 +79,36 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
79
79
|
throw new TypeError('First parameter in Unit constructor must be number, BigNumber, Fraction, Complex, or undefined');
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
if (name !== undefined && (typeof name !== 'string' || name === '')) {
|
|
83
|
-
throw new TypeError('Second parameter in Unit constructor must be a string');
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
if (name !== undefined) {
|
|
87
|
-
var u = Unit.parse(name);
|
|
88
|
-
this.units = u.units;
|
|
89
|
-
this.dimensions = u.dimensions;
|
|
90
|
-
} else {
|
|
91
|
-
this.units = [];
|
|
92
|
-
this.dimensions = [];
|
|
93
|
-
|
|
94
|
-
for (var i = 0; i < BASE_DIMENSIONS.length; i++) {
|
|
95
|
-
this.dimensions[i] = 0;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
this.value = value !== undefined && value !== null ? this._normalize(value) : null;
|
|
100
82
|
this.fixPrefix = false; // if true, function format will not search for the
|
|
101
83
|
// best prefix but leave it as initially provided.
|
|
102
84
|
// fixPrefix is set true by the method Unit.to
|
|
103
85
|
// The justification behind this is that if the constructor is explicitly called,
|
|
104
|
-
// the caller wishes the units to be returned exactly as
|
|
86
|
+
// the caller wishes the units to be returned exactly as supplied.
|
|
105
87
|
|
|
106
88
|
this.skipAutomaticSimplification = true;
|
|
89
|
+
|
|
90
|
+
if (valuelessUnit === undefined) {
|
|
91
|
+
this.units = [];
|
|
92
|
+
this.dimensions = BASE_DIMENSIONS.map(function (x) {
|
|
93
|
+
return 0;
|
|
94
|
+
});
|
|
95
|
+
} else if (typeof valuelessUnit === 'string') {
|
|
96
|
+
var u = Unit.parse(valuelessUnit);
|
|
97
|
+
this.units = u.units;
|
|
98
|
+
this.dimensions = u.dimensions;
|
|
99
|
+
} else if ((0, _is.isUnit)(valuelessUnit) && valuelessUnit.value === null) {
|
|
100
|
+
// clone from valuelessUnit
|
|
101
|
+
this.fixPrefix = valuelessUnit.fixPrefix;
|
|
102
|
+
this.skipAutomaticSimplification = valuelessUnit.skipAutomaticSimplification;
|
|
103
|
+
this.dimensions = valuelessUnit.dimensions.slice(0);
|
|
104
|
+
this.units = valuelessUnit.units.map(function (u) {
|
|
105
|
+
return (0, _extends2["default"])({}, u);
|
|
106
|
+
});
|
|
107
|
+
} else {
|
|
108
|
+
throw new TypeError('Second parameter in Unit constructor must be a string or valueless Unit');
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
this.value = this._normalize(value);
|
|
107
112
|
}
|
|
108
113
|
/**
|
|
109
114
|
* Attach type information
|
|
@@ -24,10 +24,13 @@ var createUnitFunction = /* #__PURE__ */(0, _factory.factory)(name, dependencies
|
|
|
24
24
|
* Syntax:
|
|
25
25
|
*
|
|
26
26
|
* math.unit(unit : string)
|
|
27
|
-
* math.unit(value : number,
|
|
27
|
+
* math.unit(value : number, valuelessUnit : Unit)
|
|
28
|
+
* math.unit(value : number, valuelessUnit : string)
|
|
28
29
|
*
|
|
29
30
|
* Examples:
|
|
30
31
|
*
|
|
32
|
+
* const kph = math.unit('km/h') // returns Unit km/h (valueless)
|
|
33
|
+
* const v = math.unit(25, kph) // returns Unit 25 km/h
|
|
31
34
|
* const a = math.unit(5, 'cm') // returns Unit 50 mm
|
|
32
35
|
* const b = math.unit('23 kg') // returns Unit 23 kg
|
|
33
36
|
* a.to('m') // returns Unit 0.05 m
|
|
@@ -52,7 +55,7 @@ var createUnitFunction = /* #__PURE__ */(0, _factory.factory)(name, dependencies
|
|
|
52
55
|
allowNoUnits: true
|
|
53
56
|
}); // a unit with value, like '5cm'
|
|
54
57
|
},
|
|
55
|
-
'number | BigNumber | Fraction | Complex, string': function
|
|
58
|
+
'number | BigNumber | Fraction | Complex, string | Unit': function numberBigNumberFractionComplexStringUnit(value, unit) {
|
|
56
59
|
return new Unit(value, unit);
|
|
57
60
|
},
|
|
58
61
|
'number | BigNumber | Fraction': function numberBigNumberFraction(value) {
|
package/lib/cjs/utils/is.js
CHANGED
|
@@ -37,6 +37,7 @@ exports.isParenthesisNode = isParenthesisNode;
|
|
|
37
37
|
exports.isRange = isRange;
|
|
38
38
|
exports.isRangeNode = isRangeNode;
|
|
39
39
|
exports.isRegExp = isRegExp;
|
|
40
|
+
exports.isRelationalNode = isRelationalNode;
|
|
40
41
|
exports.isResultSet = isResultSet;
|
|
41
42
|
exports.isSparseMatrix = isSparseMatrix;
|
|
42
43
|
exports.isString = isString;
|
|
@@ -237,6 +238,10 @@ function isRangeNode(x) {
|
|
|
237
238
|
return x && x.isRangeNode === true && x.constructor.prototype.isNode === true || false;
|
|
238
239
|
}
|
|
239
240
|
|
|
241
|
+
function isRelationalNode(x) {
|
|
242
|
+
return x && x.isRelationalNode === true && x.constructor.prototype.isNode === true || false;
|
|
243
|
+
}
|
|
244
|
+
|
|
240
245
|
function isSymbolNode(x) {
|
|
241
246
|
return x && x.isSymbolNode === true && x.constructor.prototype.isNode === true || false;
|
|
242
247
|
}
|
package/lib/cjs/version.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.version = void 0;
|
|
7
|
-
var version = '11.
|
|
7
|
+
var version = '11.2.0'; // Note: This file is automatically generated when building math.js.
|
|
8
8
|
// Changes made in this file will be overwritten.
|
|
9
9
|
|
|
10
10
|
exports.version = version;
|
package/lib/esm/core/create.js
CHANGED
|
@@ -5,7 +5,7 @@ import * as emitter from './../utils/emitter.js';
|
|
|
5
5
|
import { importFactory } from './function/import.js';
|
|
6
6
|
import { configFactory } from './function/config.js';
|
|
7
7
|
import { factory, isFactory } from '../utils/factory.js';
|
|
8
|
-
import { isAccessorNode, isArray, isArrayNode, isAssignmentNode, isBigNumber, isBlockNode, isBoolean, isChain, isCollection, isComplex, isConditionalNode, isConstantNode, isDate, isDenseMatrix, isFraction, isFunction, isFunctionAssignmentNode, isFunctionNode, isHelp, isIndex, isIndexNode, isMatrix, isNode, isNull, isNumber, isObject, isObjectNode, isOperatorNode, isParenthesisNode, isRange, isRangeNode, isRegExp, isResultSet, isSparseMatrix, isString, isSymbolNode, isUndefined, isUnit } from '../utils/is.js';
|
|
8
|
+
import { isAccessorNode, isArray, isArrayNode, isAssignmentNode, isBigNumber, isBlockNode, isBoolean, isChain, isCollection, isComplex, isConditionalNode, isConstantNode, isDate, isDenseMatrix, isFraction, isFunction, isFunctionAssignmentNode, isFunctionNode, isHelp, isIndex, isIndexNode, isMatrix, isNode, isNull, isNumber, isObject, isObjectNode, isOperatorNode, isParenthesisNode, isRange, isRangeNode, isRelationalNode, isRegExp, isResultSet, isSparseMatrix, isString, isSymbolNode, isUndefined, isUnit } from '../utils/is.js';
|
|
9
9
|
import { ArgumentsError } from '../error/ArgumentsError.js';
|
|
10
10
|
import { DimensionError } from '../error/DimensionError.js';
|
|
11
11
|
import { IndexError } from '../error/IndexError.js';
|
|
@@ -97,6 +97,7 @@ export function create(factories, config) {
|
|
|
97
97
|
isOperatorNode,
|
|
98
98
|
isParenthesisNode,
|
|
99
99
|
isRangeNode,
|
|
100
|
+
isRelationalNode,
|
|
100
101
|
isSymbolNode,
|
|
101
102
|
isChain
|
|
102
103
|
}); // load config function and apply provided config
|