mathjs 12.1.0 → 12.2.1
Sign up to get free protection for your applications and to get access to all the features.
- package/HISTORY.md +13 -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/function/import.js +0 -1
- package/lib/cjs/core/function/typed.js +0 -1
- package/lib/cjs/entry/dependenciesAny/dependenciesAndTransform.generated.js +29 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesBitAndTransform.generated.js +29 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesBitOrTransform.generated.js +25 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesOrTransform.generated.js +25 -0
- package/lib/cjs/entry/dependenciesAny.generated.js +28 -0
- package/lib/cjs/entry/impureFunctionsAny.generated.js +33 -1
- package/lib/cjs/entry/pureFunctionsAny.generated.js +7 -7
- package/lib/cjs/expression/embeddedDocs/function/matrix/eigs.js +1 -1
- package/lib/cjs/expression/function/help.js +0 -1
- package/lib/cjs/expression/node/AccessorNode.js +2 -2
- package/lib/cjs/expression/node/ArrayNode.js +2 -2
- package/lib/cjs/expression/node/AssignmentNode.js +2 -2
- package/lib/cjs/expression/node/BlockNode.js +2 -2
- package/lib/cjs/expression/node/ConditionalNode.js +2 -2
- package/lib/cjs/expression/node/ConstantNode.js +2 -2
- package/lib/cjs/expression/node/FunctionAssignmentNode.js +2 -2
- package/lib/cjs/expression/node/FunctionNode.js +6 -6
- package/lib/cjs/expression/node/IndexNode.js +2 -2
- package/lib/cjs/expression/node/Node.js +18 -5
- package/lib/cjs/expression/node/ObjectNode.js +2 -2
- package/lib/cjs/expression/node/OperatorNode.js +10 -3
- package/lib/cjs/expression/node/ParenthesisNode.js +2 -2
- package/lib/cjs/expression/node/RangeNode.js +2 -2
- package/lib/cjs/expression/node/RelationalNode.js +2 -2
- package/lib/cjs/expression/node/SymbolNode.js +2 -2
- package/lib/cjs/expression/operators.js +0 -2
- package/lib/cjs/expression/parse.js +0 -3
- package/lib/cjs/expression/transform/and.transform.js +39 -0
- package/lib/cjs/expression/transform/bitAnd.transform.js +44 -0
- package/lib/cjs/expression/transform/bitOr.transform.js +45 -0
- package/lib/cjs/expression/transform/forEach.transform.js +0 -1
- package/lib/cjs/expression/transform/or.transform.js +37 -0
- package/lib/cjs/factoriesAny.js +29 -1
- package/lib/cjs/factoriesNumber.js +1 -0
- package/lib/cjs/function/algebra/derivative.js +0 -1
- package/lib/cjs/function/algebra/rationalize.js +0 -2
- package/lib/cjs/function/algebra/simplify.js +0 -1
- package/lib/cjs/function/algebra/simplifyConstant.js +0 -1
- package/lib/cjs/function/algebra/simplifyCore.js +0 -2
- package/lib/cjs/function/arithmetic/cube.js +0 -2
- package/lib/cjs/function/arithmetic/nthRoots.js +0 -1
- package/lib/cjs/function/arithmetic/unaryPlus.js +0 -3
- package/lib/cjs/function/matrix/det.js +0 -1
- package/lib/cjs/function/matrix/diff.js +0 -2
- package/lib/cjs/function/matrix/matrixFromColumns.js +0 -1
- package/lib/cjs/function/matrix/matrixFromRows.js +0 -1
- package/lib/cjs/function/matrix/partitionSelect.js +0 -1
- package/lib/cjs/function/matrix/resize.js +0 -1
- package/lib/cjs/function/matrix/transpose.js +0 -1
- package/lib/cjs/function/probability/pickRandom.js +0 -1
- package/lib/cjs/function/statistics/median.js +0 -1
- package/lib/cjs/function/statistics/prod.js +0 -1
- package/lib/cjs/function/utils/isNegative.js +0 -1
- package/lib/cjs/header.js +2 -2
- package/lib/cjs/plain/number/arithmetic.js +0 -1
- package/lib/cjs/plain/number/probability.js +0 -2
- package/lib/cjs/type/complex/function/complex.js +0 -1
- package/lib/cjs/type/fraction/function/fraction.js +0 -1
- package/lib/cjs/type/unit/Unit.js +0 -2
- package/lib/cjs/type/unit/function/unit.js +0 -2
- package/lib/cjs/utils/is.js +0 -1
- package/lib/cjs/utils/latex.js +0 -2
- package/lib/cjs/version.js +1 -1
- package/lib/esm/core/function/import.js +0 -1
- package/lib/esm/core/function/typed.js +0 -1
- package/lib/esm/entry/dependenciesAny/dependenciesAndTransform.generated.js +22 -0
- package/lib/esm/entry/dependenciesAny/dependenciesBitAndTransform.generated.js +22 -0
- package/lib/esm/entry/dependenciesAny/dependenciesBitOrTransform.generated.js +18 -0
- package/lib/esm/entry/dependenciesAny/dependenciesOrTransform.generated.js +18 -0
- package/lib/esm/entry/dependenciesAny.generated.js +4 -0
- package/lib/esm/entry/impureFunctionsAny.generated.js +35 -3
- package/lib/esm/entry/pureFunctionsAny.generated.js +8 -8
- package/lib/esm/expression/embeddedDocs/function/matrix/eigs.js +1 -1
- package/lib/esm/expression/function/help.js +0 -1
- package/lib/esm/expression/node/AccessorNode.js +1 -1
- package/lib/esm/expression/node/ArrayNode.js +1 -1
- package/lib/esm/expression/node/AssignmentNode.js +1 -1
- package/lib/esm/expression/node/BlockNode.js +1 -1
- package/lib/esm/expression/node/ConditionalNode.js +1 -1
- package/lib/esm/expression/node/ConstantNode.js +1 -1
- package/lib/esm/expression/node/FunctionAssignmentNode.js +1 -1
- package/lib/esm/expression/node/FunctionNode.js +5 -5
- package/lib/esm/expression/node/IndexNode.js +1 -1
- package/lib/esm/expression/node/Node.js +15 -4
- package/lib/esm/expression/node/ObjectNode.js +1 -1
- package/lib/esm/expression/node/OperatorNode.js +9 -2
- package/lib/esm/expression/node/ParenthesisNode.js +1 -1
- package/lib/esm/expression/node/RangeNode.js +1 -2
- package/lib/esm/expression/node/RelationalNode.js +1 -1
- package/lib/esm/expression/node/SymbolNode.js +1 -1
- package/lib/esm/expression/operators.js +0 -2
- package/lib/esm/expression/parse.js +0 -3
- package/lib/esm/expression/transform/and.transform.js +35 -0
- package/lib/esm/expression/transform/bitAnd.transform.js +40 -0
- package/lib/esm/expression/transform/bitOr.transform.js +41 -0
- package/lib/esm/expression/transform/forEach.transform.js +0 -1
- package/lib/esm/expression/transform/or.transform.js +33 -0
- package/lib/esm/factoriesAny.js +5 -1
- package/lib/esm/function/algebra/derivative.js +0 -1
- package/lib/esm/function/algebra/rationalize.js +0 -2
- package/lib/esm/function/algebra/simplify.js +0 -1
- package/lib/esm/function/algebra/simplifyConstant.js +0 -1
- package/lib/esm/function/algebra/simplifyCore.js +0 -2
- package/lib/esm/function/arithmetic/cube.js +0 -2
- package/lib/esm/function/arithmetic/nthRoots.js +0 -1
- package/lib/esm/function/arithmetic/unaryPlus.js +0 -3
- package/lib/esm/function/matrix/det.js +0 -1
- package/lib/esm/function/matrix/diff.js +0 -2
- package/lib/esm/function/matrix/matrixFromColumns.js +0 -1
- package/lib/esm/function/matrix/matrixFromRows.js +0 -1
- package/lib/esm/function/matrix/partitionSelect.js +0 -1
- package/lib/esm/function/matrix/resize.js +0 -1
- package/lib/esm/function/matrix/transpose.js +0 -1
- package/lib/esm/function/probability/pickRandom.js +0 -1
- package/lib/esm/function/statistics/median.js +0 -1
- package/lib/esm/function/statistics/prod.js +0 -1
- package/lib/esm/function/utils/isNegative.js +0 -1
- package/lib/esm/plain/number/arithmetic.js +0 -1
- package/lib/esm/plain/number/probability.js +0 -2
- package/lib/esm/type/complex/function/complex.js +0 -1
- package/lib/esm/type/fraction/function/fraction.js +0 -1
- package/lib/esm/type/unit/Unit.js +0 -2
- package/lib/esm/type/unit/function/unit.js +0 -2
- package/lib/esm/utils/is.js +0 -1
- package/lib/esm/utils/latex.js +0 -2
- package/lib/esm/version.js +1 -1
- package/package.json +18 -18
@@ -190,14 +190,14 @@ var createRelationalNode = exports.createRelationalNode = /* #__PURE__ */(0, _fa
|
|
190
190
|
* @returns {RelationalNode}
|
191
191
|
*/
|
192
192
|
}, {
|
193
|
-
key: "
|
193
|
+
key: "_toHTML",
|
194
194
|
value:
|
195
195
|
/**
|
196
196
|
* Get HTML representation
|
197
197
|
* @param {Object} options
|
198
198
|
* @return {string} str
|
199
199
|
*/
|
200
|
-
function
|
200
|
+
function _toHTML(options) {
|
201
201
|
var parenthesis = options && options.parenthesis ? options.parenthesis : 'keep';
|
202
202
|
var precedence = (0, _operators.getPrecedence)(this, parenthesis, options && options.implicit);
|
203
203
|
var paramStrings = this.params.map(function (p, index) {
|
@@ -154,8 +154,8 @@ var createSymbolNode = exports.createSymbolNode = /* #__PURE__ */(0, _factory.fa
|
|
154
154
|
* @override
|
155
155
|
*/
|
156
156
|
}, {
|
157
|
-
key: "
|
158
|
-
value: function
|
157
|
+
key: "_toHTML",
|
158
|
+
value: function _toHTML(options) {
|
159
159
|
var name = (0, _string.escape)(this.name);
|
160
160
|
if (name === 'true' || name === 'false') {
|
161
161
|
return '<span class="math-symbol math-boolean">' + name + '</span>';
|
@@ -178,7 +178,6 @@ var properties = exports.properties = [{
|
|
178
178
|
// they're 2 dimensional, so parens aren't needed
|
179
179
|
// in LaTeX
|
180
180
|
},
|
181
|
-
|
182
181
|
'OperatorNode:dotMultiply': {
|
183
182
|
op: '.*',
|
184
183
|
associativity: 'left',
|
@@ -229,7 +228,6 @@ var properties = exports.properties = [{
|
|
229
228
|
// LaTeX because it's 2 dimensional
|
230
229
|
// (it's on top)
|
231
230
|
},
|
232
|
-
|
233
231
|
'OperatorNode:dotPow': {
|
234
232
|
op: '.^',
|
235
233
|
associativity: 'right',
|
@@ -172,7 +172,6 @@ var createParse = exports.createParse = /* #__PURE__ */(0, _factory.factory)(nam
|
|
172
172
|
t: '\t'
|
173
173
|
// note that \u is handled separately in parseStringToken()
|
174
174
|
};
|
175
|
-
|
176
175
|
function initialState() {
|
177
176
|
return {
|
178
177
|
extraNodes: {},
|
@@ -873,7 +872,6 @@ var createParse = exports.createParse = /* #__PURE__ */(0, _factory.factory)(nam
|
|
873
872
|
to: 'to',
|
874
873
|
"in": 'to' // alias of 'to'
|
875
874
|
};
|
876
|
-
|
877
875
|
while ((0, _object.hasOwnProperty)(operators, state.token)) {
|
878
876
|
name = state.token;
|
879
877
|
fn = operators[name];
|
@@ -930,7 +928,6 @@ var createParse = exports.createParse = /* #__PURE__ */(0, _factory.factory)(nam
|
|
930
928
|
node = new RangeNode(params[0], params[1]); // start, end
|
931
929
|
}
|
932
930
|
}
|
933
|
-
|
934
931
|
return node;
|
935
932
|
}
|
936
933
|
|
@@ -0,0 +1,39 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.createAndTransform = void 0;
|
7
|
+
var _and = require("../../function/logical/and.js");
|
8
|
+
var _factory = require("../../utils/factory.js");
|
9
|
+
var _is = require("../../utils/is.js");
|
10
|
+
var name = 'and';
|
11
|
+
var dependencies = ['typed', 'matrix', 'zeros', 'add', 'equalScalar', 'not', 'concat'];
|
12
|
+
var createAndTransform = exports.createAndTransform = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
13
|
+
var typed = _ref.typed,
|
14
|
+
matrix = _ref.matrix,
|
15
|
+
equalScalar = _ref.equalScalar,
|
16
|
+
zeros = _ref.zeros,
|
17
|
+
not = _ref.not,
|
18
|
+
concat = _ref.concat;
|
19
|
+
var and = (0, _and.createAnd)({
|
20
|
+
typed: typed,
|
21
|
+
matrix: matrix,
|
22
|
+
equalScalar: equalScalar,
|
23
|
+
zeros: zeros,
|
24
|
+
not: not,
|
25
|
+
concat: concat
|
26
|
+
});
|
27
|
+
function andTransform(args, math, scope) {
|
28
|
+
var condition1 = args[0].compile().evaluate(scope);
|
29
|
+
if (!(0, _is.isCollection)(condition1) && !and(condition1, true)) {
|
30
|
+
return false;
|
31
|
+
}
|
32
|
+
var condition2 = args[1].compile().evaluate(scope);
|
33
|
+
return and(condition1, condition2);
|
34
|
+
}
|
35
|
+
andTransform.rawArgs = true;
|
36
|
+
return andTransform;
|
37
|
+
}, {
|
38
|
+
isTransformFunction: true
|
39
|
+
});
|
@@ -0,0 +1,44 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.createBitAndTransform = void 0;
|
7
|
+
var _bitAnd = require("../../function/bitwise/bitAnd.js");
|
8
|
+
var _factory = require("../../utils/factory.js");
|
9
|
+
var _is = require("../../utils/is.js");
|
10
|
+
var name = 'bitAnd';
|
11
|
+
var dependencies = ['typed', 'matrix', 'zeros', 'add', 'equalScalar', 'not', 'concat'];
|
12
|
+
var createBitAndTransform = exports.createBitAndTransform = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
13
|
+
var typed = _ref.typed,
|
14
|
+
matrix = _ref.matrix,
|
15
|
+
equalScalar = _ref.equalScalar,
|
16
|
+
zeros = _ref.zeros,
|
17
|
+
not = _ref.not,
|
18
|
+
concat = _ref.concat;
|
19
|
+
var bitAnd = (0, _bitAnd.createBitAnd)({
|
20
|
+
typed: typed,
|
21
|
+
matrix: matrix,
|
22
|
+
equalScalar: equalScalar,
|
23
|
+
zeros: zeros,
|
24
|
+
not: not,
|
25
|
+
concat: concat
|
26
|
+
});
|
27
|
+
function bitAndTransform(args, math, scope) {
|
28
|
+
var condition1 = args[0].compile().evaluate(scope);
|
29
|
+
if (!(0, _is.isCollection)(condition1)) {
|
30
|
+
if (isNaN(condition1)) {
|
31
|
+
return NaN;
|
32
|
+
}
|
33
|
+
if (condition1 === 0 || condition1 === false) {
|
34
|
+
return 0;
|
35
|
+
}
|
36
|
+
}
|
37
|
+
var condition2 = args[1].compile().evaluate(scope);
|
38
|
+
return bitAnd(condition1, condition2);
|
39
|
+
}
|
40
|
+
bitAndTransform.rawArgs = true;
|
41
|
+
return bitAndTransform;
|
42
|
+
}, {
|
43
|
+
isTransformFunction: true
|
44
|
+
});
|
@@ -0,0 +1,45 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.createBitOrTransform = void 0;
|
7
|
+
var _bitOr = require("../../function/bitwise/bitOr.js");
|
8
|
+
var _factory = require("../../utils/factory.js");
|
9
|
+
var _is = require("../../utils/is.js");
|
10
|
+
var name = 'bitOr';
|
11
|
+
var dependencies = ['typed', 'matrix', 'equalScalar', 'DenseMatrix', 'concat'];
|
12
|
+
var createBitOrTransform = exports.createBitOrTransform = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
13
|
+
var typed = _ref.typed,
|
14
|
+
matrix = _ref.matrix,
|
15
|
+
equalScalar = _ref.equalScalar,
|
16
|
+
DenseMatrix = _ref.DenseMatrix,
|
17
|
+
concat = _ref.concat;
|
18
|
+
var bitOr = (0, _bitOr.createBitOr)({
|
19
|
+
typed: typed,
|
20
|
+
matrix: matrix,
|
21
|
+
equalScalar: equalScalar,
|
22
|
+
DenseMatrix: DenseMatrix,
|
23
|
+
concat: concat
|
24
|
+
});
|
25
|
+
function bitOrTransform(args, math, scope) {
|
26
|
+
var condition1 = args[0].compile().evaluate(scope);
|
27
|
+
if (!(0, _is.isCollection)(condition1)) {
|
28
|
+
if (isNaN(condition1)) {
|
29
|
+
return NaN;
|
30
|
+
}
|
31
|
+
if (condition1 === -1) {
|
32
|
+
return -1;
|
33
|
+
}
|
34
|
+
if (condition1 === true) {
|
35
|
+
return 1;
|
36
|
+
}
|
37
|
+
}
|
38
|
+
var condition2 = args[1].compile().evaluate(scope);
|
39
|
+
return bitOr(condition1, condition2);
|
40
|
+
}
|
41
|
+
bitOrTransform.rawArgs = true;
|
42
|
+
return bitOrTransform;
|
43
|
+
}, {
|
44
|
+
isTransformFunction: true
|
45
|
+
});
|
@@ -0,0 +1,37 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.createOrTransform = void 0;
|
7
|
+
var _or = require("../../function/logical/or.js");
|
8
|
+
var _factory = require("../../utils/factory.js");
|
9
|
+
var _is = require("../../utils/is.js");
|
10
|
+
var name = 'or';
|
11
|
+
var dependencies = ['typed', 'matrix', 'equalScalar', 'DenseMatrix', 'concat'];
|
12
|
+
var createOrTransform = exports.createOrTransform = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
13
|
+
var typed = _ref.typed,
|
14
|
+
matrix = _ref.matrix,
|
15
|
+
equalScalar = _ref.equalScalar,
|
16
|
+
DenseMatrix = _ref.DenseMatrix,
|
17
|
+
concat = _ref.concat;
|
18
|
+
var or = (0, _or.createOr)({
|
19
|
+
typed: typed,
|
20
|
+
matrix: matrix,
|
21
|
+
equalScalar: equalScalar,
|
22
|
+
DenseMatrix: DenseMatrix,
|
23
|
+
concat: concat
|
24
|
+
});
|
25
|
+
function orTransform(args, math, scope) {
|
26
|
+
var condition1 = args[0].compile().evaluate(scope);
|
27
|
+
if (!(0, _is.isCollection)(condition1) && or(condition1, false)) {
|
28
|
+
return true;
|
29
|
+
}
|
30
|
+
var condition2 = args[1].compile().evaluate(scope);
|
31
|
+
return or(condition1, condition2);
|
32
|
+
}
|
33
|
+
orTransform.rawArgs = true;
|
34
|
+
return orTransform;
|
35
|
+
}, {
|
36
|
+
isTransformFunction: true
|
37
|
+
});
|
package/lib/cjs/factoriesAny.js
CHANGED
@@ -69,6 +69,12 @@ Object.defineProperty(exports, "createAnd", {
|
|
69
69
|
return _and.createAnd;
|
70
70
|
}
|
71
71
|
});
|
72
|
+
Object.defineProperty(exports, "createAndTransform", {
|
73
|
+
enumerable: true,
|
74
|
+
get: function get() {
|
75
|
+
return _andTransform.createAndTransform;
|
76
|
+
}
|
77
|
+
});
|
72
78
|
Object.defineProperty(exports, "createApply", {
|
73
79
|
enumerable: true,
|
74
80
|
get: function get() {
|
@@ -183,6 +189,12 @@ Object.defineProperty(exports, "createBitAnd", {
|
|
183
189
|
return _bitAnd.createBitAnd;
|
184
190
|
}
|
185
191
|
});
|
192
|
+
Object.defineProperty(exports, "createBitAndTransform", {
|
193
|
+
enumerable: true,
|
194
|
+
get: function get() {
|
195
|
+
return _bitAndTransform.createBitAndTransform;
|
196
|
+
}
|
197
|
+
});
|
186
198
|
Object.defineProperty(exports, "createBitNot", {
|
187
199
|
enumerable: true,
|
188
200
|
get: function get() {
|
@@ -195,6 +207,12 @@ Object.defineProperty(exports, "createBitOr", {
|
|
195
207
|
return _bitOr.createBitOr;
|
196
208
|
}
|
197
209
|
});
|
210
|
+
Object.defineProperty(exports, "createBitOrTransform", {
|
211
|
+
enumerable: true,
|
212
|
+
get: function get() {
|
213
|
+
return _bitOrTransform.createBitOrTransform;
|
214
|
+
}
|
215
|
+
});
|
198
216
|
Object.defineProperty(exports, "createBitXor", {
|
199
217
|
enumerable: true,
|
200
218
|
get: function get() {
|
@@ -1353,6 +1371,12 @@ Object.defineProperty(exports, "createOr", {
|
|
1353
1371
|
return _or.createOr;
|
1354
1372
|
}
|
1355
1373
|
});
|
1374
|
+
Object.defineProperty(exports, "createOrTransform", {
|
1375
|
+
enumerable: true,
|
1376
|
+
get: function get() {
|
1377
|
+
return _orTransform.createOrTransform;
|
1378
|
+
}
|
1379
|
+
});
|
1356
1380
|
Object.defineProperty(exports, "createParenthesisNode", {
|
1357
1381
|
enumerable: true,
|
1358
1382
|
get: function get() {
|
@@ -2434,4 +2458,8 @@ var _sumTransform = require("./expression/transform/sum.transform.js");
|
|
2434
2458
|
var _quantileSeqTransform = require("./expression/transform/quantileSeq.transform.js");
|
2435
2459
|
var _cumsumTransform = require("./expression/transform/cumsum.transform.js");
|
2436
2460
|
var _varianceTransform = require("./expression/transform/variance.transform.js");
|
2437
|
-
var _printTransform = require("./expression/transform/print.transform.js");
|
2461
|
+
var _printTransform = require("./expression/transform/print.transform.js");
|
2462
|
+
var _andTransform = require("./expression/transform/and.transform.js");
|
2463
|
+
var _orTransform = require("./expression/transform/or.transform.js");
|
2464
|
+
var _bitAndTransform = require("./expression/transform/bitAnd.transform.js");
|
2465
|
+
var _bitOrTransform = require("./expression/transform/bitOr.transform.js");
|
@@ -983,6 +983,7 @@ var createSubset = exports.createSubset = /* #__PURE__ */(0, _factory.factory)('
|
|
983
983
|
});
|
984
984
|
// TODO: provide number+array implementations for map, filter, forEach, zeros, ...?
|
985
985
|
// TODO: create range implementation for range?
|
986
|
+
|
986
987
|
// probability
|
987
988
|
var createCombinations = exports.createCombinations = createNumberFactory('combinations', _index.combinationsNumber);
|
988
989
|
var createGamma = exports.createGamma = createNumberFactory('gamma', _index.gammaNumber);
|
@@ -122,7 +122,6 @@ var createRationalize = exports.createRationalize = /* #__PURE__ */(0, _factory.
|
|
122
122
|
if (s === sBefore) {
|
123
123
|
break; // No changes : end of the loop
|
124
124
|
}
|
125
|
-
|
126
125
|
redoInic = true;
|
127
126
|
sBefore = s;
|
128
127
|
}
|
@@ -547,7 +546,6 @@ var createRationalize = exports.createRationalize = /* #__PURE__ */(0, _factory.
|
|
547
546
|
r: '(n1^(n2*n3))'
|
548
547
|
} // Power to Power
|
549
548
|
];
|
550
|
-
|
551
549
|
return setRules;
|
552
550
|
} // End rulesRationalize
|
553
551
|
|
@@ -909,7 +909,6 @@ var createSimplify = exports.createSimplify = /* #__PURE__ */(0, _factory.factor
|
|
909
909
|
// const after = res.toString({parenthesis: 'all'})
|
910
910
|
// console.log('Simplified ' + before + ' to ' + after)
|
911
911
|
}
|
912
|
-
|
913
912
|
if (rule.repeat && res !== node) {
|
914
913
|
res = applyRule(res, rule, context);
|
915
914
|
}
|
@@ -110,7 +110,6 @@ var createSimplifyConstant = exports.createSimplifyConstant = /* #__PURE__ */(0,
|
|
110
110
|
}
|
111
111
|
return new ConstantNode(n); // old parameters: (n.toString(), 'number')
|
112
112
|
},
|
113
|
-
|
114
113
|
Complex: function Complex(s) {
|
115
114
|
throw new Error('Cannot convert Complex number to Node');
|
116
115
|
},
|
@@ -158,7 +158,6 @@ var createSimplifyCore = exports.createSimplifyCore = /* #__PURE__ */(0, _factor
|
|
158
158
|
node = new OperatorNode('-', 'subtract', [a0.args[1], a0.args[0]]);
|
159
159
|
finish = false; // continue to process the new binary node
|
160
160
|
}
|
161
|
-
|
162
161
|
if (a0.isUnary() && a0.op === '-') {
|
163
162
|
return a0.args[0];
|
164
163
|
}
|
@@ -211,7 +210,6 @@ var createSimplifyCore = exports.createSimplifyCore = /* #__PURE__ */(0, _factor
|
|
211
210
|
return new OperatorNode(node.op, node.fn, [a1, _a], node.implicit); // constants on left
|
212
211
|
}
|
213
212
|
}
|
214
|
-
|
215
213
|
return new OperatorNode(node.op, node.fn, [_a, a1], node.implicit);
|
216
214
|
}
|
217
215
|
if (node.op === '/') {
|
@@ -40,14 +40,12 @@ var createCube = exports.createCube = /* #__PURE__ */(0, _factory.factory)(name,
|
|
40
40
|
Complex: function Complex(x) {
|
41
41
|
return x.mul(x).mul(x); // Is faster than pow(x, 3)
|
42
42
|
},
|
43
|
-
|
44
43
|
BigNumber: function BigNumber(x) {
|
45
44
|
return x.times(x).times(x);
|
46
45
|
},
|
47
46
|
Fraction: function Fraction(x) {
|
48
47
|
return x.pow(3); // Is faster than mul()mul()mul()
|
49
48
|
},
|
50
|
-
|
51
49
|
Unit: function Unit(x) {
|
52
50
|
return x.pow(3);
|
53
51
|
}
|
@@ -42,15 +42,12 @@ var createUnaryPlus = exports.createUnaryPlus = /* #__PURE__ */(0, _factory.fact
|
|
42
42
|
Complex: function Complex(x) {
|
43
43
|
return x; // complex numbers are immutable
|
44
44
|
},
|
45
|
-
|
46
45
|
BigNumber: function BigNumber(x) {
|
47
46
|
return x; // bignumbers are immutable
|
48
47
|
},
|
49
|
-
|
50
48
|
Fraction: function Fraction(x) {
|
51
49
|
return x; // fractions are immutable
|
52
50
|
},
|
53
|
-
|
54
51
|
Unit: function Unit(x) {
|
55
52
|
return x.clone();
|
56
53
|
},
|
@@ -132,7 +132,6 @@ var createDet = exports.createDet = /* #__PURE__ */(0, _factory.factory)(name, d
|
|
132
132
|
}
|
133
133
|
if (_k === rows) return matrix[k_][k]; // some zero of the type
|
134
134
|
}
|
135
|
-
|
136
135
|
var piv = matrix[k_][k];
|
137
136
|
var piv_ = k === 0 ? 1 : matrix[rowIndices[k - 1]][k - 1];
|
138
137
|
for (var i = k + 1; i < rows; i++) {
|
@@ -101,7 +101,6 @@ var createDiff = exports.createDiff = /* #__PURE__ */(0, _factory.factory)(name,
|
|
101
101
|
if ((0, _is.isMatrix)(arr)) {
|
102
102
|
arr = arr.toArray(); // Makes sure arrays like [ matrix([0, 1]), matrix([1, 0]) ] are processed properly
|
103
103
|
}
|
104
|
-
|
105
104
|
if (!Array.isArray(arr)) {
|
106
105
|
throw RangeError('Array/Matrix does not have that many dimensions');
|
107
106
|
}
|
@@ -152,7 +151,6 @@ var createDiff = exports.createDiff = /* #__PURE__ */(0, _factory.factory)(name,
|
|
152
151
|
if (!obj1IsArray && !obj2IsArray) {
|
153
152
|
return subtract(obj2, obj1); // Difference is (second - first) NOT (first - second)
|
154
153
|
}
|
155
|
-
|
156
154
|
throw TypeError('Cannot calculate difference between 1 array and 1 non-array');
|
157
155
|
}
|
158
156
|
|
@@ -49,7 +49,6 @@ var createMatrixFromColumns = exports.createMatrixFromColumns = /* #__PURE__ */(
|
|
49
49
|
|
50
50
|
// TODO implement this properly for SparseMatrix
|
51
51
|
});
|
52
|
-
|
53
52
|
function _createArray(arr) {
|
54
53
|
if (arr.length === 0) throw new TypeError('At least one column is needed to construct a matrix.');
|
55
54
|
var N = checkVectorTypeAndReturnLength(arr[0]);
|
@@ -49,7 +49,6 @@ var createMatrixFromRows = exports.createMatrixFromRows = /* #__PURE__ */(0, _fa
|
|
49
49
|
|
50
50
|
// TODO implement this properly for SparseMatrix
|
51
51
|
});
|
52
|
-
|
53
52
|
function _createArray(arr) {
|
54
53
|
if (arr.length === 0) throw new TypeError('At least one row is needed to construct a matrix.');
|
55
54
|
var N = checkVectorTypeAndReturnLength(arr[0]);
|
@@ -51,7 +51,6 @@ var createResize = exports.createResize = /* #__PURE__ */(0, _factory.factory)(n
|
|
51
51
|
if ((0, _is.isMatrix)(size)) {
|
52
52
|
size = size.valueOf(); // get Array
|
53
53
|
}
|
54
|
-
|
55
54
|
if ((0, _is.isBigNumber)(size[0])) {
|
56
55
|
// convert bignumbers to numbers
|
57
56
|
size = size.map(function (value) {
|
@@ -114,7 +114,6 @@ var createPickRandom = exports.createPickRandom = /* #__PURE__ */(0, _factory.fa
|
|
114
114
|
if (weights) {
|
115
115
|
weights = weights.valueOf(); // get Array
|
116
116
|
}
|
117
|
-
|
118
117
|
if (elementWise === true) {
|
119
118
|
possibles = (0, _array.flatten)(possibles);
|
120
119
|
weights = (0, _array.flatten)(weights);
|
@@ -101,7 +101,6 @@ var createMedian = exports.createMedian = /* #__PURE__ */(0, _factory.factory)(n
|
|
101
101
|
throw new Error('median(A, dim) is not yet supported');
|
102
102
|
// return reduce(arguments[0], arguments[1], ...)
|
103
103
|
},
|
104
|
-
|
105
104
|
// median(a, b, c, d, ...)
|
106
105
|
'...': function _(args) {
|
107
106
|
if ((0, _collection.containsCollections)(args)) {
|
@@ -48,7 +48,6 @@ var createProd = exports.createProd = /* #__PURE__ */(0, _factory.factory)(name,
|
|
48
48
|
throw new Error('prod(A, dim) is not yet supported');
|
49
49
|
// return reduce(arguments[0], arguments[1], math.prod)
|
50
50
|
},
|
51
|
-
|
52
51
|
// prod(a, b, c, d, ...)
|
53
52
|
'...': function _(args) {
|
54
53
|
return _prod(args);
|
@@ -48,7 +48,6 @@ var createIsNegative = exports.createIsNegative = /* #__PURE__ */(0, _factory.fa
|
|
48
48
|
Fraction: function Fraction(x) {
|
49
49
|
return x.s < 0; // It's enough to decide on the sign
|
50
50
|
},
|
51
|
-
|
52
51
|
Unit: typed.referToSelf(function (self) {
|
53
52
|
return function (x) {
|
54
53
|
return typed.find(self, x.valueType())(x.value);
|
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 12.1
|
10
|
-
* @date 2023-
|
9
|
+
* @version 12.2.1
|
10
|
+
* @date 2023-12-20
|
11
11
|
*
|
12
12
|
* @license
|
13
13
|
* Copyright (C) 2013-2023 Jos de Jong <wjosdejong@gmail.com>
|
@@ -21,7 +21,6 @@ function gammaNumber(n) {
|
|
21
21
|
if (n > 171) {
|
22
22
|
return Infinity; // Will overflow
|
23
23
|
}
|
24
|
-
|
25
24
|
return (0, _product.product)(1, n - 1);
|
26
25
|
}
|
27
26
|
if (n < 0.5) {
|
@@ -30,7 +29,6 @@ function gammaNumber(n) {
|
|
30
29
|
if (n >= 171.35) {
|
31
30
|
return Infinity; // will overflow
|
32
31
|
}
|
33
|
-
|
34
32
|
if (n > 85.0) {
|
35
33
|
// Extended Stirling Approx
|
36
34
|
var twoN = n * n;
|
@@ -1080,7 +1080,6 @@ var createUnitClass = exports.createUnitClass = /* #__PURE__ */(0, _factory.fact
|
|
1080
1080
|
if (simp.value && (0, _is.isComplex)(simp.value)) {
|
1081
1081
|
str = '(' + str + ')'; // Surround complex values with ( ) to enable better parsing
|
1082
1082
|
}
|
1083
|
-
|
1084
1083
|
if (unitStr.length > 0 && str.length > 0) {
|
1085
1084
|
str += ' ';
|
1086
1085
|
}
|
@@ -3528,7 +3527,6 @@ var createUnitClass = exports.createUnitClass = /* #__PURE__ */(0, _factory.fact
|
|
3528
3527
|
if (x !== null && x !== void 0 && x.isFraction) return new _BigNumber(x.n).div(x.d).times(x.s);
|
3529
3528
|
return new _BigNumber(x + ''); // stringify to prevent constructor error
|
3530
3529
|
},
|
3531
|
-
|
3532
3530
|
Fraction: function Fraction(x) {
|
3533
3531
|
return new _Fraction(x);
|
3534
3532
|
},
|
@@ -48,12 +48,10 @@ var createUnitFunction = exports.createUnitFunction = /* #__PURE__ */(0, _factor
|
|
48
48
|
if (Unit.isValuelessUnit(x)) {
|
49
49
|
return new Unit(null, x); // a pure unit
|
50
50
|
}
|
51
|
-
|
52
51
|
return Unit.parse(x, {
|
53
52
|
allowNoUnits: true
|
54
53
|
}); // a unit with value, like '5cm'
|
55
54
|
},
|
56
|
-
|
57
55
|
'number | BigNumber | Fraction | Complex, string | Unit': function numberBigNumberFractionComplexStringUnit(value, unit) {
|
58
56
|
return new Unit(value, unit);
|
59
57
|
},
|
package/lib/cjs/utils/is.js
CHANGED
package/lib/cjs/utils/latex.js
CHANGED
@@ -185,7 +185,6 @@ var latexFunctions = exports.latexFunctions = {
|
|
185
185
|
1: '\\left\\|${args[0]}\\right\\|',
|
186
186
|
2: undefined // use default template
|
187
187
|
},
|
188
|
-
|
189
188
|
nthRoot: {
|
190
189
|
2: '\\sqrt[${args[1]}]{${args[0]}}'
|
191
190
|
},
|
@@ -199,7 +198,6 @@ var latexFunctions = exports.latexFunctions = {
|
|
199
198
|
1: '\\left\\lfloor${args[0]}\\right\\rceil',
|
200
199
|
2: undefined // use default template
|
201
200
|
},
|
202
|
-
|
203
201
|
sign: {
|
204
202
|
1: '\\mathrm{${name}}\\left(${args[0]}\\right)'
|
205
203
|
},
|
package/lib/cjs/version.js
CHANGED
@@ -4,6 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.version = void 0;
|
7
|
-
var version = exports.version = '12.1
|
7
|
+
var version = exports.version = '12.2.1';
|
8
8
|
// Note: This file is automatically generated when building math.js.
|
9
9
|
// Changes made in this file will be overwritten.
|