mathjs 12.1.0 → 12.2.1

Sign up to get free protection for your applications and to get access to all the features.
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.