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
@@ -0,0 +1,40 @@
1
+ import { createBitAnd } from '../../function/bitwise/bitAnd.js';
2
+ import { factory } from '../../utils/factory.js';
3
+ import { isCollection } from '../../utils/is.js';
4
+ var name = 'bitAnd';
5
+ var dependencies = ['typed', 'matrix', 'zeros', 'add', 'equalScalar', 'not', 'concat'];
6
+ export var createBitAndTransform = /* #__PURE__ */factory(name, dependencies, _ref => {
7
+ var {
8
+ typed,
9
+ matrix,
10
+ equalScalar,
11
+ zeros,
12
+ not,
13
+ concat
14
+ } = _ref;
15
+ var bitAnd = createBitAnd({
16
+ typed,
17
+ matrix,
18
+ equalScalar,
19
+ zeros,
20
+ not,
21
+ concat
22
+ });
23
+ function bitAndTransform(args, math, scope) {
24
+ var condition1 = args[0].compile().evaluate(scope);
25
+ if (!isCollection(condition1)) {
26
+ if (isNaN(condition1)) {
27
+ return NaN;
28
+ }
29
+ if (condition1 === 0 || condition1 === false) {
30
+ return 0;
31
+ }
32
+ }
33
+ var condition2 = args[1].compile().evaluate(scope);
34
+ return bitAnd(condition1, condition2);
35
+ }
36
+ bitAndTransform.rawArgs = true;
37
+ return bitAndTransform;
38
+ }, {
39
+ isTransformFunction: true
40
+ });
@@ -0,0 +1,41 @@
1
+ import { createBitOr } from '../../function/bitwise/bitOr.js';
2
+ import { factory } from '../../utils/factory.js';
3
+ import { isCollection } from '../../utils/is.js';
4
+ var name = 'bitOr';
5
+ var dependencies = ['typed', 'matrix', 'equalScalar', 'DenseMatrix', 'concat'];
6
+ export var createBitOrTransform = /* #__PURE__ */factory(name, dependencies, _ref => {
7
+ var {
8
+ typed,
9
+ matrix,
10
+ equalScalar,
11
+ DenseMatrix,
12
+ concat
13
+ } = _ref;
14
+ var bitOr = createBitOr({
15
+ typed,
16
+ matrix,
17
+ equalScalar,
18
+ DenseMatrix,
19
+ concat
20
+ });
21
+ function bitOrTransform(args, math, scope) {
22
+ var condition1 = args[0].compile().evaluate(scope);
23
+ if (!isCollection(condition1)) {
24
+ if (isNaN(condition1)) {
25
+ return NaN;
26
+ }
27
+ if (condition1 === -1) {
28
+ return -1;
29
+ }
30
+ if (condition1 === true) {
31
+ return 1;
32
+ }
33
+ }
34
+ var condition2 = args[1].compile().evaluate(scope);
35
+ return bitOr(condition1, condition2);
36
+ }
37
+ bitOrTransform.rawArgs = true;
38
+ return bitOrTransform;
39
+ }, {
40
+ isTransformFunction: true
41
+ });
@@ -50,7 +50,6 @@ export var createForEachTransform = /* #__PURE__ */factory(name, dependencies, _
50
50
  recurse(array.valueOf(), []); // pass Array
51
51
  }
52
52
  });
53
-
54
53
  return forEachTransform;
55
54
  }, {
56
55
  isTransformFunction: true
@@ -0,0 +1,33 @@
1
+ import { createOr } from '../../function/logical/or.js';
2
+ import { factory } from '../../utils/factory.js';
3
+ import { isCollection } from '../../utils/is.js';
4
+ var name = 'or';
5
+ var dependencies = ['typed', 'matrix', 'equalScalar', 'DenseMatrix', 'concat'];
6
+ export var createOrTransform = /* #__PURE__ */factory(name, dependencies, _ref => {
7
+ var {
8
+ typed,
9
+ matrix,
10
+ equalScalar,
11
+ DenseMatrix,
12
+ concat
13
+ } = _ref;
14
+ var or = createOr({
15
+ typed,
16
+ matrix,
17
+ equalScalar,
18
+ DenseMatrix,
19
+ concat
20
+ });
21
+ function orTransform(args, math, scope) {
22
+ var condition1 = args[0].compile().evaluate(scope);
23
+ if (!isCollection(condition1) && or(condition1, false)) {
24
+ return true;
25
+ }
26
+ var condition2 = args[1].compile().evaluate(scope);
27
+ return or(condition1, condition2);
28
+ }
29
+ orTransform.rawArgs = true;
30
+ return orTransform;
31
+ }, {
32
+ isTransformFunction: true
33
+ });
@@ -289,4 +289,8 @@ export { createSumTransform } from './expression/transform/sum.transform.js';
289
289
  export { createQuantileSeqTransform } from './expression/transform/quantileSeq.transform.js';
290
290
  export { createCumSumTransform } from './expression/transform/cumsum.transform.js';
291
291
  export { createVarianceTransform } from './expression/transform/variance.transform.js';
292
- export { createPrintTransform } from './expression/transform/print.transform.js';
292
+ export { createPrintTransform } from './expression/transform/print.transform.js';
293
+ export { createAndTransform } from './expression/transform/and.transform.js';
294
+ export { createOrTransform } from './expression/transform/or.transform.js';
295
+ export { createBitAndTransform } from './expression/transform/bitAnd.transform.js';
296
+ export { createBitOrTransform } from './expression/transform/bitOr.transform.js';
@@ -85,7 +85,6 @@ export var createDerivative = /* #__PURE__ */factory(name, dependencies, _ref =>
85
85
  }
86
86
  */
87
87
  });
