mathjs 9.5.2 → 10.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. package/HISTORY.md +43 -1
  2. package/NOTICE +1 -1
  3. package/README.md +10 -2
  4. package/bin/cli.js +1 -1
  5. package/docs/expressions/syntax.md +1 -1
  6. package/docs/reference/constants.md +1 -1
  7. package/docs/reference/functions/invmod.md +41 -0
  8. package/docs/reference/functions.md +1 -0
  9. package/examples/expressions.js +1 -1
  10. package/lib/browser/math.js +7 -7
  11. package/lib/browser/math.js.map +1 -1
  12. package/lib/cjs/constants.js +1 -1
  13. package/lib/cjs/core/function/config.js +1 -1
  14. package/lib/cjs/core/function/import.js +2 -1
  15. package/lib/cjs/entry/dependenciesAny/dependenciesIntersect.generated.js +6 -0
  16. package/lib/cjs/entry/dependenciesAny/dependenciesInvmod.generated.js +41 -0
  17. package/lib/cjs/entry/dependenciesAny/dependenciesRationalize.generated.js +15 -0
  18. package/lib/cjs/entry/dependenciesAny/dependenciesSimplify.generated.js +15 -0
  19. package/lib/cjs/entry/dependenciesAny.generated.js +1002 -994
  20. package/lib/cjs/entry/dependenciesNumber/dependenciesRationalize.generated.js +15 -0
  21. package/lib/cjs/entry/dependenciesNumber/dependenciesSimplify.generated.js +15 -0
  22. package/lib/cjs/entry/dependenciesNumber.generated.js +581 -581
  23. package/lib/cjs/entry/impureFunctionsAny.generated.js +325 -313
  24. package/lib/cjs/entry/impureFunctionsNumber.generated.js +233 -222
  25. package/lib/cjs/entry/mainAny.js +8 -8
  26. package/lib/cjs/entry/mainNumber.js +8 -8
  27. package/lib/cjs/entry/pureFunctionsAny.generated.js +1111 -1097
  28. package/lib/cjs/entry/pureFunctionsNumber.generated.js +375 -375
  29. package/lib/cjs/entry/typeChecks.js +12 -12
  30. package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +6 -1
  31. package/lib/cjs/expression/embeddedDocs/function/arithmetic/invmod.js +15 -0
  32. package/lib/cjs/expression/embeddedDocs/function/matrix/forEach.js +1 -1
  33. package/lib/cjs/expression/operators.js +1 -1
  34. package/lib/cjs/factoriesAny.js +668 -660
  35. package/lib/cjs/factoriesNumber.js +268 -237
  36. package/lib/cjs/function/algebra/rationalize.js +18 -4
  37. package/lib/cjs/function/algebra/simplify/simplifyConstant.js +223 -29
  38. package/lib/cjs/function/algebra/simplify/simplifyCore.js +34 -6
  39. package/lib/cjs/function/algebra/simplify.js +73 -22
  40. package/lib/cjs/function/arithmetic/invmod.js +73 -0
  41. package/lib/cjs/function/arithmetic/round.js +2 -2
  42. package/lib/cjs/function/geometry/intersect.js +12 -13
  43. package/lib/cjs/function/probability/gamma.js +28 -30
  44. package/lib/cjs/header.js +3 -3
  45. package/lib/cjs/plain/bignumber/arithmetic.js +2 -2
  46. package/lib/cjs/plain/number/arithmetic.js +10 -10
  47. package/lib/cjs/plain/number/constants.js +1 -1
  48. package/lib/cjs/plain/number/logical.js +1 -1
  49. package/lib/cjs/plain/number/probability.js +2 -1
  50. package/lib/cjs/plain/number/trigonometry.js +1 -1
  51. package/lib/cjs/plain/number/utils.js +1 -1
  52. package/lib/cjs/type/matrix/SparseMatrix.js +19 -15
  53. package/lib/cjs/type/unit/Unit.js +2 -2
  54. package/lib/cjs/type/unit/physicalConstants.js +1 -1
  55. package/lib/cjs/utils/array.js +14 -14
  56. package/lib/cjs/utils/bignumber/bitwise.js +1 -1
  57. package/lib/cjs/utils/customs.js +5 -5
  58. package/lib/cjs/utils/factory.js +3 -3
  59. package/lib/cjs/utils/function.js +1 -1
  60. package/lib/cjs/utils/is.js +23 -23
  61. package/lib/cjs/utils/latex.js +2 -1
  62. package/lib/cjs/utils/map.js +3 -3
  63. package/lib/cjs/utils/noop.js +1 -1
  64. package/lib/cjs/utils/number.js +11 -7
  65. package/lib/cjs/utils/object.js +8 -8
  66. package/lib/cjs/utils/snapshot.js +3 -3
  67. package/lib/cjs/utils/string.js +2 -2
  68. package/lib/cjs/version.js +1 -1
  69. package/lib/esm/core/function/import.js +2 -1
  70. package/lib/esm/entry/dependenciesAny/dependenciesIntersect.generated.js +4 -0
  71. package/lib/esm/entry/dependenciesAny/dependenciesInvmod.generated.js +24 -0
  72. package/lib/esm/entry/dependenciesAny/dependenciesRationalize.generated.js +10 -0
  73. package/lib/esm/entry/dependenciesAny/dependenciesSimplify.generated.js +10 -0
  74. package/lib/esm/entry/dependenciesAny.generated.js +271 -270
  75. package/lib/esm/entry/dependenciesNumber/dependenciesRationalize.generated.js +10 -0
  76. package/lib/esm/entry/dependenciesNumber/dependenciesSimplify.generated.js +10 -0
  77. package/lib/esm/entry/dependenciesNumber.generated.js +163 -163
  78. package/lib/esm/entry/impureFunctionsAny.generated.js +312 -301
  79. package/lib/esm/entry/impureFunctionsNumber.generated.js +221 -211
  80. package/lib/esm/entry/pureFunctionsAny.generated.js +827 -814
  81. package/lib/esm/entry/pureFunctionsNumber.generated.js +234 -234
  82. package/lib/esm/expression/embeddedDocs/embeddedDocs.js +4 -1
  83. package/lib/esm/expression/embeddedDocs/function/arithmetic/invmod.js +8 -0
  84. package/lib/esm/expression/embeddedDocs/function/matrix/forEach.js +1 -1
  85. package/lib/esm/factoriesAny.js +1 -0
  86. package/lib/esm/function/algebra/rationalize.js +18 -4
  87. package/lib/esm/function/algebra/simplify/simplifyConstant.js +197 -29
  88. package/lib/esm/function/algebra/simplify/simplifyCore.js +35 -7
  89. package/lib/esm/function/algebra/simplify.js +73 -22
  90. package/lib/esm/function/arithmetic/invmod.js +57 -0
  91. package/lib/esm/function/arithmetic/round.js +2 -2
  92. package/lib/esm/function/geometry/intersect.js +12 -12
  93. package/lib/esm/function/probability/gamma.js +28 -30
  94. package/lib/esm/header.js +1 -1
  95. package/lib/esm/type/matrix/SparseMatrix.js +19 -15
  96. package/lib/esm/type/unit/Unit.js +2 -2
  97. package/lib/esm/utils/number.js +1 -1
  98. package/lib/esm/utils/snapshot.js +2 -2
  99. package/lib/esm/version.js +1 -1
  100. package/package.json +18 -17
  101. package/types/index.d.ts +250 -71
