mathjs 12.1.0 → 12.2.1

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.
Files changed (133) hide show
  1. package/HISTORY.md +13 -0
  2. package/lib/browser/math.js +1 -1
  3. package/lib/browser/math.js.LICENSE.txt +2 -2
  4. package/lib/browser/math.js.map +1 -1
  5. package/lib/cjs/core/function/import.js +0 -1
  6. package/lib/cjs/core/function/typed.js +0 -1
  7. package/lib/cjs/entry/dependenciesAny/dependenciesAndTransform.generated.js +29 -0
  8. package/lib/cjs/entry/dependenciesAny/dependenciesBitAndTransform.generated.js +29 -0
  9. package/lib/cjs/entry/dependenciesAny/dependenciesBitOrTransform.generated.js +25 -0
  10. package/lib/cjs/entry/dependenciesAny/dependenciesOrTransform.generated.js +25 -0
  11. package/lib/cjs/entry/dependenciesAny.generated.js +28 -0
  12. package/lib/cjs/entry/impureFunctionsAny.generated.js +33 -1
  13. package/lib/cjs/entry/pureFunctionsAny.generated.js +7 -7
  14. package/lib/cjs/expression/embeddedDocs/function/matrix/eigs.js +1 -1
  15. package/lib/cjs/expression/function/help.js +0 -1
  16. package/lib/cjs/expression/node/AccessorNode.js +2 -2
  17. package/lib/cjs/expression/node/ArrayNode.js +2 -2
  18. package/lib/cjs/expression/node/AssignmentNode.js +2 -2
  19. package/lib/cjs/expression/node/BlockNode.js +2 -2
  20. package/lib/cjs/expression/node/ConditionalNode.js +2 -2
  21. package/lib/cjs/expression/node/ConstantNode.js +2 -2
  22. package/lib/cjs/expression/node/FunctionAssignmentNode.js +2 -2
  23. package/lib/cjs/expression/node/FunctionNode.js +6 -6
  24. package/lib/cjs/expression/node/IndexNode.js +2 -2
  25. package/lib/cjs/expression/node/Node.js +18 -5
  26. package/lib/cjs/expression/node/ObjectNode.js +2 -2
  27. package/lib/cjs/expression/node/OperatorNode.js +10 -3
  28. package/lib/cjs/expression/node/ParenthesisNode.js +2 -2
  29. package/lib/cjs/expression/node/RangeNode.js +2 -2
  30. package/lib/cjs/expression/node/RelationalNode.js +2 -2
  31. package/lib/cjs/expression/node/SymbolNode.js +2 -2
  32. package/lib/cjs/expression/operators.js +0 -2
  33. package/lib/cjs/expression/parse.js +0 -3
  34. package/lib/cjs/expression/transform/and.transform.js +39 -0
  35. package/lib/cjs/expression/transform/bitAnd.transform.js +44 -0
  36. package/lib/cjs/expression/transform/bitOr.transform.js +45 -0
  37. package/lib/cjs/expression/transform/forEach.transform.js +0 -1
  38. package/lib/cjs/expression/transform/or.transform.js +37 -0
  39. package/lib/cjs/factoriesAny.js +29 -1
  40. package/lib/cjs/factoriesNumber.js +1 -0
  41. package/lib/cjs/function/algebra/derivative.js +0 -1
  42. package/lib/cjs/function/algebra/rationalize.js +0 -2
  43. package/lib/cjs/function/algebra/simplify.js +0 -1
  44. package/lib/cjs/function/algebra/simplifyConstant.js +0 -1
  45. package/lib/cjs/function/algebra/simplifyCore.js +0 -2
  46. package/lib/cjs/function/arithmetic/cube.js +0 -2
  47. package/lib/cjs/function/arithmetic/nthRoots.js +0 -1
  48. package/lib/cjs/function/arithmetic/unaryPlus.js +0 -3
  49. package/lib/cjs/function/matrix/det.js +0 -1
  50. package/lib/cjs/function/matrix/diff.js +0 -2
  51. package/lib/cjs/function/matrix/matrixFromColumns.js +0 -1
  52. package/lib/cjs/function/matrix/matrixFromRows.js +0 -1
  53. package/lib/cjs/function/matrix/partitionSelect.js +0 -1
  54. package/lib/cjs/function/matrix/resize.js +0 -1
  55. package/lib/cjs/function/matrix/transpose.js +0 -1
  56. package/lib/cjs/function/probability/pickRandom.js +0 -1
  57. package/lib/cjs/function/statistics/median.js +0 -1
  58. package/lib/cjs/function/statistics/prod.js +0 -1
  59. package/lib/cjs/function/utils/isNegative.js +0 -1
  60. package/lib/cjs/header.js +2 -2
  61. package/lib/cjs/plain/number/arithmetic.js +0 -1
  62. package/lib/cjs/plain/number/probability.js +0 -2
  63. package/lib/cjs/type/complex/function/complex.js +0 -1
  64. package/lib/cjs/type/fraction/function/fraction.js +0 -1
  65. package/lib/cjs/type/unit/Unit.js +0 -2
  66. package/lib/cjs/type/unit/function/unit.js +0 -2
  67. package/lib/cjs/utils/is.js +0 -1
  68. package/lib/cjs/utils/latex.js +0 -2
  69. package/lib/cjs/version.js +1 -1
  70. package/lib/esm/core/function/import.js +0 -1
  71. package/lib/esm/core/function/typed.js +0 -1
  72. package/lib/esm/entry/dependenciesAny/dependenciesAndTransform.generated.js +22 -0
  73. package/lib/esm/entry/dependenciesAny/dependenciesBitAndTransform.generated.js +22 -0
  74. package/lib/esm/entry/dependenciesAny/dependenciesBitOrTransform.generated.js +18 -0
  75. package/lib/esm/entry/dependenciesAny/dependenciesOrTransform.generated.js +18 -0
  76. package/lib/esm/entry/dependenciesAny.generated.js +4 -0
  77. package/lib/esm/entry/impureFunctionsAny.generated.js +35 -3
  78. package/lib/esm/entry/pureFunctionsAny.generated.js +8 -8
  79. package/lib/esm/expression/embeddedDocs/function/matrix/eigs.js +1 -1
  80. package/lib/esm/expression/function/help.js +0 -1
  81. package/lib/esm/expression/node/AccessorNode.js +1 -1
  82. package/lib/esm/expression/node/ArrayNode.js +1 -1
  83. package/lib/esm/expression/node/AssignmentNode.js +1 -1
  84. package/lib/esm/expression/node/BlockNode.js +1 -1
  85. package/lib/esm/expression/node/ConditionalNode.js +1 -1
  86. package/lib/esm/expression/node/ConstantNode.js +1 -1
  87. package/lib/esm/expression/node/FunctionAssignmentNode.js +1 -1
  88. package/lib/esm/expression/node/FunctionNode.js +5 -5
  89. package/lib/esm/expression/node/IndexNode.js +1 -1
  90. package/lib/esm/expression/node/Node.js +15 -4
  91. package/lib/esm/expression/node/ObjectNode.js +1 -1
  92. package/lib/esm/expression/node/OperatorNode.js +9 -2
  93. package/lib/esm/expression/node/ParenthesisNode.js +1 -1
  94. package/lib/esm/expression/node/RangeNode.js +1 -2
  95. package/lib/esm/expression/node/RelationalNode.js +1 -1
  96. package/lib/esm/expression/node/SymbolNode.js +1 -1
  97. package/lib/esm/expression/operators.js +0 -2
  98. package/lib/esm/expression/parse.js +0 -3
  99. package/lib/esm/expression/transform/and.transform.js +35 -0
  100. package/lib/esm/expression/transform/bitAnd.transform.js +40 -0
  101. package/lib/esm/expression/transform/bitOr.transform.js +41 -0
  102. package/lib/esm/expression/transform/forEach.transform.js +0 -1
  103. package/lib/esm/expression/transform/or.transform.js +33 -0
  104. package/lib/esm/factoriesAny.js +5 -1
  105. package/lib/esm/function/algebra/derivative.js +0 -1
  106. package/lib/esm/function/algebra/rationalize.js +0 -2
  107. package/lib/esm/function/algebra/simplify.js +0 -1
  108. package/lib/esm/function/algebra/simplifyConstant.js +0 -1
  109. package/lib/esm/function/algebra/simplifyCore.js +0 -2
  110. package/lib/esm/function/arithmetic/cube.js +0 -2
  111. package/lib/esm/function/arithmetic/nthRoots.js +0 -1
  112. package/lib/esm/function/arithmetic/unaryPlus.js +0 -3
  113. package/lib/esm/function/matrix/det.js +0 -1
  114. package/lib/esm/function/matrix/diff.js +0 -2
  115. package/lib/esm/function/matrix/matrixFromColumns.js +0 -1
  116. package/lib/esm/function/matrix/matrixFromRows.js +0 -1
  117. package/lib/esm/function/matrix/partitionSelect.js +0 -1
  118. package/lib/esm/function/matrix/resize.js +0 -1
  119. package/lib/esm/function/matrix/transpose.js +0 -1
  120. package/lib/esm/function/probability/pickRandom.js +0 -1
  121. package/lib/esm/function/statistics/median.js +0 -1
  122. package/lib/esm/function/statistics/prod.js +0 -1
  123. package/lib/esm/function/utils/isNegative.js +0 -1
  124. package/lib/esm/plain/number/arithmetic.js +0 -1
  125. package/lib/esm/plain/number/probability.js +0 -2
  126. package/lib/esm/type/complex/function/complex.js +0 -1
  127. package/lib/esm/type/fraction/function/fraction.js +0 -1
  128. package/lib/esm/type/unit/Unit.js +0 -2
  129. package/lib/esm/type/unit/function/unit.js +0 -2
  130. package/lib/esm/utils/is.js +0 -1
  131. package/lib/esm/utils/latex.js +0 -2
  132. package/lib/esm/version.js +1 -1
  133. 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: "toHTML",
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 toHTML(options) {
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: "toHTML",
158
- value: function toHTML(options) {
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
+ });
@@ -54,7 +54,6 @@ var createForEachTransform = exports.createForEachTransform = /* #__PURE__ */(0,
54
54
  recurse(array.valueOf(), []); // pass Array
55
55
  }
