mathjs 9.5.1 → 10.0.2

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