@@ -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);
@@ -5,21 +5,21 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ exports.canDefineProperty = canDefineProperty;
8
9
  exports.clone = clone;
9
- exports.mapObject = mapObject;
10
- exports.extend = extend;
11
10
  exports.deepExtend = deepExtend;
12
- exports.deepStrictEqual = deepStrictEqual;
13
11
  exports.deepFlatten = deepFlatten;
14
- exports.canDefineProperty = canDefineProperty;
15
- exports.lazy = lazy;
16
- exports.traverse = traverse;
12
+ exports.deepStrictEqual = deepStrictEqual;
13
+ exports.extend = extend;
14
+ exports.get = get;
17
15
  exports.hasOwnProperty = hasOwnProperty;
18
16
  exports.isLegacyFactory = isLegacyFactory;
19
- exports.get = get;
20
- exports.set = set;
17
+ exports.lazy = lazy;
18
+ exports.mapObject = mapObject;
21
19
  exports.pick = pick;
22
20
  exports.pickShallow = pickShallow;
21
+ exports.set = set;
22
+ exports.traverse = traverse;
23
23
  exports.values = values;
24
24
 
25
25
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
@@ -7,8 +7,8 @@ var _typeof3 = require("@babel/runtime/helpers/typeof");
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.validateBundle = validateBundle;
11
10
  exports.createSnapshotFromFactories = createSnapshotFromFactories;
11
+ exports.validateBundle = validateBundle;
12
12
  exports.validateTypeOf = validateTypeOf;
13
13
 
14
14
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
@@ -29,9 +29,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
29
29
 
30
30
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
31
 
32
- 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; }
32
+ 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; }
33
33
 
34
- 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; }
34
+ 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; }
35
35
 