56
56
  });
57
-
58
57
  return forEachTransform;
59
58
  }, {
60
59
  isTransformFunction: true
@@ -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
+ });
@@ -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);
@@ -89,7 +89,6 @@ var createDerivative = exports.createDerivative = /* #__PURE__ */(0, _factory.fa
89
89
  }
90
90
  */
91
91
  });
92
-
93
92
  typed.removeConversion({
94
93
  from: 'identifier',
95
94
  to: 'SymbolNode',
@@ -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
  }
@@ -51,7 +51,6 @@ var createNthRoots = exports.createNthRoots = /* #__PURE__ */(0, _factory.factor
51
51
  offset = 2 * +(a.im < 0) + 1; // complex value on the imaginary axis
52
52
  }
53
53
  }
54
-
55
54
  var arg = a.arg();
56
55
  var abs = a.abs();
57
56
  var roots = [];
@@ -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]);
@@ -108,7 +108,6 @@ var createPartitionSelect = exports.createPartitionSelect = /* #__PURE__ */(0, _
108
108
  return arr[i]; // return NaN
109
109
  }
110
110
  }
111
-
112
111
  var from = 0;
113
112
  var to = arr.length - 1;
114
113
 
@@ -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) {
@@ -41,7 +41,6 @@ var createTranspose = exports.createTranspose = /* #__PURE__ */(0, _factory.fact
41
41
  Matrix: transposeMatrix,
42
42
  any: _object.clone // scalars
43
43
  });