88
-
89
88
  typed.removeConversion({
90
89
  from: 'identifier',
91
90
  to: 'SymbolNode',
@@ -118,7 +118,6 @@ export var createRationalize = /* #__PURE__ */factory(name, dependencies, _ref =
118
118
  if (s === sBefore) {
119
119
  break; // No changes : end of the loop
120
120
  }
121
-
122
121
  redoInic = true;
123
122
  sBefore = s;
124
123
  }
@@ -541,7 +540,6 @@ export var createRationalize = /* #__PURE__ */factory(name, dependencies, _ref =
541
540
  r: '(n1^(n2*n3))'
542
541
  } // Power to Power
543
542
  ];
544
-
545
543
  return setRules;
546
544
  } // End rulesRationalize
547
545
 
@@ -899,7 +899,6 @@ export var createSimplify = /* #__PURE__ */factory(name, dependencies, _ref => {
899
899
  // const after = res.toString({parenthesis: 'all'})
900
900
  // console.log('Simplified ' + before + ' to ' + after)
901
901
  }
902
-
903
902
  if (rule.repeat && res !== node) {
904
903
  res = applyRule(res, rule, context);
905
904
  }
@@ -100,7 +100,6 @@ export var createSimplifyConstant = /* #__PURE__ */factory(name, dependencies, _
100
100
  }
101
101
  return new ConstantNode(n); // old parameters: (n.toString(), 'number')
102
102
  },
103
-
104
103
  Complex: function Complex(s) {
105
104
  throw new Error('Cannot convert Complex number to Node');
106
105
  },
@@ -153,7 +153,6 @@ export var createSimplifyCore = /* #__PURE__ */factory(name, dependencies, _ref
153
153
  node = new OperatorNode('-', 'subtract', [a0.args[1], a0.args[0]]);
154
154
  finish = false; // continue to process the new binary node
155
155
  }
156
-
157
156
  if (a0.isUnary() && a0.op === '-') {
158
157
  return a0.args[0];
159
158
  }
@@ -206,7 +205,6 @@ export var createSimplifyCore = /* #__PURE__ */factory(name, dependencies, _ref
206
205
  return new OperatorNode(node.op, node.fn, [a1, _a], node.implicit); // constants on left
207
206
  }
208
207
  }
209
-
210
208
  return new OperatorNode(node.op, node.fn, [_a, a1], node.implicit);
211
209
  }
