mathjs 9.5.2 → 10.1.0

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 (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
@@ -153,18 +153,6 @@ Object.defineProperty(exports, "isNumber", {
153
153
  return _is.isNumber;
154
154
  }
155
155
  });
156
- Object.defineProperty(exports, "isString", {
157
- enumerable: true,
158
- get: function get() {
159
- return _is.isString;
160
- }
161
- });
162
- Object.defineProperty(exports, "isUndefined", {
163
- enumerable: true,
164
- get: function get() {
165
- return _is.isUndefined;
166
- }
167
- });
168
156
  Object.defineProperty(exports, "isObject", {
169
157
  enumerable: true,
170
158
  get: function get() {
@@ -219,12 +207,24 @@ Object.defineProperty(exports, "isSparseMatrix", {
219
207
  return _is.isSparseMatrix;
220
208
  }
221
209
  });
210
+ Object.defineProperty(exports, "isString", {
211
+ enumerable: true,
212
+ get: function get() {
213
+ return _is.isString;
214
+ }
215
+ });
222
216
  Object.defineProperty(exports, "isSymbolNode", {
223
217
  enumerable: true,
224
218
  get: function get() {
225
219
  return _is.isSymbolNode;
226
220
  }
227
221
  });
222
+ Object.defineProperty(exports, "isUndefined", {
223
+ enumerable: true,
224
+ get: function get() {
225
+ return _is.isUndefined;
226
+ }
227
+ });
228
228
  Object.defineProperty(exports, "isUnit", {
229
229
  enumerable: true,
230
230
  get: function get() {
@@ -7,6 +7,8 @@ exports.embeddedDocs = void 0;
7
7
 
8
8
  var _bignumber = require("./construction/bignumber.js");
9
9
 
10
+ var _print = require("./function/utils/print.js");
11
+
10
12
  var _typeOf = require("./function/utils/typeOf.js");
11
13
 
12
14
  var _isZero = require("./function/utils/isZero.js");
@@ -279,6 +281,8 @@ var _bitAnd = require("./function/bitwise/bitAnd.js");
279
281
 
280
282
  var _xgcd = require("./function/arithmetic/xgcd.js");
281
283
 
284
+ var _invmod = require("./function/arithmetic/invmod.js");
285
+
282
286
  var _unaryPlus = require("./function/arithmetic/unaryPlus.js");
283
287
 
284
288
  var _unaryMinus = require("./function/arithmetic/unaryMinus.js");
@@ -736,6 +740,7 @@ var embeddedDocs = {
736
740
  unaryMinus: _unaryMinus.unaryMinusDocs,
737
741
  unaryPlus: _unaryPlus.unaryPlusDocs,
738
742
  xgcd: _xgcd.xgcdDocs,
743
+ invmod: _invmod.invmodDocs,
739
744
  // functions - bitwise
740
745
  bitAnd: _bitAnd.bitAndDocs,
741
746
  bitNot: _bitNot.bitNotDocs,
@@ -897,7 +902,7 @@ var embeddedDocs = {
897
902
  isPositive: _isPositive.isPositiveDocs,
898
903
  isPrime: _isPrime.isPrimeDocs,
899
904
  isZero: _isZero.isZeroDocs,
900
- // print: printDocs // TODO: add documentation for print as soon as the parser supports objects.
905
+ print: _print.printDocs,
901
906
  typeOf: _typeOf.typeOfDocs,
902
907
  numeric: _numeric.numericDocs
903
908
  };
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.invmodDocs = void 0;
7
+ var invmodDocs = {
8
+ name: 'invmod',
9
+ category: 'Arithmetic',
10
+ syntax: ['invmod(a, b)'],
11
+ description: 'Calculate the (modular) multiplicative inverse of a modulo b. Solution to the equation ax ≣ 1 (mod b)',
12
+ examples: ['invmod(8, 12)=NaN', 'invmod(7, 13)=2', 'math.invmod(15151, 15122)=10429'],
13
+ seealso: ['gcd', 'xgcd']
14
+ };
15
+ exports.invmodDocs = invmodDocs;
@@ -9,7 +9,7 @@ var forEachDocs = {
9
9
  category: 'Matrix',
10
10
  syntax: ['forEach(x, callback)'],
11
11
  description: 'Iterates over all elements of a matrix/array, and executes the given callback function.',
12
- examples: ['forEach([1, 2, 3], function(val) { console.log(val) })'],
12
+ examples: [],
13
13
  seealso: ['map', 'sort', 'filter']
14
14
  };
15
15
  exports.forEachDocs = forEachDocs;
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getPrecedence = getPrecedence;
7
6
  exports.getAssociativity = getAssociativity;
7
+ exports.getPrecedence = getPrecedence;
8
8
  exports.isAssociativeWith = isAssociativeWith;
9
9
  exports.properties = void 0;
10
10