44
-
45
44
  function transposeMatrix(x) {
46
45
  // matrix size
47
46
  var size = x.size();
@@ -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.0
10
- * @date 2023-11-17
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>
@@ -238,7 +238,6 @@ function nthRootNumber(a) {
238
238
  return inv ? 1 / x : x
239
239
  */
240
240
  }
241
-
242
241
  function signNumber(x) {
243
242
  return (0, _number.sign)(x);
244
243
  }
@@ -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;
@@ -72,7 +72,6 @@ var createComplex = exports.createComplex = /* #__PURE__ */(0, _factory.factory)
72
72
  string: function string(x) {
73
73
  return Complex(x); // for example '2 + 3i'
74
74
  },
75
-
76
75
  "null": function _null(x) {
77
76
  return Complex(0);
78
77
  },
@@ -70,7 +70,6 @@ var createFraction = exports.createFraction = /* #__PURE__ */(0, _factory.factor
70
70
  Fraction: function Fraction(x) {
71
71
  return x; // fractions are immutable
72
72
  },
73
-
74
73
  Unit: typed.referToSelf(function (self) {
75
74
  return function (x) {
76
75
  var clone = x.clone();
@@ -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
  },
@@ -212,6 +212,5 @@ function typeOf(x) {
212
212
  if (x.constructor && x.constructor.name) return x.constructor.name;
213
213
  return 'Object'; // just in case
214
214
  }
215
-
216
215
  return t; // can be 'string', 'number', 'boolean', 'function', 'bigint', ...
217
216
  }
@@ -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
  },
@@ -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.0';
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.