212
210
  if (node.op === '/') {
@@ -36,14 +36,12 @@ export var createCube = /* #__PURE__ */factory(name, dependencies, _ref => {
36
36
  Complex: function Complex(x) {
37
37
  return x.mul(x).mul(x); // Is faster than pow(x, 3)
38
38
  },
39
-
40
39
  BigNumber: function BigNumber(x) {
41
40
  return x.times(x).times(x);
42
41
  },
43
42
  Fraction: function Fraction(x) {
44
43
  return x.pow(3); // Is faster than mul()mul()mul()
45
44
  },
46
-
47
45
  Unit: function Unit(x) {
48
46
  return x.pow(3);
49
47
  }
@@ -47,7 +47,6 @@ export var createNthRoots = /* #__PURE__ */factory(name, dependencies, _ref => {
47
47
  offset = 2 * +(a.im < 0) + 1; // complex value on the imaginary axis
48
48
  }
49
49
  }
50
-
51
50
  var arg = a.arg();
52
51
  var abs = a.abs();
53
52
  var roots = [];
@@ -38,15 +38,12 @@ export var createUnaryPlus = /* #__PURE__ */factory(name, dependencies, _ref =>
38
38
  Complex: function Complex(x) {
39
39
  return x; // complex numbers are immutable
40
40
  },
41
-
42
41
  BigNumber: function BigNumber(x) {
43
42
  return x; // bignumbers are immutable
44
43
  },
45
-
46
44
  Fraction: function Fraction(x) {
47
45
  return x; // fractions are immutable
48
46
  },
49
-
50
47
  Unit: function Unit(x) {
51
48
  return x.clone();
52
49
  },
@@ -126,7 +126,6 @@ export var createDet = /* #__PURE__ */factory(name, dependencies, _ref => {
126
126
  }
127
127
  if (_k === rows) return matrix[k_][k]; // some zero of the type
128
128
  }
129
-
130
129
  var piv = matrix[k_][k];
131
130
  var piv_ = k === 0 ? 1 : matrix[rowIndices[k - 1]][k - 1];
132
131
  for (var i = k + 1; i < rows; i++) {
@@ -89,7 +89,6 @@ export var createDiff = /* #__PURE__ */factory(name, dependencies, _ref => {
89
89
  if (isMatrix(arr)) {
90
90
  arr = arr.toArray(); // Makes sure arrays like [ matrix([0, 1]), matrix([1, 0]) ] are processed properly
91
91
  }
92
-
93
92
  if (!Array.isArray(arr)) {
94
93
  throw RangeError('Array/Matrix does not have that many dimensions');
95
94
  }
@@ -140,7 +139,6 @@ export var createDiff = /* #__PURE__ */factory(name, dependencies, _ref => {
140
139
  if (!obj1IsArray && !obj2IsArray) {
141
140
  return subtract(obj2, obj1); // Difference is (second - first) NOT (first - second)
142
141
  }
143
-
144
142
  throw TypeError('Cannot calculate difference between 1 array and 1 non-array');
145
143
  }
146
144
 
@@ -40,7 +40,6 @@ export var createMatrixFromColumns = /* #__PURE__ */factory(name, dependencies,
40
40
 
41
41
  // TODO implement this properly for SparseMatrix
42
42
  });
43
-
44
43
  function _createArray(arr) {
45
44
  if (arr.length === 0) throw new TypeError('At least one column is needed to construct a matrix.');
46
45
  var N = checkVectorTypeAndReturnLength(arr[0]);
@@ -40,7 +40,6 @@ export var createMatrixFromRows = /* #__PURE__ */factory(name, dependencies, _re
40
40
 
41
41
  // TODO implement this properly for SparseMatrix
42
42
  });
43
-
44
43
  function _createArray(arr) {
45
44
  if (arr.length === 0) throw new TypeError('At least one row is needed to construct a matrix.');
46
45
  var N = checkVectorTypeAndReturnLength(arr[0]);
@@ -102,7 +102,6 @@ export var createPartitionSelect = /* #__PURE__ */factory(name, dependencies, _r
102
102
  return arr[i]; // return NaN
103
103
  }
104
104
  }
105
-
106
105
  var from = 0;
107
106
  var to = arr.length - 1;
108
107
 
@@ -47,7 +47,6 @@ export var createResize = /* #__PURE__ */factory(name, dependencies, _ref => {
47
47
  if (isMatrix(size)) {
48
48
  size = size.valueOf(); // get Array
49
49
  }
50
-
51
50
  if (isBigNumber(size[0])) {
52
51
  // convert bignumbers to numbers
53
52
  size = size.map(function (value) {
@@ -35,7 +35,6 @@ export var createTranspose = /* #__PURE__ */factory(name, dependencies, _ref =>
35
35
  Matrix: transposeMatrix,
36
36
  any: clone // scalars
37
37
  });
38
-
39
38
  function transposeMatrix(x) {
40
39
  // matrix size
41
40
  var size = x.size();
@@ -111,7 +111,6 @@ export var createPickRandom = /* #__PURE__ */factory(name, dependencies, _ref =>
111
111
  if (weights) {
112
112
  weights = weights.valueOf(); // get Array
113
113
  }
114
-
115
114
  if (elementWise === true) {
116
115
  possibles = flatten(possibles);
117
116
  weights = flatten(weights);
@@ -97,7 +97,6 @@ export var createMedian = /* #__PURE__ */factory(name, dependencies, _ref => {
97
97
  throw new Error('median(A, dim) is not yet supported');
98
98
  // return reduce(arguments[0], arguments[1], ...)
99
99
  },
100
-
101
100
  // median(a, b, c, d, ...)
102
101
  '...': function _(args) {
103
102
  if (containsCollections(args)) {
@@ -44,7 +44,6 @@ export var createProd = /* #__PURE__ */factory(name, dependencies, _ref => {
44
44
  throw new Error('prod(A, dim) is not yet supported');
45
45
  // return reduce(arguments[0], arguments[1], math.prod)
46
46
  },
47
-
48
47
  // prod(a, b, c, d, ...)
49
48
  '...': function _(args) {
50
49
  return _prod(args);
@@ -44,7 +44,6 @@ export var createIsNegative = /* #__PURE__ */factory(name, dependencies, _ref =>
44
44
  Fraction: function Fraction(x) {
45
45
  return x.s < 0; // It's enough to decide on the sign
46
46
  },
47
-
48
47
  Unit: typed.referToSelf(self => x => typed.find(self, x.valueType())(x.value)),
49
48
  'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))
50
49
  });
@@ -207,7 +207,6 @@ export function nthRootNumber(a) {
207
207
  return inv ? 1 / x : x
208
208
  */
209
209
  }
210
-
211
210
  export function signNumber(x) {
212
211
  return sign(x);
213
212
  }
@@ -11,7 +11,6 @@ export function gammaNumber(n) {
11
11
  if (n > 171) {
12
12
  return Infinity; // Will overflow
13
13
  }
14
-
15
14
  return product(1, n - 1);
16
15
  }
17
16
  if (n < 0.5) {
@@ -20,7 +19,6 @@ export function gammaNumber(n) {
20
19
  if (n >= 171.35) {
21
20
  return Infinity; // will overflow
22
21
  }
23
-
24
22
  if (n > 85.0) {
25
23
  // Extended Stirling Approx
26
24
  var twoN = n * n;
@@ -68,7 +68,6 @@ export var createComplex = /* #__PURE__ */factory(name, dependencies, _ref => {
68
68
  string: function string(x) {
69
69
  return Complex(x); // for example '2 + 3i'
70
70
  },
71
-
72
71
  null: function _null(x) {
73
72
  return Complex(0);
74
73
  },
@@ -66,7 +66,6 @@ export var createFraction = /* #__PURE__ */factory(name, dependencies, _ref => {
66
66
  Fraction: function Fraction(x) {
67
67
  return x; // fractions are immutable
68
68
  },
69
-
70
69
  Unit: typed.referToSelf(self => x => {
71
70
  var clone = x.clone();
72
71
  clone.value = self(x.value);
@@ -1068,7 +1068,6 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, _ref =>
1068
1068
  if (simp.value && isComplex(simp.value)) {
1069
1069
  str = '(' + str + ')'; // Surround complex values with ( ) to enable better parsing
1070
1070
  }
1071
-
1072
1071
  if (unitStr.length > 0 && str.length > 0) {
1073
1072
  str += ' ';
1074
1073
  }
@@ -3514,7 +3513,6 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, _ref =>
3514
3513
  if (x !== null && x !== void 0 && x.isFraction) return new _BigNumber(x.n).div(x.d).times(x.s);
3515
3514
  return new _BigNumber(x + ''); // stringify to prevent constructor error
3516
3515
  },
3517
-
3518
3516
  Fraction: function Fraction(x) {
3519
3517
  return new _Fraction(x);
3520
3518
  },
@@ -44,12 +44,10 @@ export var createUnitFunction = /* #__PURE__ */factory(name, dependencies, _ref
44
44
  if (Unit.isValuelessUnit(x)) {
45
45
  return new Unit(null, x); // a pure unit
46
46
  }
47
-
48
47
  return Unit.parse(x, {
49
48
  allowNoUnits: true
50
49
  }); // a unit with value, like '5cm'
51
50
  },
52
-
53
51
  'number | BigNumber | Fraction | Complex, string | Unit': function numberBigNumberFractionComplexStringUnit(value, unit) {
54
52
  return new Unit(value, unit);
55
53
  },
@@ -164,6 +164,5 @@ export function typeOf(x) {
164
164
  if (x.constructor && x.constructor.name) return x.constructor.name;
165
165
  return 'Object'; // just in case
166
166
  }
167
-
168
167
  return t; // can be 'string', 'number', 'boolean', 'function', 'bigint', ...
169
168
  }
@@ -175,7 +175,6 @@ export var latexFunctions = {
175
175
  1: '\\left\\|${args[0]}\\right\\|',
176
176
  2: undefined // use default template
177
177
  },
178
-
179
178
  nthRoot: {
180
179
  2: '\\sqrt[${args[1]}]{${args[0]}}'
181
180
  },
@@ -189,7 +188,6 @@ export var latexFunctions = {
189
188
  1: '\\left\\lfloor${args[0]}\\right\\rceil',
190
189
  2: undefined // use default template
191
190
  },
192
-
193
191
  sign: {
194
192
  1: '\\mathrm{${name}}\\left(${args[0]}\\right)'
195
193
  },
@@ -1,3 +1,3 @@
1
- export var version = '12.1.0';
1
+ export var version = '12.2.1';
2
2
  // Note: This file is automatically generated when building math.js.
3
3
  // Changes made in this file will be overwritten.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mathjs",
3
- "version": "12.1.0",
3
+ "version": "12.2.1",
4
4
  "description": "Math.js is an extensive math library for JavaScript and Node.js. It features a flexible expression parser with support for symbolic computation, comes with a large set of built-in functions and constants, and offers an integrated solution to work with different data types like numbers, big numbers, complex numbers, fractions, units, and matrices.",
5
5
  "author": "Jos de Jong <wjosdejong@gmail.com> (https://github.com/josdejong)",
6
6
  "homepage": "https://mathjs.org",
@@ -25,7 +25,7 @@
25
25
  "unit"
26
26
  ],
27
27
  "dependencies": {
28
- "@babel/runtime": "^7.23.2",
28
+ "@babel/runtime": "^7.23.6",
29
29
  "complex.js": "^2.1.1",
30
30
  "decimal.js": "^10.4.3",
31
31
  "escape-latex": "^1.2.0",
@@ -36,30 +36,30 @@
36
36
  "typed-function": "^4.1.1"
37
37
  },
38
38
  "devDependencies": {
39
- "@babel/core": "7.23.3",
39
+ "@babel/core": "7.23.6",
40
40
  "@babel/plugin-transform-object-assign": "7.23.3",
41
- "@babel/plugin-transform-runtime": "7.23.3",
42
- "@babel/preset-env": "7.23.3",
41
+ "@babel/plugin-transform-runtime": "7.23.6",
42
+ "@babel/preset-env": "7.23.6",
43
43
  "@babel/register": "7.22.15",
44
- "@types/assert": "1.5.9",
45
- "@types/mocha": "10.0.4",
46
- "@typescript-eslint/eslint-plugin": "6.11.0",
47
- "@typescript-eslint/parser": "6.11.0",
44
+ "@types/assert": "1.5.10",
45
+ "@types/mocha": "10.0.6",
46
+ "@typescript-eslint/eslint-plugin": "6.15.0",
47
+ "@typescript-eslint/parser": "6.15.0",
48
48
  "assert": "2.1.0",
49
49
  "babel-loader": "9.1.3",
50
50
  "benchmark": "2.1.4",
51
51
  "c8": "8.0.1",
52
52
  "codecov": "3.8.3",
53
- "core-js": "3.33.2",
53
+ "core-js": "3.34.0",
54
54
  "del": "6.1.1",
55
55
  "dtslint": "4.2.1",
56
- "eslint": "8.53.0",
57
- "eslint-config-prettier": "9.0.0",
56
+ "eslint": "8.56.0",
57
+ "eslint-config-prettier": "9.1.0",
58
58
  "eslint-config-standard": "17.1.0",
59
- "eslint-plugin-import": "2.29.0",
59
+ "eslint-plugin-import": "2.29.1",
60
60
  "eslint-plugin-mocha": "10.2.0",
61
- "eslint-plugin-n": "16.3.1",
62
- "eslint-plugin-prettier": "5.0.1",
61
+ "eslint-plugin-n": "16.5.0",
62
+ "eslint-plugin-prettier": "5.1.0",
63
63
  "eslint-plugin-promise": "6.1.1",
64
64
  "expect-type": "0.17.3",
65
65
  "expr-eval": "2.0.2",
@@ -85,11 +85,11 @@
85
85
  "ndarray-pack": "1.2.1",
86
86
  "numericjs": "1.2.6",
87
87
  "pad-right": "0.2.2",
88
- "prettier": "3.1.0",
88
+ "prettier": "3.1.1",
89
89
  "process": "0.11.10",
90
90
  "sylvester": "0.0.21",
91
- "ts-node": "10.9.1",
92
- "typescript": "5.2.2",
91
+ "ts-node": "10.9.2",
92
+ "typescript": "5.3.3",
93
93
  "webpack": "5.89.0",
94
94
  "zeros": "1.0.0"
95
95
  },