mathjs 9.5.1 → 10.0.2

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 (75) hide show
  1. package/HISTORY.md +37 -0
  2. package/bin/cli.js +0 -0
  3. package/docs/reference/constants.md +1 -1
  4. package/docs/reference/functions/parser.md +4 -4
  5. package/examples/expressions.js +1 -1
  6. package/lib/browser/math.js +6 -6
  7. package/lib/browser/math.js.map +1 -1
  8. package/lib/cjs/constants.js +1 -1
  9. package/lib/cjs/core/function/config.js +1 -1
  10. package/lib/cjs/core/function/import.js +2 -1
  11. package/lib/cjs/entry/dependenciesAny/dependenciesIntersect.generated.js +6 -0
  12. package/lib/cjs/entry/dependenciesAny.generated.js +999 -999
  13. package/lib/cjs/entry/dependenciesNumber.generated.js +581 -581
  14. package/lib/cjs/entry/impureFunctionsAny.generated.js +314 -313
  15. package/lib/cjs/entry/impureFunctionsNumber.generated.js +223 -222
  16. package/lib/cjs/entry/mainAny.js +8 -8
  17. package/lib/cjs/entry/mainNumber.js +8 -8
  18. package/lib/cjs/entry/pureFunctionsAny.generated.js +1102 -1100
  19. package/lib/cjs/entry/pureFunctionsNumber.generated.js +375 -375
  20. package/lib/cjs/entry/typeChecks.js +12 -12
  21. package/lib/cjs/expression/Parser.js +1 -1
  22. package/lib/cjs/expression/function/parser.js +4 -4
  23. package/lib/cjs/expression/operators.js +1 -1
  24. package/lib/cjs/factoriesAny.js +660 -660
  25. package/lib/cjs/factoriesNumber.js +268 -237
  26. package/lib/cjs/function/algebra/simplify.js +3 -0
  27. package/lib/cjs/function/arithmetic/round.js +2 -2
  28. package/lib/cjs/function/geometry/intersect.js +12 -13
  29. package/lib/cjs/function/probability/gamma.js +28 -30
  30. package/lib/cjs/header.js +2 -2
  31. package/lib/cjs/plain/bignumber/arithmetic.js +2 -2
  32. package/lib/cjs/plain/number/arithmetic.js +10 -10
  33. package/lib/cjs/plain/number/constants.js +1 -1
  34. package/lib/cjs/plain/number/logical.js +1 -1
  35. package/lib/cjs/plain/number/probability.js +2 -1
  36. package/lib/cjs/plain/number/trigonometry.js +1 -1
  37. package/lib/cjs/plain/number/utils.js +1 -1
  38. package/lib/cjs/type/matrix/SparseMatrix.js +19 -15
  39. package/lib/cjs/type/unit/Unit.js +2 -2
  40. package/lib/cjs/type/unit/physicalConstants.js +1 -1
  41. package/lib/cjs/utils/array.js +14 -14
  42. package/lib/cjs/utils/bignumber/bitwise.js +1 -1
  43. package/lib/cjs/utils/customs.js +5 -5
  44. package/lib/cjs/utils/factory.js +3 -3
  45. package/lib/cjs/utils/function.js +1 -1
  46. package/lib/cjs/utils/is.js +23 -23
  47. package/lib/cjs/utils/latex.js +2 -1
  48. package/lib/cjs/utils/map.js +3 -3
  49. package/lib/cjs/utils/noop.js +1 -1
  50. package/lib/cjs/utils/number.js +11 -7
  51. package/lib/cjs/utils/object.js +8 -8
  52. package/lib/cjs/utils/snapshot.js +3 -3
  53. package/lib/cjs/utils/string.js +2 -2
  54. package/lib/cjs/version.js +1 -1
  55. package/lib/esm/core/function/import.js +2 -1
  56. package/lib/esm/entry/dependenciesAny/dependenciesIntersect.generated.js +4 -0
  57. package/lib/esm/entry/dependenciesAny.generated.js +270 -270
  58. package/lib/esm/entry/dependenciesNumber.generated.js +163 -163
  59. package/lib/esm/entry/impureFunctionsAny.generated.js +301 -301
  60. package/lib/esm/entry/impureFunctionsNumber.generated.js +211 -211
  61. package/lib/esm/entry/pureFunctionsAny.generated.js +818 -816
  62. package/lib/esm/entry/pureFunctionsNumber.generated.js +234 -234
  63. package/lib/esm/expression/Parser.js +1 -1
  64. package/lib/esm/expression/function/parser.js +4 -4
  65. package/lib/esm/function/algebra/simplify.js +3 -0
  66. package/lib/esm/function/arithmetic/round.js +2 -2
  67. package/lib/esm/function/geometry/intersect.js +12 -12
  68. package/lib/esm/function/probability/gamma.js +28 -30
  69. package/lib/esm/type/matrix/SparseMatrix.js +19 -15
  70. package/lib/esm/type/unit/Unit.js +2 -2
  71. package/lib/esm/utils/number.js +1 -1
  72. package/lib/esm/utils/snapshot.js +2 -2
  73. package/lib/esm/version.js +1 -1
  74. package/package.json +17 -17
  75. package/types/index.d.ts +47 -47
