mathjs 11.8.0 → 11.8.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.
- package/HISTORY.md +25 -1
- package/lib/browser/math.js +1 -1
- package/lib/browser/math.js.LICENSE.txt +2 -2
- package/lib/browser/math.js.map +1 -1
- package/lib/cjs/entry/dependenciesAny/dependenciesDistance.generated.js +2 -2
- package/lib/cjs/entry/pureFunctionsAny.generated.js +2 -2
- package/lib/cjs/expression/Parser.js +1 -1
- package/lib/cjs/expression/function/parser.js +1 -1
- package/lib/cjs/expression/transform/filter.transform.js +4 -13
- package/lib/cjs/expression/transform/forEach.transform.js +3 -12
- package/lib/cjs/expression/transform/map.transform.js +4 -13
- package/lib/cjs/function/algebra/derivative.js +2 -2
- package/lib/cjs/function/algebra/leafCount.js +1 -1
- package/lib/cjs/function/algebra/polynomialRoot.js +1 -1
- package/lib/cjs/function/algebra/rationalize.js +4 -4
- package/lib/cjs/function/algebra/resolve.js +1 -1
- package/lib/cjs/function/algebra/simplify.js +7 -7
- package/lib/cjs/function/algebra/simplifyConstant.js +2 -2
- package/lib/cjs/function/algebra/simplifyCore.js +2 -2
- package/lib/cjs/function/algebra/symbolicEqual.js +8 -8
- package/lib/cjs/function/geometry/distance.js +21 -17
- package/lib/cjs/function/matrix/filter.js +2 -11
- package/lib/cjs/function/matrix/forEach.js +3 -12
- package/lib/cjs/function/matrix/map.js +6 -38
- package/lib/cjs/function/matrix/sqrtm.js +1 -1
- package/lib/cjs/header.js +2 -2
- package/lib/cjs/type/bignumber/function/bignumber.js +7 -0
- package/lib/cjs/type/fraction/function/fraction.js +8 -1
- package/lib/cjs/type/number.js +7 -3
- package/lib/cjs/type/unit/function/splitUnit.js +1 -1
- package/lib/cjs/utils/applyCallback.js +73 -0
- package/lib/cjs/utils/bignumber/formatter.js +4 -3
- package/lib/cjs/version.js +1 -1
- package/lib/esm/entry/dependenciesAny/dependenciesDistance.generated.js +2 -2
- package/lib/esm/entry/pureFunctionsAny.generated.js +2 -2
- package/lib/esm/expression/Parser.js +1 -1
- package/lib/esm/expression/function/parser.js +1 -1
- package/lib/esm/expression/transform/filter.transform.js +4 -13
- package/lib/esm/expression/transform/forEach.transform.js +3 -12
- package/lib/esm/expression/transform/map.transform.js +4 -13
- package/lib/esm/function/algebra/derivative.js +2 -2
- package/lib/esm/function/algebra/leafCount.js +1 -1
- package/lib/esm/function/algebra/polynomialRoot.js +1 -1
- package/lib/esm/function/algebra/rationalize.js +4 -4
- package/lib/esm/function/algebra/resolve.js +1 -1
- package/lib/esm/function/algebra/simplify.js +7 -7
- package/lib/esm/function/algebra/simplifyConstant.js +2 -2
- package/lib/esm/function/algebra/simplifyCore.js +2 -2
- package/lib/esm/function/algebra/symbolicEqual.js +8 -8
- package/lib/esm/function/geometry/distance.js +21 -17
- package/lib/esm/function/matrix/filter.js +2 -11
- package/lib/esm/function/matrix/forEach.js +3 -12
- package/lib/esm/function/matrix/map.js +6 -38
- package/lib/esm/function/matrix/sqrtm.js +1 -1
- package/lib/esm/type/bignumber/function/bignumber.js +5 -0
- package/lib/esm/type/fraction/function/fraction.js +6 -1
- package/lib/esm/type/number.js +5 -3
- package/lib/esm/type/unit/function/splitUnit.js +1 -1
- package/lib/esm/utils/applyCallback.js +67 -0
- package/lib/esm/utils/bignumber/formatter.js +4 -3
- package/lib/esm/version.js +1 -1
- package/package.json +19 -19
- package/types/index.d.ts +149 -50
@@ -6,12 +6,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
exports.distanceDependencies = void 0;
|
7
7
|
var _dependenciesAbsGenerated = require("./dependenciesAbs.generated.js");
|
8
8
|
var _dependenciesAddScalarGenerated = require("./dependenciesAddScalar.generated.js");
|
9
|
+
var _dependenciesDeepEqualGenerated = require("./dependenciesDeepEqual.generated.js");
|
9
10
|
var _dependenciesDivideScalarGenerated = require("./dependenciesDivideScalar.generated.js");
|
10
11
|
var _dependenciesMultiplyScalarGenerated = require("./dependenciesMultiplyScalar.generated.js");
|
11
12
|
var _dependenciesSqrtGenerated = require("./dependenciesSqrt.generated.js");
|
12
13
|
var _dependenciesSubtractGenerated = require("./dependenciesSubtract.generated.js");
|
13
14
|
var _dependenciesTypedGenerated = require("./dependenciesTyped.generated.js");
|
14
|
-
var _dependenciesUnaryMinusGenerated = require("./dependenciesUnaryMinus.generated.js");
|
15
15
|
var _factoriesAny = require("../../factoriesAny.js");
|
16
16
|
/**
|
17
17
|
* THIS FILE IS AUTO-GENERATED
|
@@ -21,12 +21,12 @@ var _factoriesAny = require("../../factoriesAny.js");
|
|
21
21
|
var distanceDependencies = {
|
22
22
|
absDependencies: _dependenciesAbsGenerated.absDependencies,
|
23
23
|
addScalarDependencies: _dependenciesAddScalarGenerated.addScalarDependencies,
|
24
|
+
deepEqualDependencies: _dependenciesDeepEqualGenerated.deepEqualDependencies,
|
24
25
|
divideScalarDependencies: _dependenciesDivideScalarGenerated.divideScalarDependencies,
|
25
26
|
multiplyScalarDependencies: _dependenciesMultiplyScalarGenerated.multiplyScalarDependencies,
|
26
27
|
sqrtDependencies: _dependenciesSqrtGenerated.sqrtDependencies,
|
27
28
|
subtractDependencies: _dependenciesSubtractGenerated.subtractDependencies,
|
28
29
|
typedDependencies: _dependenciesTypedGenerated.typedDependencies,
|
29
|
-
unaryMinusDependencies: _dependenciesUnaryMinusGenerated.unaryMinusDependencies,
|
30
30
|
createDistance: _factoriesAny.createDistance
|
31
31
|
};
|
32
32
|
exports.distanceDependencies = distanceDependencies;
|
@@ -1066,12 +1066,12 @@ exports.diff = diff;
|
|
1066
1066
|
var distance = /* #__PURE__ */(0, _factoriesAny.createDistance)({
|
1067
1067
|
abs: abs,
|
1068
1068
|
addScalar: addScalar,
|
1069
|
+
deepEqual: deepEqual,
|
1069
1070
|
divideScalar: divideScalar,
|
1070
1071
|
multiplyScalar: multiplyScalar,
|
1071
1072
|
sqrt: sqrt,
|
1072
1073
|
subtract: subtract,
|
1073
|
-
typed: typed
|
1074
|
-
unaryMinus: unaryMinus
|
1074
|
+
typed: typed
|
1075
1075
|
});
|
1076
1076
|
exports.distance = distance;
|
1077
1077
|
var dotMultiply = /* #__PURE__ */(0, _factoriesAny.createDotMultiply)({
|
@@ -44,7 +44,7 @@ var createParserClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
44
44
|
* parser.evaluate('f(2, 3)') // 8
|
45
45
|
*
|
46
46
|
* // get and set variables and functions
|
47
|
-
* const x = parser.get('x') //
|
47
|
+
* const x = parser.get('x') // 3.5
|
48
48
|
* const f = parser.get('f') // function
|
49
49
|
* const g = f(3, 2) // 9
|
50
50
|
* parser.set('h', 500)
|
@@ -34,7 +34,7 @@ var createParser = /* #__PURE__ */(0, _factory.factory)(name, dependencies, func
|
|
34
34
|
* parser.evaluate('f(2, 3)') // 8
|
35
35
|
*
|
36
36
|
* // get and set variables and functions
|
37
|
-
* const x = parser.get('x') //
|
37
|
+
* const x = parser.get('x') // 3.5
|
38
38
|
* const f = parser.get('f') // function
|
39
39
|
* const g = f(3, 2) // 9
|
40
40
|
* parser.set('h', 500)
|
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.createFilterTransform = void 0;
|
7
|
-
var
|
7
|
+
var _applyCallback = require("../../utils/applyCallback.js");
|
8
8
|
var _array = require("../../utils/array.js");
|
9
|
-
var _function = require("../../utils/function.js");
|
10
|
-
var _compileInlineExpression = require("./utils/compileInlineExpression.js");
|
11
9
|
var _factory = require("../../utils/factory.js");
|
10
|
+
var _is = require("../../utils/is.js");
|
11
|
+
var _compileInlineExpression = require("./utils/compileInlineExpression.js");
|
12
12
|
var name = 'filter';
|
13
13
|
var dependencies = ['typed'];
|
14
14
|
var createFilterTransform = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
@@ -66,17 +66,8 @@ var createFilterTransform = /* #__PURE__ */(0, _factory.factory)(name, dependenc
|
|
66
66
|
*/
|
67
67
|
exports.createFilterTransform = createFilterTransform;
|
68
68
|
function _filter(x, callback) {
|
69
|
-
// figure out what number of arguments the callback function expects
|
70
|
-
var args = (0, _function.maxArgumentCount)(callback);
|
71
69
|
return (0, _array.filter)(x, function (value, index, array) {
|
72
70
|
// invoke the callback function with the right number of arguments
|
73
|
-
|
74
|
-
return callback(value);
|
75
|
-
} else if (args === 2) {
|
76
|
-
return callback(value, [index + 1]);
|
77
|
-
} else {
|
78
|
-
// 3 or -1
|
79
|
-
return callback(value, [index + 1], array);
|
80
|
-
}
|
71
|
+
return (0, _applyCallback.applyCallback)(callback, value, [index + 1], array, 'filter');
|
81
72
|
});
|
82
73
|
}
|
@@ -4,10 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.createForEachTransform = void 0;
|
7
|
-
var
|
8
|
-
var _function = require("../../utils/function.js");
|
7
|
+
var _applyCallback = require("../../utils/applyCallback.js");
|
9
8
|
var _array = require("../../utils/array.js");
|
10
9
|
var _factory = require("../../utils/factory.js");
|
10
|
+
var _is = require("../../utils/is.js");
|
11
11
|
var _compileInlineExpression = require("./utils/compileInlineExpression.js");
|
12
12
|
var name = 'forEach';
|
13
13
|
var dependencies = ['typed'];
|
@@ -40,8 +40,6 @@ var createForEachTransform = /* #__PURE__ */(0, _factory.factory)(name, dependen
|
|
40
40
|
// one-based version of forEach
|
41
41
|
var _forEach = typed('forEach', {
|
42
42
|
'Array | Matrix, function': function ArrayMatrixFunction(array, callback) {
|
43
|
-
// figure out what number of arguments the callback function expects
|
44
|
-
var args = (0, _function.maxArgumentCount)(callback);
|
45
43
|
var recurse = function recurse(value, index) {
|
46
44
|
if (Array.isArray(value)) {
|
47
45
|
(0, _array.forEach)(value, function (child, i) {
|
@@ -50,14 +48,7 @@ var createForEachTransform = /* #__PURE__ */(0, _factory.factory)(name, dependen
|
|
50
48
|
});
|
51
49
|
} else {
|
52
50
|
// invoke the callback function with the right number of arguments
|
53
|
-
|
54
|
-
callback(value);
|
55
|
-
} else if (args === 2) {
|
56
|
-
callback(value, index);
|
57
|
-
} else {
|
58
|
-
// 3 or -1
|
59
|
-
callback(value, index, array);
|
60
|
-
}
|
51
|
+
return (0, _applyCallback.applyCallback)(callback, value, index, array, 'forEach');
|
61
52
|
}
|
62
53
|
};
|
63
54
|
recurse(array.valueOf(), []); // pass Array
|
@@ -4,10 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.createMapTransform = void 0;
|
7
|
-
var
|
8
|
-
var _function = require("../../utils/function.js");
|
7
|
+
var _applyCallback = require("../../utils/applyCallback.js");
|
9
8
|
var _array = require("../../utils/array.js");
|
10
9
|
var _factory = require("../../utils/factory.js");
|
10
|
+
var _is = require("../../utils/is.js");
|
11
11
|
var _compileInlineExpression = require("./utils/compileInlineExpression.js");
|
12
12
|
var name = 'map';
|
13
13
|
var dependencies = ['typed'];
|
@@ -52,7 +52,7 @@ var createMapTransform = /* #__PURE__ */(0, _factory.factory)(name, dependencies
|
|
52
52
|
});
|
53
53
|
|
54
54
|
/**
|
55
|
-
* Map for a
|
55
|
+
* Map for a multidimensional array. One-based indexes
|
56
56
|
* @param {Array} array
|
57
57
|
* @param {function} callback
|
58
58
|
* @param {Array} orig
|
@@ -61,8 +61,6 @@ var createMapTransform = /* #__PURE__ */(0, _factory.factory)(name, dependencies
|
|
61
61
|
*/
|
62
62
|
exports.createMapTransform = createMapTransform;
|
63
63
|
function _map(array, callback, orig) {
|
64
|
-
// figure out what number of arguments the callback function expects
|
65
|
-
var argsCount = (0, _function.maxArgumentCount)(callback);
|
66
64
|
function recurse(value, index) {
|
67
65
|
if (Array.isArray(value)) {
|
68
66
|
return (0, _array.map)(value, function (child, i) {
|
@@ -71,14 +69,7 @@ function _map(array, callback, orig) {
|
|
71
69
|
});
|
72
70
|
} else {
|
73
71
|
// invoke the (typed) callback function with the right number of arguments
|
74
|
-
|
75
|
-
return callback(value);
|
76
|
-
} else if (argsCount === 2) {
|
77
|
-
return callback(value, index);
|
78
|
-
} else {
|
79
|
-
// 3 or -1
|
80
|
-
return callback(value, index, orig);
|
81
|
-
}
|
72
|
+
return (0, _applyCallback.applyCallback)(callback, value, index, orig, 'map');
|
82
73
|
}
|
83
74
|
}
|
84
75
|
return recurse(array, []);
|
@@ -33,8 +33,8 @@ var createDerivative = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
33
33
|
*
|
34
34
|
* Syntax:
|
35
35
|
*
|
36
|
-
* derivative(expr, variable)
|
37
|
-
* derivative(expr, variable, options)
|
36
|
+
* math.derivative(expr, variable)
|
37
|
+
* math.derivative(expr, variable, options)
|
38
38
|
*
|
39
39
|
* Examples:
|
40
40
|
*
|
@@ -31,7 +31,7 @@ var createPolynomialRoot = /* #__PURE__ */(0, _factory.factory)(name, dependenci
|
|
31
31
|
*
|
32
32
|
* Syntax:
|
33
33
|
*
|
34
|
-
* polynomialRoot(constant, linearCoeff, quadraticCoeff, cubicCoeff)
|
34
|
+
* math.polynomialRoot(constant, linearCoeff, quadraticCoeff, cubicCoeff)
|
35
35
|
*
|
36
36
|
* Examples:
|
37
37
|
* // linear
|
@@ -43,10 +43,10 @@ var createRationalize = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
43
43
|
*
|
44
44
|
* Syntax:
|
45
45
|
*
|
46
|
-
* rationalize(expr)
|
47
|
-
* rationalize(expr, detailed)
|
48
|
-
* rationalize(expr, scope)
|
49
|
-
* rationalize(expr, scope, detailed)
|
46
|
+
* math.rationalize(expr)
|
47
|
+
* math.rationalize(expr, detailed)
|
48
|
+
* math.rationalize(expr, scope)
|
49
|
+
* math.rationalize(expr, scope, detailed)
|
50
50
|
*
|
51
51
|
* Examples:
|
52
52
|
*
|
@@ -143,13 +143,13 @@ var createSimplify = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fu
|
|
143
143
|
*
|
144
144
|
* Syntax:
|
145
145
|
*
|
146
|
-
* simplify(expr)
|
147
|
-
* simplify(expr, rules)
|
148
|
-
* simplify(expr, rules)
|
149
|
-
* simplify(expr, rules, scope)
|
150
|
-
* simplify(expr, rules, scope, options)
|
151
|
-
* simplify(expr, scope)
|
152
|
-
* simplify(expr, scope, options)
|
146
|
+
* math.simplify(expr)
|
147
|
+
* math.simplify(expr, rules)
|
148
|
+
* math.simplify(expr, rules)
|
149
|
+
* math.simplify(expr, rules, scope)
|
150
|
+
* math.simplify(expr, rules, scope, options)
|
151
|
+
* math.simplify(expr, scope)
|
152
|
+
* math.simplify(expr, scope, options)
|
153
153
|
*
|
154
154
|
* Examples:
|
155
155
|
*
|
@@ -48,8 +48,8 @@ var createSimplifyConstant = /* #__PURE__ */(0, _factory.factory)(name, dependen
|
|
48
48
|
*
|
49
49
|
* Syntax:
|
50
50
|
*
|
51
|
-
* simplifyConstant(expr)
|
52
|
-
* simplifyConstant(expr, options)
|
51
|
+
* math.simplifyConstant(expr)
|
52
|
+
* math.simplifyConstant(expr, options)
|
53
53
|
*
|
54
54
|
* Examples:
|
55
55
|
*
|
@@ -29,20 +29,20 @@ var createSymbolicEqual = /* #__PURE__ */(0, _factory.factory)(name, dependencie
|
|
29
29
|
*
|
30
30
|
* Syntax:
|
31
31
|
*
|
32
|
-
*
|
33
|
-
*
|
32
|
+
* math.symbolicEqual(expr1, expr2)
|
33
|
+
* math.symbolicEqual(expr1, expr2, options)
|
34
34
|
*
|
35
35
|
* Examples:
|
36
36
|
*
|
37
|
-
*
|
38
|
-
*
|
39
|
-
*
|
40
|
-
*
|
41
|
-
*
|
37
|
+
* math.symbolicEqual('x*y', 'y*x') // Returns true
|
38
|
+
* math.symbolicEqual('x*y', 'y*x', {context: {multiply: {commutative: false}}}) // Returns false
|
39
|
+
* math.symbolicEqual('x/y', '(y*x^(-1))^(-1)') // Returns true
|
40
|
+
* math.symbolicEqual('abs(x)','x') // Returns false
|
41
|
+
* math.symbolicEqual('abs(x)','x', simplify.positiveContext) // Returns true
|
42
42
|
*
|
43
43
|
* See also:
|
44
44
|
*
|
45
|
-
*
|
45
|
+
* simplify, evaluate
|
46
46
|
*
|
47
47
|
* @param {Node|string} expr1 The first expression to compare
|
48
48
|
* @param {Node|string} expr2 The second expression to compare
|
@@ -7,14 +7,14 @@ exports.createDistance = void 0;
|
|
7
7
|
var _is = require("../../utils/is.js");
|
8
8
|
var _factory = require("../../utils/factory.js");
|
9
9
|
var name = 'distance';
|
10
|
-
var dependencies = ['typed', 'addScalar', 'subtract', 'divideScalar', 'multiplyScalar', '
|
10
|
+
var dependencies = ['typed', 'addScalar', 'subtract', 'divideScalar', 'multiplyScalar', 'deepEqual', 'sqrt', 'abs'];
|
11
11
|
var createDistance = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
12
12
|
var typed = _ref.typed,
|
13
13
|
addScalar = _ref.addScalar,
|
14
14
|
subtract = _ref.subtract,
|
15
15
|
multiplyScalar = _ref.multiplyScalar,
|
16
16
|
divideScalar = _ref.divideScalar,
|
17
|
-
|
17
|
+
deepEqual = _ref.deepEqual,
|
18
18
|
sqrt = _ref.sqrt,
|
19
19
|
abs = _ref.abs;
|
20
20
|
/**
|
@@ -35,10 +35,10 @@ var createDistance = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fu
|
|
35
35
|
* math.distance([x1,y1,z1,a1], [x2,y2,z2,a2])
|
36
36
|
* math.distance([[x1,y1], [x2,y2], [x3,y3]])
|
37
37
|
* math.distance([[x1,y1,z1], [x2,y2,z2], [x3,y3,z3]])
|
38
|
-
* math.distance([
|
39
|
-
* math.distance([
|
38
|
+
* math.distance([pointX,pointY], [a,b,c])
|
39
|
+
* math.distance([pointX,pointY], [lineOnePtX,lineOnePtY], [lineTwoPtX,lineTwoPtY])
|
40
40
|
* math.distance({pointX, pointY}, {lineOnePtX, lineOnePtY}, {lineTwoPtX, lineTwoPtY})
|
41
|
-
* math.distance([
|
41
|
+
* math.distance([pointX,pointY,pointZ], [x0, y0, z0, a, b, c])
|
42
42
|
* math.distance({pointX, pointY, pointZ}, {x0, y0, z0, a, b, c})
|
43
43
|
*
|
44
44
|
* Examples:
|
@@ -54,11 +54,11 @@ var createDistance = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fu
|
|
54
54
|
* math.distance([[1, 2], [1, 2], [1, 3]]) // Returns [0, 1, 1]
|
55
55
|
* math.distance([[1,2,4], [1,2,6], [8,1,3]]) // Returns [2, 7.14142842854285, 7.681145747868608]
|
56
56
|
* math.distance([10, 10], [8, 1, 3]) // Returns 11.535230316796387
|
57
|
-
* math.distance([
|
57
|
+
* math.distance([0, 0], [3, 0], [0, 4]) // Returns 2.4
|
58
58
|
* math.distance(
|
59
|
-
* {pointX:
|
60
|
-
* {lineOnePtX:
|
61
|
-
* {lineTwoPtX:
|
59
|
+
* {pointX: 0, pointY: 0},
|
60
|
+
* {lineOnePtX: 3, lineOnePtY: 0},
|
61
|
+
* {lineTwoPtX: 0, lineTwoPtY: 4}) // Returns 2.4
|
62
62
|
* math.distance([2, 3, 1], [1, 1, 2, 5, 0, 1]) // Returns 2.3204774044612857
|
63
63
|
* math.distance(
|
64
64
|
* {pointX: 2, pointY: 3, pointZ: 1},
|
@@ -81,10 +81,12 @@ var createDistance = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fu
|
|
81
81
|
if (!_2d(z)) {
|
82
82
|
throw new TypeError('Array with 2 numbers or BigNumbers expected for third argument');
|
83
83
|
}
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
var
|
84
|
+
if (deepEqual(y, z)) {
|
85
|
+
throw new TypeError('LinePoint1 should not be same with LinePoint2');
|
86
|
+
}
|
87
|
+
var xCoeff = subtract(z[1], y[1]);
|
88
|
+
var yCoeff = subtract(y[0], z[0]);
|
89
|
+
var constant = subtract(multiplyScalar(z[0], y[1]), multiplyScalar(y[0], z[1]));
|
88
90
|
return _distancePointLine2D(x[0], x[1], xCoeff, yCoeff, constant);
|
89
91
|
} else {
|
90
92
|
throw new TypeError('Invalid Arguments: Try again');
|
@@ -101,11 +103,13 @@ var createDistance = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fu
|
|
101
103
|
if (!_2d(z)) {
|
102
104
|
throw new TypeError('Values of lineTwoPtX and lineTwoPtY should be numbers or BigNumbers');
|
103
105
|
}
|
106
|
+
if (deepEqual(_objectToArray(y), _objectToArray(z))) {
|
107
|
+
throw new TypeError('LinePoint1 should not be same with LinePoint2');
|
108
|
+
}
|
104
109
|
if ('pointX' in x && 'pointY' in x && 'lineOnePtX' in y && 'lineOnePtY' in y && 'lineTwoPtX' in z && 'lineTwoPtY' in z) {
|
105
|
-
var
|
106
|
-
var
|
107
|
-
var
|
108
|
-
var constant = x.pointX;
|
110
|
+
var xCoeff = subtract(z.lineTwoPtY, y.lineOnePtY);
|
111
|
+
var yCoeff = subtract(y.lineOnePtX, z.lineTwoPtX);
|
112
|
+
var constant = subtract(multiplyScalar(z.lineTwoPtX, y.lineOnePtY), multiplyScalar(y.lineOnePtX, z.lineTwoPtY));
|
109
113
|
return _distancePointLine2D(x.pointX, x.pointY, xCoeff, yCoeff, constant);
|
110
114
|
} else {
|
111
115
|
throw new TypeError('Key names do not match');
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.createFilter = void 0;
|
7
|
+
var _applyCallback = require("../../utils/applyCallback.js");
|
7
8
|
var _array = require("../../utils/array.js");
|
8
|
-
var _function = require("../../utils/function.js");
|
9
9
|
var _factory = require("../../utils/factory.js");
|
10
10
|
var name = 'filter';
|
11
11
|
var dependencies = ['typed'];
|
@@ -61,17 +61,8 @@ var createFilter = /* #__PURE__ */(0, _factory.factory)(name, dependencies, func
|
|
61
61
|
*/
|
62
62
|
exports.createFilter = createFilter;
|
63
63
|
function _filterCallback(x, callback) {
|
64
|
-
// figure out what number of arguments the callback function expects
|
65
|
-
var args = (0, _function.maxArgumentCount)(callback);
|
66
64
|
return (0, _array.filter)(x, function (value, index, array) {
|
67
65
|
// invoke the callback function with the right number of arguments
|
68
|
-
|
69
|
-
return callback(value);
|
70
|
-
} else if (args === 2) {
|
71
|
-
return callback(value, [index]);
|
72
|
-
} else {
|
73
|
-
// 3 or -1
|
74
|
-
return callback(value, [index], array);
|
75
|
-
}
|
66
|
+
return (0, _applyCallback.applyCallback)(callback, value, [index], array, 'filter');
|
76
67
|
});
|
77
68
|
}
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.createForEach = void 0;
|
7
|
-
var
|
7
|
+
var _applyCallback = require("../../utils/applyCallback.js");
|
8
8
|
var _array = require("../../utils/array.js");
|
9
9
|
var _factory = require("../../utils/factory.js");
|
10
10
|
var name = 'forEach';
|
@@ -43,15 +43,13 @@ var createForEach = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fun
|
|
43
43
|
});
|
44
44
|
|
45
45
|
/**
|
46
|
-
* forEach for a
|
46
|
+
* forEach for a multidimensional array
|
47
47
|
* @param {Array} array
|
48
48
|
* @param {Function} callback
|
49
49
|
* @private
|
50
50
|
*/
|
51
51
|
exports.createForEach = createForEach;
|
52
52
|
function _forEach(array, callback) {
|
53
|
-
// figure out what number of arguments the callback function expects
|
54
|
-
var args = (0, _function.maxArgumentCount)(callback);
|
55
53
|
var recurse = function recurse(value, index) {
|
56
54
|
if (Array.isArray(value)) {
|
57
55
|
(0, _array.forEach)(value, function (child, i) {
|
@@ -60,14 +58,7 @@ function _forEach(array, callback) {
|
|
60
58
|
});
|
61
59
|
} else {
|
62
60
|
// invoke the callback function with the right number of arguments
|
63
|
-
|
64
|
-
callback(value);
|
65
|
-
} else if (args === 2) {
|
66
|
-
callback(value, index);
|
67
|
-
} else {
|
68
|
-
// 3 or -1
|
69
|
-
callback(value, index, array);
|
70
|
-
}
|
61
|
+
return (0, _applyCallback.applyCallback)(callback, value, index, array, 'forEach');
|
71
62
|
}
|
72
63
|
};
|
73
64
|
recurse(array, []);
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.createMap = void 0;
|
7
|
-
var
|
7
|
+
var _applyCallback = require("../../utils/applyCallback.js");
|
8
8
|
var _factory = require("../../utils/factory.js");
|
9
9
|
var name = 'map';
|
10
10
|
var dependencies = ['typed'];
|
@@ -31,14 +31,9 @@ var createMap = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functio
|
|
31
31
|
* return value * value
|
32
32
|
* }) // returns [1, 4, 9]
|
33
33
|
*
|
34
|
-
* // The
|
35
|
-
*
|
36
|
-
* //
|
37
|
-
* // [This happens because `format` _can_ take a second argument,
|
38
|
-
* // but its semantics don't match that of the 2nd argument `map` provides]
|
39
|
-
*
|
40
|
-
* // To avoid this error, use a function that takes exactly the
|
41
|
-
* // desired arguments:
|
34
|
+
* // The callback is normally called with three arguments:
|
35
|
+
* // callback(value, index, Array)
|
36
|
+
* // If you want to call with only one argument, use:
|
42
37
|
* math.map([1, 2, 3], x => math.format(x)) // returns ['1', '2', '3']
|
43
38
|
*
|
44
39
|
* See also:
|
@@ -68,8 +63,6 @@ var createMap = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functio
|
|
68
63
|
*/
|
69
64
|
exports.createMap = createMap;
|
70
65
|
function _map(array, callback) {
|
71
|
-
// figure out what number of arguments the callback function expects
|
72
|
-
var args = (0, _function.maxArgumentCount)(callback);
|
73
66
|
var recurse = function recurse(value, index) {
|
74
67
|
if (Array.isArray(value)) {
|
75
68
|
return value.map(function (child, i) {
|
@@ -77,33 +70,8 @@ function _map(array, callback) {
|
|
77
70
|
return recurse(child, index.concat(i));
|
78
71
|
});
|
79
72
|
} else {
|
80
|
-
|
81
|
-
|
82
|
-
if (args === 1) {
|
83
|
-
return callback(value);
|
84
|
-
} else if (args === 2) {
|
85
|
-
return callback(value, index);
|
86
|
-
} else {
|
87
|
-
// 3 or -1
|
88
|
-
return callback(value, index, array);
|
89
|
-
}
|
90
|
-
} catch (err) {
|
91
|
-
// But maybe the arguments still weren't right
|
92
|
-
if (err instanceof TypeError && 'data' in err && err.data.category === 'wrongType') {
|
93
|
-
var newmsg = "map attempted to call '".concat(err.data.fn, "(").concat(value);
|
94
|
-
var indexString = JSON.stringify(index);
|
95
|
-
if (args === 2) {
|
96
|
-
newmsg += ',' + indexString;
|
97
|
-
} else if (args !== 1) {
|
98
|
-
newmsg += ",".concat(indexString, ",").concat(array);
|
99
|
-
}
|
100
|
-
newmsg += ")' but argument ".concat(err.data.index + 1, " of type ");
|
101
|
-
newmsg += "".concat(err.data.actual, " does not match expected type ");
|
102
|
-
newmsg += err.data.expected.join(' or ');
|
103
|
-
throw new TypeError(newmsg);
|
104
|
-
}
|
105
|
-
throw err;
|
106
|
-
}
|
73
|
+
// invoke the callback function with the right number of arguments
|
74
|
+
return (0, _applyCallback.applyCallback)(callback, value, index, array, 'map');
|
107
75
|
}
|
108
76
|
};
|
109
77
|
return recurse(array, []);
|
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 11.8.
|
10
|
-
* @date 2023-
|
9
|
+
* @version 11.8.2
|
10
|
+
* @date 2023-06-20
|
11
11
|
*
|
12
12
|
* @license
|
13
13
|
* Copyright (C) 2013-2023 Jos de Jong <wjosdejong@gmail.com>
|
@@ -67,6 +67,13 @@ var createBignumber = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
67
67
|
// we assume a BigNumber is immutable
|
68
68
|
return x;
|
69
69
|
},
|
70
|
+
Unit: typed.referToSelf(function (self) {
|
71
|
+
return function (x) {
|
72
|
+
var clone = x.clone();
|
73
|
+
clone.value = self(x.value);
|
74
|
+
return clone;
|
75
|
+
};
|
76
|
+
}),
|
70
77
|
Fraction: function Fraction(x) {
|
71
78
|
return new BigNumber(x.n).div(x.d).times(x.s);
|
72
79
|
},
|
@@ -43,7 +43,7 @@ var createFraction = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fu
|
|
43
43
|
*
|
44
44
|
* bignumber, number, string, unit
|
45
45
|
*
|
46
|
-
* @param {number | string | Fraction | BigNumber | Array | Matrix} [args]
|
46
|
+
* @param {number | string | Fraction | BigNumber | Unit | Array | Matrix} [args]
|
47
47
|
* Arguments specifying the value, or numerator and denominator of
|
48
48
|
* the fraction
|
49
49
|
* @return {Fraction | Array | Matrix} Returns a fraction
|
@@ -71,6 +71,13 @@ var createFraction = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fu
|
|
71
71
|
return x; // fractions are immutable
|
72
72
|
},
|
73
73
|
|
74
|
+
Unit: typed.referToSelf(function (self) {
|
75
|
+
return function (x) {
|
76
|
+
var clone = x.clone();
|
77
|
+
clone.value = self(x.value);
|
78
|
+
return clone;
|
79
|
+
};
|
80
|
+
}),
|
74
81
|
Object: function Object(x) {
|
75
82
|
return new Fraction(x);
|
76
83
|
},
|
package/lib/cjs/type/number.js
CHANGED
@@ -125,9 +125,13 @@ var createNumber = /* #__PURE__ */(0, _factory.factory)(name, dependencies, func
|
|
125
125
|
Fraction: function Fraction(x) {
|
126
126
|
return x.valueOf();
|
127
127
|
},
|
128
|
-
Unit: function
|
129
|
-
|
130
|
-
|
128
|
+
Unit: typed.referToSelf(function (self) {
|
129
|
+
return function (x) {
|
130
|
+
var clone = x.clone();
|
131
|
+
clone.value = self(x.value);
|
132
|
+
return clone;
|
133
|
+
};
|
134
|
+
}),
|
131
135
|
"null": function _null(x) {
|
132
136
|
return 0;
|
133
137
|
},
|