36
36
  function validateBundle(expectedBundleStructure, bundle) {
37
37
  var originalWarn = console.warn;
@@ -5,11 +5,11 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ exports.compareText = compareText;
8
9
  exports.endsWith = endsWith;
10
+ exports.escape = escape;
9
11
  exports.format = format;
10
12
  exports.stringify = stringify;
11
- exports.escape = escape;
12
- exports.compareText = compareText;
13
13
 
14
14
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
15
 
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.version = void 0;
7
- var version = '9.5.2'; // Note: This file is automatically generated when building math.js.
7
+ var version = '10.1.0'; // Note: This file is automatically generated when building math.js.
8
8
  // Changes made in this file will be overwritten.
9
9
 
10
10
  exports.version = version;
@@ -80,7 +80,8 @@ export function importFactory(typed, load, math, importedFactories) {
80
80
  }
81
81
  }
82
82
  } else if (isFactory(value) || name !== undefined) {
83
- var flatName = isFactory(value) ? isTransformFunctionFactory(value) ? value.fn + '.transform' : value.fn : name; // we allow importing the same function twice if it points to the same implementation
83
+ var flatName = isFactory(value) ? isTransformFunctionFactory(value) ? value.fn + '.transform' // TODO: this is ugly
84
+ : value.fn : name; // we allow importing the same function twice if it points to the same implementation
84
85
 
85
86
  if (hasOwnProperty(flatValues, flatName) && flatValues[flatName] !== value && !options.silent) {
86
87
  throw new Error('Cannot import "' + flatName + '" twice');
@@ -8,6 +8,8 @@ import { addScalarDependencies } from './dependenciesAddScalar.generated.js';
8
8
  import { divideScalarDependencies } from './dependenciesDivideScalar.generated.js';
9
9
  import { equalScalarDependencies } from './dependenciesEqualScalar.generated.js';
10
10
  import { flattenDependencies } from './dependenciesFlatten.generated.js';
11
+ import { isNumericDependencies } from './dependenciesIsNumeric.generated.js';
12
+ import { isZeroDependencies } from './dependenciesIsZero.generated.js';
11
13
  import { matrixDependencies } from './dependenciesMatrix.generated.js';
12
14
  import { multiplyDependencies } from './dependenciesMultiply.generated.js';
13
15
  import { multiplyScalarDependencies } from './dependenciesMultiplyScalar.generated.js';
@@ -22,6 +24,8 @@ export var intersectDependencies = {
22
24
  divideScalarDependencies,
23
25
  equalScalarDependencies,
24
26
  flattenDependencies,
27
+ isNumericDependencies,
28
+ isZeroDependencies,
25
29
  matrixDependencies,
26
30
  multiplyDependencies,
27
31
  multiplyScalarDependencies,
@@ -0,0 +1,24 @@
1
+ /**
2
+ * THIS FILE IS AUTO-GENERATED
3
+ * DON'T MAKE CHANGES HERE
4
+ */
5
+ import { BigNumberDependencies } from './dependenciesBigNumberClass.generated.js';
6
+ import { addDependencies } from './dependenciesAdd.generated.js';
7
+ import { equalDependencies } from './dependenciesEqual.generated.js';
8
+ import { isIntegerDependencies } from './dependenciesIsInteger.generated.js';
9
+ import { modDependencies } from './dependenciesMod.generated.js';
10
+ import { smallerDependencies } from './dependenciesSmaller.generated.js';
11
+ import { typedDependencies } from './dependenciesTyped.generated.js';
12
+ import { xgcdDependencies } from './dependenciesXgcd.generated.js';
13
+ import { createInvmod } from '../../factoriesAny.js';
14
+ export var invmodDependencies = {
15
+ BigNumberDependencies,
16
+ addDependencies,
17
+ equalDependencies,
18
+ isIntegerDependencies,
19
+ modDependencies,
20
+ smallerDependencies,
21
+ typedDependencies,
22
+ xgcdDependencies,
23
+ createInvmod
24
+ };
@@ -4,8 +4,12 @@
4
4
  */
5
5
  import { bignumberDependencies } from './dependenciesBignumber.generated.js';
6
6
  import { fractionDependencies } from './dependenciesFraction.generated.js';
7
+ import { AccessorNodeDependencies } from './dependenciesAccessorNode.generated.js';
8
+ import { ArrayNodeDependencies } from './dependenciesArrayNode.generated.js';
7
9
  import { ConstantNodeDependencies } from './dependenciesConstantNode.generated.js';
8
10
  import { FunctionNodeDependencies } from './dependenciesFunctionNode.generated.js';
11
+ import { IndexNodeDependencies } from './dependenciesIndexNode.generated.js';
12
+ import { ObjectNodeDependencies } from './dependenciesObjectNode.generated.js';
9
13
  import { OperatorNodeDependencies } from './dependenciesOperatorNode.generated.js';
10
14
  import { ParenthesisNodeDependencies } from './dependenciesParenthesisNode.generated.js';
11
15
  import { SymbolNodeDependencies } from './dependenciesSymbolNode.generated.js';
@@ -13,6 +17,7 @@ import { addDependencies } from './dependenciesAdd.generated.js';
13
17
  import { divideDependencies } from './dependenciesDivide.generated.js';
14
18
  import { equalDependencies } from './dependenciesEqual.generated.js';
15
19
  import { isZeroDependencies } from './dependenciesIsZero.generated.js';
20
+ import { matrixDependencies } from './dependenciesMatrix.generated.js';
16
21
  import { multiplyDependencies } from './dependenciesMultiply.generated.js';
17
22
  import { parseDependencies } from './dependenciesParse.generated.js';
18
23
  import { powDependencies } from './dependenciesPow.generated.js';
@@ -23,8 +28,12 @@ import { createRationalize } from '../../factoriesAny.js';
23
28
  export var rationalizeDependencies = {
24
29
  bignumberDependencies,
25
30
  fractionDependencies,
31
+ AccessorNodeDependencies,
32
+ ArrayNodeDependencies,
26
33
  ConstantNodeDependencies,
27
34
  FunctionNodeDependencies,
35
+ IndexNodeDependencies,
36
+ ObjectNodeDependencies,
28
37
  OperatorNodeDependencies,
29
38
  ParenthesisNodeDependencies,
30
39
  SymbolNodeDependencies,
@@ -32,6 +41,7 @@ export var rationalizeDependencies = {
32
41
  divideDependencies,
33
42
  equalDependencies,
34
43
  isZeroDependencies,
44
+ matrixDependencies,
35
45
  multiplyDependencies,
36
46
  parseDependencies,
37
47
  powDependencies,
@@ -4,8 +4,12 @@
4
4
  */
5
5
  import { bignumberDependencies } from './dependenciesBignumber.generated.js';
6
6
  import { fractionDependencies } from './dependenciesFraction.generated.js';
7
+ import { AccessorNodeDependencies } from './dependenciesAccessorNode.generated.js';
8
+ import { ArrayNodeDependencies } from './dependenciesArrayNode.generated.js';
7
9
  import { ConstantNodeDependencies } from './dependenciesConstantNode.generated.js';
8
10
  import { FunctionNodeDependencies } from './dependenciesFunctionNode.generated.js';
11
+ import { IndexNodeDependencies } from './dependenciesIndexNode.generated.js';
12
+ import { ObjectNodeDependencies } from './dependenciesObjectNode.generated.js';
9
13
  import { OperatorNodeDependencies } from './dependenciesOperatorNode.generated.js';
10
14
  import { ParenthesisNodeDependencies } from './dependenciesParenthesisNode.generated.js';
11
15
  import { SymbolNodeDependencies } from './dependenciesSymbolNode.generated.js';
@@ -13,6 +17,7 @@ import { addDependencies } from './dependenciesAdd.generated.js';
13
17
  import { divideDependencies } from './dependenciesDivide.generated.js';
14
18
  import { equalDependencies } from './dependenciesEqual.generated.js';
15
19
  import { isZeroDependencies } from './dependenciesIsZero.generated.js';
20
+ import { matrixDependencies } from './dependenciesMatrix.generated.js';
16
21
  import { multiplyDependencies } from './dependenciesMultiply.generated.js';
17
22
  import { parseDependencies } from './dependenciesParse.generated.js';
18
23
  import { powDependencies } from './dependenciesPow.generated.js';
@@ -22,8 +27,12 @@ import { createSimplify } from '../../factoriesAny.js';
22
27
  export var simplifyDependencies = {
23
28
  bignumberDependencies,
24
29
  fractionDependencies,
30
+ AccessorNodeDependencies,
31
+ ArrayNodeDependencies,
25
32
  ConstantNodeDependencies,
26
33
  FunctionNodeDependencies,
34
+ IndexNodeDependencies,
35
+ ObjectNodeDependencies,
27
36
  OperatorNodeDependencies,
28
37
  ParenthesisNodeDependencies,
29
38
  SymbolNodeDependencies,
@@ -31,6 +40,7 @@ export var simplifyDependencies = {
31
40
  divideDependencies,
32
41
  equalDependencies,
33
42
  isZeroDependencies,
43
+ matrixDependencies,
34
44
  multiplyDependencies,
35
45
  parseDependencies,
36
46
  powDependencies,