@@ -383,6 +383,9 @@ var createSimplify = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fu
383
383
  {
384
384
  l: 'n1/(n2/n3)',
385
385
  r: '(n1*n3)/n2'
386
+ }, {
387
+ l: 'n1/(-n2)',
388
+ r: '-n1/n2'
386
389
  }];
387
390
  /**
388
391
  * Parse the string array of rules into nodes
@@ -23,9 +23,9 @@ var _algorithm3 = require("../../type/matrix/utils/algorithm14.js");
23
23
 
24
24
  var _index = require("../../plain/number/index.js");
25
25
 
26
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
26
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
27
27
 
28
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
28
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
29
29
 
30
30
  var NO_INT = 'Number of decimals in function round must be an integer';
31
31
  var name = 'round';
@@ -5,12 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.createIntersect = void 0;
7
7
 
8
- var _is = require("../../utils/is.js");
9
-
10
8
  var _factory = require("../../utils/factory.js");
11
9
 
12
10
  var name = 'intersect';
13
- var dependencies = ['typed', 'config', 'abs', 'add', 'addScalar', 'matrix', 'multiply', 'multiplyScalar', 'divideScalar', 'subtract', 'smaller', 'equalScalar', 'flatten'];
11
+ var dependencies = ['typed', 'config', 'abs', 'add', 'addScalar', 'matrix', 'multiply', 'multiplyScalar', 'divideScalar', 'subtract', 'smaller', 'equalScalar', 'flatten', 'isZero', 'isNumeric'];
14
12
  var createIntersect = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
15
13
  var typed = _ref.typed,
16
14
  config = _ref.config,
@@ -24,7 +22,9 @@ var createIntersect = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
24
22
  subtract = _ref.subtract,
25
23
  smaller = _ref.smaller,
26
24
  equalScalar = _ref.equalScalar,
27
- flatten = _ref.flatten;
25
+ flatten = _ref.flatten,
26
+ isZero = _ref.isZero,
27
+ isNumeric = _ref.isNumeric;
28
28
 
29
29
  /**
30
30
  * Calculates the point of intersection of two lines in two or three dimensions
@@ -151,21 +151,16 @@ var createIntersect = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
151
151
  return arr;
152
152
  }
153
153
 
154
- function _isNumeric(a) {
155
- // intersect supports numbers and bignumbers
156
- return typeof a === 'number' || (0, _is.isBigNumber)(a);
157
- }
158
-
159
154
  function _2d(x) {
160
- return x.length === 2 && _isNumeric(x[0]) && _isNumeric(x[1]);
155
+ return x.length === 2 && isNumeric(x[0]) && isNumeric(x[1]);
161
156
  }
162
157
 
163
158
  function _3d(x) {
164
- return x.length === 3 && _isNumeric(x[0]) && _isNumeric(x[1]) && _isNumeric(x[2]);
159
+ return x.length === 3 && isNumeric(x[0]) && isNumeric(x[1]) && isNumeric(x[2]);
165
160
  }
166
161
 
167
162
  function _4d(x) {
168
- return x.length === 4 && _isNumeric(x[0]) && _isNumeric(x[1]) && _isNumeric(x[2]) && _isNumeric(x[3]);
163
+ return x.length === 4 && isNumeric(x[0]) && isNumeric(x[1]) && isNumeric(x[2]) && isNumeric(x[3]);
169
164
  }
170
165
 
171
166
  function _intersect2d(p1a, p1b, p2a, p2b) {
@@ -174,6 +169,7 @@ var createIntersect = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
174
169
  var d1 = subtract(o1, p1b);
175
170
  var d2 = subtract(o2, p2b);
176
171
  var det = subtract(multiplyScalar(d1[0], d2[1]), multiplyScalar(d2[0], d1[1]));
172
+ if (isZero(det)) return null;
177
173
 
178
174
  if (smaller(abs(det), config.epsilon)) {
179
175
  return null;
@@ -206,7 +202,10 @@ var createIntersect = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
206
202
 
207
203
  var d2121 = _intersect3dHelper(x2, x1, x2, x1, y2, y1, y2, y1, z2, z1, z2, z1);
208
204
 
209
- var ta = divideScalar(subtract(multiplyScalar(d1343, d4321), multiplyScalar(d1321, d4343)), subtract(multiplyScalar(d2121, d4343), multiplyScalar(d4321, d4321)));
205
+ var numerator = subtract(multiplyScalar(d1343, d4321), multiplyScalar(d1321, d4343));
206
+ var denominator = subtract(multiplyScalar(d2121, d4343), multiplyScalar(d4321, d4321));
207
+ if (isZero(denominator)) return null;
208
+ var ta = divideScalar(numerator, denominator);
210
209
  var tb = divideScalar(addScalar(d1343, multiplyScalar(ta, d4321)), d4343);
211
210
  var pax = addScalar(x1, multiplyScalar(ta, subtract(x2, x1)));
212
211
  var pay = addScalar(y1, multiplyScalar(ta, subtract(y2, y1)));
@@ -49,44 +49,42 @@ var createGamma = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
49
49
  Complex: function Complex(n) {
50
50
  if (n.im === 0) {
51
51
  return this(n.re);
52
- }
52
+ } // Lanczos approximation doesn't work well with real part lower than 0.5
53
+ // So reflection formula is required
54
+
55
+
56
+ if (n.re < 0.5) {
57
+ // Euler's reflection formula
58
+ // gamma(1-z) * gamma(z) = PI / sin(PI * z)
59
+ // real part of Z should not be integer [sin(PI) == 0 -> 1/0 - undefined]
60
+ // thanks to imperfect sin implementation sin(PI * n) != 0
61
+ // we can safely use it anyway
62
+ var _t = new _Complex(1 - n.re, -n.im);
63
+
64
+ var r = new _Complex(Math.PI * n.re, Math.PI * n.im);
65
+ return new _Complex(Math.PI).div(r.sin()).div(this(_t));
66
+ } // Lanczos approximation
67
+ // z -= 1
68
+
53
69
 
54
- n = new _Complex(n.re - 1, n.im);
55
- var x = new _Complex(_index.gammaP[0], 0);
70
+ n = new _Complex(n.re - 1, n.im); // x = gammaPval[0]
71
+
72
+ var x = new _Complex(_index.gammaP[0], 0); // for (i, gammaPval) in enumerate(gammaP):
56
73
 
57
74
  for (var i = 1; i < _index.gammaP.length; ++i) {
58
- var real = n.re + i; // x += p[i]/(n+i)
75
+ // x += gammaPval / (z + i)
76
+ var gammaPval = new _Complex(_index.gammaP[i], 0);
77
+ x = x.add(gammaPval.div(n.add(i)));
78
+ } // t = z + gammaG + 0.5
59
79
 
60
- var den = real * real + n.im * n.im;
61
80
 
62
- if (den !== 0) {
63
- x.re += _index.gammaP[i] * real / den;
64
- x.im += -(_index.gammaP[i] * n.im) / den;
65
- } else {
66
- x.re = _index.gammaP[i] < 0 ? -Infinity : Infinity;
67
- }
68
- }
81
+ var t = new _Complex(n.re + _index.gammaG + 0.5, n.im); // y = sqrt(2 * pi) * t ** (z + 0.5) * exp(-t) * x
69
82
 
70
- var t = new _Complex(n.re + _index.gammaG + 0.5, n.im);
71
83
  var twoPiSqrt = Math.sqrt(2 * Math.PI);
72
- n.re += 0.5;
73
- var result = pow(t, n);
74
-
75
- if (result.im === 0) {
76
- // sqrt(2*PI)*result
77
- result.re *= twoPiSqrt;
78
- } else if (result.re === 0) {
79
- result.im *= twoPiSqrt;
80
- } else {
81
- result.re *= twoPiSqrt;
82
- result.im *= twoPiSqrt;
83
- }
84
-
85
- var r = Math.exp(-t.re); // exp(-t)
84
+ var tpow = t.pow(n.add(0.5));
85
+ var expt = t.neg().exp(); // y = [x] * [sqrt(2 * pi)] * [t ** (z + 0.5)] * [exp(-t)]
86
86
 
87
- t.re = r * Math.cos(-t.im);
88
- t.im = r * Math.sin(-t.im);
89
- return multiplyScalar(multiplyScalar(result, t), x);
87
+ return x.mul(twoPiSqrt).mul(tpow).mul(expt);
90
88
  },
91
89
  BigNumber: function BigNumber(n) {
92
90
  if (n.isInteger()) {
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 9.5.1
10
- * @date 2021-10-13
9
+ * @version 10.0.2
10
+ * @date 2021-12-29
11
11
  *
12
12
  * @license
13
13
  * Copyright (C) 2013-2021 Jos de Jong <wjosdejong@gmail.com>
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.absBigNumber = absBigNumber;
7
7
  exports.addBigNumber = addBigNumber;
8
- exports.subtractBigNumber = subtractBigNumber;
9
- exports.multiplyBigNumber = multiplyBigNumber;
10
8
  exports.divideBigNumber = divideBigNumber;
9
+ exports.multiplyBigNumber = multiplyBigNumber;
10
+ exports.subtractBigNumber = subtractBigNumber;
11
11
  var signature1 = 'BigNumber';
12
12
  var signature2 = 'BigNumber, BigNumber';
13
13
 
@@ -5,33 +5,33 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.absNumber = absNumber;
7
7
  exports.addNumber = addNumber;
8
- exports.subtractNumber = subtractNumber;
9
- exports.multiplyNumber = multiplyNumber;
10
- exports.divideNumber = divideNumber;
11
- exports.unaryMinusNumber = unaryMinusNumber;
12
- exports.unaryPlusNumber = unaryPlusNumber;
13
8
  exports.cbrtNumber = cbrtNumber;
14
9
  exports.ceilNumber = ceilNumber;
15
10
  exports.cubeNumber = cubeNumber;
11
+ exports.divideNumber = divideNumber;
16
12
  exports.expNumber = expNumber;
17
13
  exports.expm1Number = expm1Number;
18
14
  exports.fixNumber = fixNumber;
19
15
  exports.floorNumber = floorNumber;
20
16
  exports.gcdNumber = gcdNumber;
21
17
  exports.lcmNumber = lcmNumber;
22
- exports.logNumber = logNumber;
23
18
  exports.log10Number = log10Number;
24
- exports.log2Number = log2Number;
25
19
  exports.log1pNumber = log1pNumber;
20
+ exports.log2Number = log2Number;
21
+ exports.logNumber = logNumber;
26
22
  exports.modNumber = modNumber;
23
+ exports.multiplyNumber = multiplyNumber;
24
+ exports.normNumber = normNumber;
27
25
  exports.nthRootNumber = nthRootNumber;
26
+ exports.powNumber = powNumber;
27
+ exports.roundNumber = roundNumber;
28
28
  exports.signNumber = signNumber;
29
29
  exports.sqrtNumber = sqrtNumber;
30
30
  exports.squareNumber = squareNumber;
31
+ exports.subtractNumber = subtractNumber;
32
+ exports.unaryMinusNumber = unaryMinusNumber;
33
+ exports.unaryPlusNumber = unaryPlusNumber;
31
34
  exports.xgcdNumber = xgcdNumber;
32
- exports.powNumber = powNumber;
33
- exports.roundNumber = roundNumber;
34
- exports.normNumber = normNumber;
35
35
 
36
36
  var _number = require("../../utils/number.js");
37
37
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.phi = exports.e = exports.tau = exports.pi = void 0;
6
+ exports.tau = exports.pi = exports.phi = exports.e = void 0;
7
7
  var pi = Math.PI;
8
8
  exports.pi = pi;
9
9
  var tau = 2 * Math.PI;
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.andNumber = andNumber;
6
7
  exports.notNumber = notNumber;
7
8
  exports.orNumber = orNumber;
8
9
  exports.xorNumber = xorNumber;
9
- exports.andNumber = andNumber;
10
10
  var n1 = 'number';
11
11
  var n2 = 'number, number';
12
12
 
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.gammaG = void 0;
6
7
  exports.gammaNumber = gammaNumber;
7
- exports.gammaP = exports.gammaG = void 0;
8
+ exports.gammaP = void 0;
8
9
 
9
10
  var _number = require("../../utils/number.js");
10
11
 
@@ -13,8 +13,8 @@ exports.asecNumber = asecNumber;
13
13
  exports.asechNumber = asechNumber;
14
14
  exports.asinNumber = asinNumber;
15
15
  exports.asinhNumber = asinhNumber;
16
- exports.atanNumber = atanNumber;
17
16
  exports.atan2Number = atan2Number;
17
+ exports.atanNumber = atanNumber;
18
18
  exports.atanhNumber = atanhNumber;
19
19
  exports.cosNumber = cosNumber;
20
20
  exports.coshNumber = coshNumber;
@@ -4,10 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.isIntegerNumber = isIntegerNumber;
7
+ exports.isNaNNumber = isNaNNumber;
7
8
  exports.isNegativeNumber = isNegativeNumber;
8
9
  exports.isPositiveNumber = isPositiveNumber;
9
10
  exports.isZeroNumber = isZeroNumber;
10
- exports.isNaNNumber = isNaNNumber;
11
11
 
12
12
  var _number = require("../../utils/number.js");
13
13
 
@@ -433,23 +433,27 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
433
433
 
434
434
  if (!(0, _object.deepStrictEqual)(iSize, sSize)) {
435
435
  throw new _DimensionError.DimensionError(iSize, sSize, '>');
436
- } // offsets
436
+ } // insert the sub matrix
437
437
 
438
438
 
439
- var x0 = index.min()[0];
440
- var y0 = index.min()[1]; // submatrix rows and columns
441
-
442
- var m = sSize[0];
443
- var n = sSize[1]; // loop submatrix
444
-
445
- for (var x = 0; x < m; x++) {
446
- // loop columns
447
- for (var y = 0; y < n; y++) {
448
- // value at i, j
449
- var v = submatrix[x][y]; // invoke set (zero value will remove entry from matrix)
450
-
451
- matrix.set([x + x0, y + y0], v, defaultValue);
452
- }
439
+ if (iSize.length === 1) {
440
+ // if the replacement index only has 1 dimension, go trough each one and set its value
441
+ var range = index.dimension(0);
442
+ range.forEach(function (dataIndex, subIndex) {
443
+ (0, _array.validateIndex)(dataIndex);
444
+ matrix.set([dataIndex, 0], submatrix[subIndex[0]], defaultValue);
445
+ });
446
+ } else {
447
+ // if the replacement index has 2 dimensions, go through each one and set the value in the correct index
448
+ var firstDimensionRange = index.dimension(0);
449
+ var secondDimensionRange = index.dimension(1);
450
+ firstDimensionRange.forEach(function (firstDataIndex, firstSubIndex) {
451
+ (0, _array.validateIndex)(firstDataIndex);
452
+ secondDimensionRange.forEach(function (secondDataIndex, secondSubIndex) {
453
+ (0, _array.validateIndex)(secondDataIndex);
454
+ matrix.set([firstDataIndex, secondDataIndex], submatrix[firstSubIndex[0]][secondSubIndex[0]], defaultValue);
455
+ });
456
+ });
453
457
  }
454
458
  }
455
459
 
@@ -25,9 +25,9 @@ var _object = require("../../utils/object.js");
25
25
 
26
26
  var _constants = require("../../utils/bignumber/constants.js");
27
27
 
28
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
28
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
29
29
 
30
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
30
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
31
31
 
32
32
  var name = 'Unit';
33
33
  var dependencies = ['?on', 'config', 'addScalar', 'subtract', 'multiplyScalar', 'divideScalar', 'pow', 'abs', 'fix', 'round', 'equal', 'isNumeric', 'format', 'number', 'Complex', 'BigNumber', 'Fraction'];
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.createPlanckTemperature = exports.createPlanckCharge = exports.createPlanckTime = exports.createPlanckMass = exports.createPlanckLength = exports.createGravity = exports.createMolarMassC12 = exports.createMolarMass = exports.createWienDisplacement = exports.createStefanBoltzmann = exports.createSecondRadiation = exports.createSackurTetrode = exports.createMolarVolume = exports.createMolarPlanckConstant = exports.createGasConstant = exports.createLoschmidt = exports.createFirstRadiation = exports.createFaraday = exports.createBoltzmann = exports.createAvogadro = exports.createAtomicMass = exports.createEfimovFactor = exports.createWeakMixingAngle = exports.createThomsonCrossSection = exports.createRydberg = exports.createQuantumOfCirculation = exports.createNeutronMass = exports.createDeuteronMass = exports.createProtonMass = exports.createHartreeEnergy = exports.createFineStructure = exports.createFermiCoupling = exports.createElectronMass = exports.createClassicalElectronRadius = exports.createBohrRadius = exports.createJosephson = exports.createKlitzing = exports.createNuclearMagneton = exports.createMagneticFluxQuantum = exports.createInverseConductanceQuantum = exports.createConductanceQuantum = exports.createBohrMagneton = exports.createElementaryCharge = exports.createCoulomb = exports.createVacuumImpedance = exports.createElectricConstant = exports.createMagneticConstant = exports.createReducedPlanckConstant = exports.createPlanckConstant = exports.createGravitationConstant = exports.createSpeedOfLight = void 0;
6
+ exports.createWienDisplacement = exports.createWeakMixingAngle = exports.createVacuumImpedance = exports.createThomsonCrossSection = exports.createStefanBoltzmann = exports.createSpeedOfLight = exports.createSecondRadiation = exports.createSackurTetrode = exports.createRydberg = exports.createReducedPlanckConstant = exports.createQuantumOfCirculation = exports.createProtonMass = exports.createPlanckTime = exports.createPlanckTemperature = exports.createPlanckMass = exports.createPlanckLength = exports.createPlanckConstant = exports.createPlanckCharge = exports.createNuclearMagneton = exports.createNeutronMass = exports.createMolarVolume = exports.createMolarPlanckConstant = exports.createMolarMassC12 = exports.createMolarMass = exports.createMagneticFluxQuantum = exports.createMagneticConstant = exports.createLoschmidt = exports.createKlitzing = exports.createJosephson = exports.createInverseConductanceQuantum = exports.createHartreeEnergy = exports.createGravity = exports.createGravitationConstant = exports.createGasConstant = exports.createFirstRadiation = exports.createFineStructure = exports.createFermiCoupling = exports.createFaraday = exports.createElementaryCharge = exports.createElectronMass = exports.createElectricConstant = exports.createEfimovFactor = exports.createDeuteronMass = exports.createCoulomb = exports.createConductanceQuantum = exports.createClassicalElectronRadius = exports.createBoltzmann = exports.createBohrRadius = exports.createBohrMagneton = exports.createAvogadro = exports.createAtomicMass = void 0;
7
7
 
8
8
  var _factory = require("../../utils/factory.js");
9
9
 
@@ -4,25 +4,25 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.arraySize = arraySize;
7
- exports.validate = validate;
8
- exports.validateIndex = validateIndex;
9
- exports.resize = resize;
10
- exports.reshape = reshape;
11
- exports.processSizesWildcard = processSizesWildcard;
12
- exports.squeeze = squeeze;
13
- exports.unsqueeze = unsqueeze;
14
- exports.flatten = flatten;
15
- exports.map = map;
16
- exports.forEach = forEach;
7
+ exports.contains = contains;
17
8
  exports.filter = filter;
18
9
  exports.filterRegExp = filterRegExp;
19
- exports.join = join;
20
- exports.identify = identify;
10
+ exports.flatten = flatten;
11
+ exports.forEach = forEach;
21
12
  exports.generalize = generalize;
22
13
  exports.getArrayDataType = getArrayDataType;
23
- exports.last = last;
14
+ exports.identify = identify;
24
15
  exports.initial = initial;
25
- exports.contains = contains;
16
+ exports.join = join;
17
+ exports.last = last;
18
+ exports.map = map;
19
+ exports.processSizesWildcard = processSizesWildcard;
20
+ exports.reshape = reshape;
21
+ exports.resize = resize;
22
+ exports.squeeze = squeeze;
23
+ exports.unsqueeze = unsqueeze;
24
+ exports.validate = validate;
25
+ exports.validateIndex = validateIndex;
26
26
 
27
27
  var _number = require("./number.js");
28
28
 
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.bitAndBigNumber = bitAndBigNumber;
7
7
  exports.bitNotBigNumber = bitNotBigNumber;
8
8
  exports.bitOrBigNumber = bitOrBigNumber;
9
- exports.bitwise = bitwise;
10
9
  exports.bitXor = bitXor;
10
+ exports.bitwise = bitwise;
11
11
  exports.leftShiftBigNumber = leftShiftBigNumber;
12
12
  exports.rightArithShiftBigNumber = rightArithShiftBigNumber;
13
13
 
@@ -5,14 +5,14 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ exports.getSafeProperties = getSafeProperties;
8
9
  exports.getSafeProperty = getSafeProperty;
9
- exports.setSafeProperty = setSafeProperty;
10
- exports.isSafeProperty = isSafeProperty;
11
10
  exports.hasSafeProperty = hasSafeProperty;
12
- exports.getSafeProperties = getSafeProperties;
13
- exports.validateSafeMethod = validateSafeMethod;
14
- exports.isSafeMethod = isSafeMethod;
15
11
  exports.isPlainObject = isPlainObject;
12
+ exports.isSafeMethod = isSafeMethod;
13
+ exports.isSafeProperty = isSafeProperty;
14
+ exports.setSafeProperty = setSafeProperty;
15
+ exports.validateSafeMethod = validateSafeMethod;
16
16
 
17
17
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
18
18
 
@@ -3,12 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.factory = factory;
7
- exports.sortFactories = sortFactories;
6
+ exports.assertDependencies = assertDependencies;
8
7
  exports.create = create;
8
+ exports.factory = factory;
9
9
  exports.isFactory = isFactory;
10
- exports.assertDependencies = assertDependencies;
11
10
  exports.isOptionalDependency = isOptionalDependency;
11
+ exports.sortFactories = sortFactories;
12
12
  exports.stripOptionalNotation = stripOptionalNotation;
13
13
 
14
14
  var _array = require("./array.js");
@@ -5,9 +5,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ exports.maxArgumentCount = maxArgumentCount;
8
9
  exports.memoize = memoize;
9
10
  exports.memoizeCompare = memoizeCompare;
10
- exports.maxArgumentCount = maxArgumentCount;
11
11
 
12
12
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
13
 
@@ -5,45 +5,45 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.isNumber = isNumber;
9
- exports.isBigNumber = isBigNumber;
10
- exports.isComplex = isComplex;
11
- exports.isFraction = isFraction;
12
- exports.isUnit = isUnit;
13
- exports.isString = isString;
14
- exports.isMatrix = isMatrix;
15
- exports.isCollection = isCollection;
16
- exports.isDenseMatrix = isDenseMatrix;
17
- exports.isSparseMatrix = isSparseMatrix;
18
- exports.isRange = isRange;
19
- exports.isIndex = isIndex;
20
- exports.isBoolean = isBoolean;
21
- exports.isResultSet = isResultSet;
22
- exports.isHelp = isHelp;
23
- exports.isFunction = isFunction;
24
- exports.isDate = isDate;
25
- exports.isRegExp = isRegExp;
26
- exports.isObject = isObject;
27
- exports.isNull = isNull;
28
- exports.isUndefined = isUndefined;
29
8
  exports.isAccessorNode = isAccessorNode;
9
+ exports.isArray = void 0;
30
10
  exports.isArrayNode = isArrayNode;
31
11
  exports.isAssignmentNode = isAssignmentNode;
12
+ exports.isBigNumber = isBigNumber;
32
13
  exports.isBlockNode = isBlockNode;
14
+ exports.isBoolean = isBoolean;
15
+ exports.isChain = isChain;
16
+ exports.isCollection = isCollection;
17
+ exports.isComplex = isComplex;
33
18
  exports.isConditionalNode = isConditionalNode;
34
19
  exports.isConstantNode = isConstantNode;
20
+ exports.isDate = isDate;
21
+ exports.isDenseMatrix = isDenseMatrix;
22
+ exports.isFraction = isFraction;
23
+ exports.isFunction = isFunction;
35
24
  exports.isFunctionAssignmentNode = isFunctionAssignmentNode;
36
25
  exports.isFunctionNode = isFunctionNode;
26
+ exports.isHelp = isHelp;
27
+ exports.isIndex = isIndex;
37
28
  exports.isIndexNode = isIndexNode;
29
+ exports.isMatrix = isMatrix;
38
30
  exports.isNode = isNode;
31
+ exports.isNull = isNull;
32
+ exports.isNumber = isNumber;
33
+ exports.isObject = isObject;
39
34
  exports.isObjectNode = isObjectNode;
40
35
  exports.isOperatorNode = isOperatorNode;
41
36
  exports.isParenthesisNode = isParenthesisNode;
37
+ exports.isRange = isRange;
42
38
  exports.isRangeNode = isRangeNode;
39
+ exports.isRegExp = isRegExp;
40
+ exports.isResultSet = isResultSet;
41
+ exports.isSparseMatrix = isSparseMatrix;
42
+ exports.isString = isString;
43
43
  exports.isSymbolNode = isSymbolNode;
44
- exports.isChain = isChain;
44
+ exports.isUndefined = isUndefined;
45
+ exports.isUnit = isUnit;
45
46
  exports.typeOf = typeOf;
46
- exports.isArray = void 0;
47
47
 
48
48
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
49
49
 
@@ -5,9 +5,10 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ exports.defaultTemplate = void 0;
8
9
  exports.escapeLatex = escapeLatex;
10
+ exports.latexSymbols = exports.latexOperators = exports.latexFunctions = void 0;
9
11
  exports.toSymbol = toSymbol;
10
- exports.defaultTemplate = exports.latexFunctions = exports.latexOperators = exports.latexSymbols = void 0;
11
12
 
12
13
  var _escapeLatex = _interopRequireDefault(require("escape-latex"));
13
14
 
@@ -5,12 +5,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ exports.ObjectWrappingMap = void 0;
9
+ exports.assign = assign;
8
10
  exports.createEmptyMap = createEmptyMap;
9
11
  exports.createMap = createMap;
10
- exports.toObject = toObject;
11
12
  exports.isMap = isMap;
12
- exports.assign = assign;
13
- exports.ObjectWrappingMap = void 0;
13
+ exports.toObject = toObject;
14
14
 
15
15
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
16
16
 
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.noBignumber = noBignumber;
7
7
  exports.noFraction = noFraction;
8
- exports.noMatrix = noMatrix;
9
8
  exports.noIndex = noIndex;
9
+ exports.noMatrix = noMatrix;
10
10
  exports.noSubset = noSubset;
11
11
 
12
12
  function noBignumber() {
@@ -3,17 +3,21 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.isInteger = isInteger;
6
+ exports.cosh = exports.cbrt = exports.atanh = exports.asinh = exports.acosh = exports.DBL_EPSILON = void 0;
7
+ exports.digits = digits;
8
+ exports.expm1 = void 0;
7
9
  exports.format = format;
10
+ exports.isInteger = isInteger;
11
+ exports.log2 = exports.log1p = exports.log10 = void 0;
12
+ exports.nearlyEqual = nearlyEqual;
13
+ exports.roundDigits = roundDigits;
14
+ exports.sinh = exports.sign = void 0;
8
15
  exports.splitNumber = splitNumber;
16
+ exports.tanh = void 0;
9
17
  exports.toEngineering = toEngineering;
10
- exports.toFixed = toFixed;
11
18
  exports.toExponential = toExponential;
19
+ exports.toFixed = toFixed;
12
20
  exports.toPrecision = toPrecision;
13
- exports.roundDigits = roundDigits;
14
- exports.digits = digits;
15
- exports.nearlyEqual = nearlyEqual;
16
- exports.tanh = exports.sinh = exports.cosh = exports.atanh = exports.asinh = exports.acosh = exports.DBL_EPSILON = exports.expm1 = exports.cbrt = exports.log1p = exports.log10 = exports.log2 = exports.sign = void 0;
17
21
 
18
22
  var _is = require("./is.js");
19
23
 
@@ -355,7 +359,7 @@ function format(value, options) {
355
359
 
356
360
  function splitNumber(value) {
357
361
  // parse the input value
358
- var match = String(value).toLowerCase().match(/^0*?(-?)(\d+\.?\d*)(e([+-]?\d+))?$/);
362
+ var match = String(value).toLowerCase().match(/^(-?)(\d+\.?\d*)(e([+-]?\d+))?$/);
359
363
 
360
364
  if (!match) {
361
365
  throw new SyntaxError('Invalid number ' + value);