mathjs 9.5.2 → 10.1.0
Sign up to get free protection for your applications and to get access to all the features.
- package/HISTORY.md +43 -1
- package/NOTICE +1 -1
- package/README.md +10 -2
- package/bin/cli.js +1 -1
- package/docs/expressions/syntax.md +1 -1
- package/docs/reference/constants.md +1 -1
- package/docs/reference/functions/invmod.md +41 -0
- package/docs/reference/functions.md +1 -0
- package/examples/expressions.js +1 -1
- package/lib/browser/math.js +7 -7
- package/lib/browser/math.js.map +1 -1
- package/lib/cjs/constants.js +1 -1
- package/lib/cjs/core/function/config.js +1 -1
- package/lib/cjs/core/function/import.js +2 -1
- package/lib/cjs/entry/dependenciesAny/dependenciesIntersect.generated.js +6 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesInvmod.generated.js +41 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesRationalize.generated.js +15 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplify.generated.js +15 -0
- package/lib/cjs/entry/dependenciesAny.generated.js +1002 -994
- package/lib/cjs/entry/dependenciesNumber/dependenciesRationalize.generated.js +15 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplify.generated.js +15 -0
- package/lib/cjs/entry/dependenciesNumber.generated.js +581 -581
- package/lib/cjs/entry/impureFunctionsAny.generated.js +325 -313
- package/lib/cjs/entry/impureFunctionsNumber.generated.js +233 -222
- package/lib/cjs/entry/mainAny.js +8 -8
- package/lib/cjs/entry/mainNumber.js +8 -8
- package/lib/cjs/entry/pureFunctionsAny.generated.js +1111 -1097
- package/lib/cjs/entry/pureFunctionsNumber.generated.js +375 -375
- package/lib/cjs/entry/typeChecks.js +12 -12
- package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +6 -1
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/invmod.js +15 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/forEach.js +1 -1
- package/lib/cjs/expression/operators.js +1 -1
- package/lib/cjs/factoriesAny.js +668 -660
- package/lib/cjs/factoriesNumber.js +268 -237
- package/lib/cjs/function/algebra/rationalize.js +18 -4
- package/lib/cjs/function/algebra/simplify/simplifyConstant.js +223 -29
- package/lib/cjs/function/algebra/simplify/simplifyCore.js +34 -6
- package/lib/cjs/function/algebra/simplify.js +73 -22
- package/lib/cjs/function/arithmetic/invmod.js +73 -0
- package/lib/cjs/function/arithmetic/round.js +2 -2
- package/lib/cjs/function/geometry/intersect.js +12 -13
- package/lib/cjs/function/probability/gamma.js +28 -30
- package/lib/cjs/header.js +3 -3
- package/lib/cjs/plain/bignumber/arithmetic.js +2 -2
- package/lib/cjs/plain/number/arithmetic.js +10 -10
- package/lib/cjs/plain/number/constants.js +1 -1
- package/lib/cjs/plain/number/logical.js +1 -1
- package/lib/cjs/plain/number/probability.js +2 -1
- package/lib/cjs/plain/number/trigonometry.js +1 -1
- package/lib/cjs/plain/number/utils.js +1 -1
- package/lib/cjs/type/matrix/SparseMatrix.js +19 -15
- package/lib/cjs/type/unit/Unit.js +2 -2
- package/lib/cjs/type/unit/physicalConstants.js +1 -1
- package/lib/cjs/utils/array.js +14 -14
- package/lib/cjs/utils/bignumber/bitwise.js +1 -1
- package/lib/cjs/utils/customs.js +5 -5
- package/lib/cjs/utils/factory.js +3 -3
- package/lib/cjs/utils/function.js +1 -1
- package/lib/cjs/utils/is.js +23 -23
- package/lib/cjs/utils/latex.js +2 -1
- package/lib/cjs/utils/map.js +3 -3
- package/lib/cjs/utils/noop.js +1 -1
- package/lib/cjs/utils/number.js +11 -7
- package/lib/cjs/utils/object.js +8 -8
- package/lib/cjs/utils/snapshot.js +3 -3
- package/lib/cjs/utils/string.js +2 -2
- package/lib/cjs/version.js +1 -1
- package/lib/esm/core/function/import.js +2 -1
- package/lib/esm/entry/dependenciesAny/dependenciesIntersect.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesInvmod.generated.js +24 -0
- package/lib/esm/entry/dependenciesAny/dependenciesRationalize.generated.js +10 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSimplify.generated.js +10 -0
- package/lib/esm/entry/dependenciesAny.generated.js +271 -270
- package/lib/esm/entry/dependenciesNumber/dependenciesRationalize.generated.js +10 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesSimplify.generated.js +10 -0
- package/lib/esm/entry/dependenciesNumber.generated.js +163 -163
- package/lib/esm/entry/impureFunctionsAny.generated.js +312 -301
- package/lib/esm/entry/impureFunctionsNumber.generated.js +221 -211
- package/lib/esm/entry/pureFunctionsAny.generated.js +827 -814
- package/lib/esm/entry/pureFunctionsNumber.generated.js +234 -234
- package/lib/esm/expression/embeddedDocs/embeddedDocs.js +4 -1
- package/lib/esm/expression/embeddedDocs/function/arithmetic/invmod.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/forEach.js +1 -1
- package/lib/esm/factoriesAny.js +1 -0
- package/lib/esm/function/algebra/rationalize.js +18 -4
- package/lib/esm/function/algebra/simplify/simplifyConstant.js +197 -29
- package/lib/esm/function/algebra/simplify/simplifyCore.js +35 -7
- package/lib/esm/function/algebra/simplify.js +73 -22
- package/lib/esm/function/arithmetic/invmod.js +57 -0
- package/lib/esm/function/arithmetic/round.js +2 -2
- package/lib/esm/function/geometry/intersect.js +12 -12
- package/lib/esm/function/probability/gamma.js +28 -30
- package/lib/esm/header.js +1 -1
- package/lib/esm/type/matrix/SparseMatrix.js +19 -15
- package/lib/esm/type/unit/Unit.js +2 -2
- package/lib/esm/utils/number.js +1 -1
- package/lib/esm/utils/snapshot.js +2 -2
- package/lib/esm/version.js +1 -1
- package/package.json +18 -17
- package/types/index.d.ts +250 -71
package/lib/cjs/utils/number.js
CHANGED
@@ -3,17 +3,21 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.
|
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(/^
|
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);
|
package/lib/cjs/utils/object.js
CHANGED
@@ -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.
|
15
|
-
exports.
|
16
|
-
exports.
|
12
|
+
exports.deepStrictEqual = deepStrictEqual;
|
13
|
+
exports.extend = extend;
|
14
|
+
exports.get = get;
|
17
15
|
exports.hasOwnProperty = hasOwnProperty;
|
18
16
|
exports.isLegacyFactory = isLegacyFactory;
|
19
|
-
exports.
|
20
|
-
exports.
|
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);
|
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]
|
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;
|
package/lib/cjs/utils/string.js
CHANGED
@@ -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
|
|
package/lib/cjs/version.js
CHANGED
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.version = void 0;
|
7
|
-
var version = '
|
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'
|
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,
|