mathjs 12.4.0 → 12.4.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 +22 -0
- package/README.md +28 -0
- package/bin/cli.js +1 -1
- package/bin/repl.js +1 -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/core/create.js +3 -3
- package/lib/cjs/defaultInstance.js +1 -1
- package/lib/cjs/entry/allFactoriesAny.js +1 -1
- package/lib/cjs/entry/allFactoriesNumber.js +1 -1
- package/lib/cjs/expression/node/AccessorNode.js +2 -3
- package/lib/cjs/expression/node/ArrayNode.js +2 -3
- package/lib/cjs/expression/node/AssignmentNode.js +2 -3
- package/lib/cjs/expression/node/BlockNode.js +2 -3
- package/lib/cjs/expression/node/ConditionalNode.js +2 -3
- package/lib/cjs/expression/node/ConstantNode.js +7 -6
- package/lib/cjs/expression/node/FunctionAssignmentNode.js +2 -3
- package/lib/cjs/expression/node/FunctionNode.js +5 -6
- package/lib/cjs/expression/node/IndexNode.js +2 -3
- package/lib/cjs/expression/node/Node.js +1 -2
- package/lib/cjs/expression/node/ObjectNode.js +2 -3
- package/lib/cjs/expression/node/OperatorNode.js +2 -3
- package/lib/cjs/expression/node/ParenthesisNode.js +2 -3
- package/lib/cjs/expression/node/RangeNode.js +2 -3
- package/lib/cjs/expression/node/RelationalNode.js +2 -3
- package/lib/cjs/expression/node/SymbolNode.js +2 -3
- package/lib/cjs/function/algebra/simplifyCore.js +3 -0
- package/lib/cjs/function/algebra/sparse/csAmd.js +4 -2
- package/lib/cjs/function/algebra/sparse/csChol.js +4 -2
- package/lib/cjs/function/algebra/sparse/csCounts.js +4 -2
- package/lib/cjs/function/algebra/sparse/csCumsum.js +4 -2
- package/lib/cjs/function/algebra/sparse/csDfs.js +4 -2
- package/lib/cjs/function/algebra/sparse/csEreach.js +4 -2
- package/lib/cjs/function/algebra/sparse/csEtree.js +4 -2
- package/lib/cjs/function/algebra/sparse/csFkeep.js +4 -2
- package/lib/cjs/function/algebra/sparse/csFlip.js +4 -2
- package/lib/cjs/function/algebra/sparse/csIpvec.js +4 -0
- package/lib/cjs/function/algebra/sparse/csLeaf.js +4 -2
- package/lib/cjs/function/algebra/sparse/csLu.js +4 -2
- package/lib/cjs/function/algebra/sparse/csMark.js +4 -2
- package/lib/cjs/function/algebra/sparse/csMarked.js +4 -2
- package/lib/cjs/function/algebra/sparse/csPermute.js +4 -2
- package/lib/cjs/function/algebra/sparse/csPost.js +4 -2
- package/lib/cjs/function/algebra/sparse/csReach.js +4 -2
- package/lib/cjs/function/algebra/sparse/csSpsolve.js +4 -2
- package/lib/cjs/function/algebra/sparse/csSqr.js +4 -2
- package/lib/cjs/function/algebra/sparse/csSymperm.js +4 -2
- package/lib/cjs/function/algebra/sparse/csTdfs.js +4 -2
- package/lib/cjs/function/algebra/sparse/csUnflip.js +4 -2
- package/lib/cjs/function/utils/isNaN.js +5 -3
- package/lib/cjs/header.js +2 -2
- package/lib/cjs/type/unit/Unit.js +6 -2
- package/lib/cjs/utils/map.js +2 -4
- package/lib/cjs/utils/object.js +0 -6
- package/lib/cjs/utils/snapshot.js +1 -1
- package/lib/cjs/version.js +1 -1
- package/lib/esm/core/create.js +3 -3
- package/lib/esm/expression/node/ConstantNode.js +5 -3
- package/lib/esm/expression/node/FunctionNode.js +3 -3
- package/lib/esm/function/algebra/simplifyCore.js +3 -0
- package/lib/esm/function/algebra/sparse/csAmd.js +3 -2
- package/lib/esm/function/algebra/sparse/csChol.js +3 -2
- package/lib/esm/function/algebra/sparse/csCounts.js +3 -2
- package/lib/esm/function/algebra/sparse/csCumsum.js +4 -2
- package/lib/esm/function/algebra/sparse/csDfs.js +3 -2
- package/lib/esm/function/algebra/sparse/csEreach.js +3 -2
- package/lib/esm/function/algebra/sparse/csEtree.js +4 -2
- package/lib/esm/function/algebra/sparse/csFkeep.js +4 -2
- package/lib/esm/function/algebra/sparse/csFlip.js +4 -2
- package/lib/esm/function/algebra/sparse/csIpvec.js +4 -0
- package/lib/esm/function/algebra/sparse/csLeaf.js +4 -2
- package/lib/esm/function/algebra/sparse/csLu.js +4 -2
- package/lib/esm/function/algebra/sparse/csMark.js +4 -2
- package/lib/esm/function/algebra/sparse/csMarked.js +4 -2
- package/lib/esm/function/algebra/sparse/csPermute.js +4 -2
- package/lib/esm/function/algebra/sparse/csPost.js +3 -2
- package/lib/esm/function/algebra/sparse/csReach.js +4 -2
- package/lib/esm/function/algebra/sparse/csSpsolve.js +3 -2
- package/lib/esm/function/algebra/sparse/csSqr.js +3 -2
- package/lib/esm/function/algebra/sparse/csSymperm.js +3 -2
- package/lib/esm/function/algebra/sparse/csTdfs.js +4 -2
- package/lib/esm/function/algebra/sparse/csUnflip.js +3 -2
- package/lib/esm/function/utils/isNaN.js +1 -3
- package/lib/esm/type/unit/Unit.js +6 -2
- package/lib/esm/utils/object.js +0 -3
- package/lib/esm/version.js +1 -1
- package/package.json +18 -18
- package/types/index.d.ts +4 -0
package/lib/cjs/core/create.js
CHANGED
|
@@ -19,7 +19,7 @@ var _DimensionError = require("../error/DimensionError.js");
|
|
|
19
19
|
var _IndexError = require("../error/IndexError.js");
|
|
20
20
|
var _config2 = require("./config.js");
|
|
21
21
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
22
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
22
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
23
23
|
/**
|
|
24
24
|
* Create a mathjs instance from given factory functions and optionally config
|
|
25
25
|
*
|
|
@@ -179,7 +179,7 @@ function create(factories, config) {
|
|
|
179
179
|
// listen for changes in config, import all functions again when changed
|
|
180
180
|
// TODO: move this listener into the import function?
|
|
181
181
|
math.on('config', function () {
|
|
182
|
-
|
|
182
|
+
Object.values(importedFactories).forEach(function (factory) {
|
|
183
183
|
if (factory && factory.meta && factory.meta.recreateOnConfigChange) {
|
|
184
184
|
// FIXME: only re-create when the current instance is the same as was initially created
|
|
185
185
|
// FIXME: delete the functions/constants before importing them again?
|
|
@@ -199,7 +199,7 @@ function create(factories, config) {
|
|
|
199
199
|
|
|
200
200
|
// import the factory functions like createAdd as an array instead of object,
|
|
201
201
|
// else they will get a different naming (`createAdd` instead of `add`).
|
|
202
|
-
math["import"](
|
|
202
|
+
math["import"](Object.values((0, _object.deepFlatten)(factories)));
|
|
203
203
|
math.ArgumentsError = _ArgumentsError.ArgumentsError;
|
|
204
204
|
math.DimensionError = _DimensionError.DimensionError;
|
|
205
205
|
math.IndexError = _IndexError.IndexError;
|
|
@@ -8,5 +8,5 @@ exports["default"] = void 0;
|
|
|
8
8
|
var all = _interopRequireWildcard(require("./factoriesAny.js"));
|
|
9
9
|
var _create = require("./core/create.js");
|
|
10
10
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
11
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
11
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
12
12
|
var _default = exports["default"] = (0, _create.create)(all);
|
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.all = void 0;
|
|
8
8
|
var allFactories = _interopRequireWildcard(require("../factoriesAny.js"));
|
|
9
9
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
10
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
10
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
11
11
|
// creating all factories here in a separate file is needed to get tree-shaking working
|
|
12
12
|
|
|
13
13
|
var all = exports.all = allFactories;
|
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.all = void 0;
|
|
8
8
|
var allFactories = _interopRequireWildcard(require("../factoriesNumber.js"));
|
|
9
9
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
10
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
10
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
11
11
|
// creating all factories here in a separate file is needed to get tree-shaking working
|
|
12
12
|
|
|
13
13
|
var all = exports.all = allFactories;
|
|
@@ -35,7 +35,6 @@ var createAccessorNode = exports.createAccessorNode = /* #__PURE__ */(0, _factor
|
|
|
35
35
|
return !((0, _is.isAccessorNode)(node) || (0, _is.isArrayNode)(node) || (0, _is.isConstantNode)(node) || (0, _is.isFunctionNode)(node) || (0, _is.isObjectNode)(node) || (0, _is.isParenthesisNode)(node) || (0, _is.isSymbolNode)(node));
|
|
36
36
|
}
|
|
37
37
|
var AccessorNode = /*#__PURE__*/function (_Node) {
|
|
38
|
-
(0, _inherits2["default"])(AccessorNode, _Node);
|
|
39
38
|
/**
|
|
40
39
|
* @constructor AccessorNode
|
|
41
40
|
* @extends {Node}
|
|
@@ -61,7 +60,8 @@ var createAccessorNode = exports.createAccessorNode = /* #__PURE__ */(0, _factor
|
|
|
61
60
|
}
|
|
62
61
|
|
|
63
62
|
// readonly property name
|
|
64
|
-
(0,
|
|
63
|
+
(0, _inherits2["default"])(AccessorNode, _Node);
|
|
64
|
+
return (0, _createClass2["default"])(AccessorNode, [{
|
|
65
65
|
key: "name",
|
|
66
66
|
get: function get() {
|
|
67
67
|
if (this.index) {
|
|
@@ -221,7 +221,6 @@ var createAccessorNode = exports.createAccessorNode = /* #__PURE__ */(0, _factor
|
|
|
221
221
|
return new AccessorNode(json.object, json.index);
|
|
222
222
|
}
|
|
223
223
|
}]);
|
|
224
|
-
return AccessorNode;
|
|
225
224
|
}(Node);
|
|
226
225
|
(0, _defineProperty2["default"])(AccessorNode, "name", name);
|
|
227
226
|
return AccessorNode;
|
|
@@ -21,7 +21,6 @@ var dependencies = ['Node'];
|
|
|
21
21
|
var createArrayNode = exports.createArrayNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
|
22
22
|
var Node = _ref.Node;
|
|
23
23
|
var ArrayNode = /*#__PURE__*/function (_Node) {
|
|
24
|
-
(0, _inherits2["default"])(ArrayNode, _Node);
|
|
25
24
|
/**
|
|
26
25
|
* @constructor ArrayNode
|
|
27
26
|
* @extends {Node}
|
|
@@ -40,7 +39,8 @@ var createArrayNode = exports.createArrayNode = /* #__PURE__ */(0, _factory.fact
|
|
|
40
39
|
}
|
|
41
40
|
return _this;
|
|
42
41
|
}
|
|
43
|
-
(0,
|
|
42
|
+
(0, _inherits2["default"])(ArrayNode, _Node);
|
|
43
|
+
return (0, _createClass2["default"])(ArrayNode, [{
|
|
44
44
|
key: "type",
|
|
45
45
|
get: function get() {
|
|
46
46
|
return name;
|
|
@@ -206,7 +206,6 @@ var createArrayNode = exports.createArrayNode = /* #__PURE__ */(0, _factory.fact
|
|
|
206
206
|
return new ArrayNode(json.items);
|
|
207
207
|
}
|
|
208
208
|
}]);
|
|
209
|
-
return ArrayNode;
|
|
210
209
|
}(Node);
|
|
211
210
|
(0, _defineProperty2["default"])(ArrayNode, "name", name);
|
|
212
211
|
return ArrayNode;
|
|
@@ -51,7 +51,6 @@ var createAssignmentNode = exports.createAssignmentNode = /* #__PURE__ */(0, _fa
|
|
|
51
51
|
return parenthesis === 'all' || exprPrecedence !== null && exprPrecedence <= precedence;
|
|
52
52
|
}
|
|
53
53
|
var AssignmentNode = /*#__PURE__*/function (_Node) {
|
|
54
|
-
(0, _inherits2["default"])(AssignmentNode, _Node);
|
|
55
54
|
/**
|
|
56
55
|
* @constructor AssignmentNode
|
|
57
56
|
* @extends {Node}
|
|
@@ -109,7 +108,8 @@ var createAssignmentNode = exports.createAssignmentNode = /* #__PURE__ */(0, _fa
|
|
|
109
108
|
}
|
|
110
109
|
|
|
111
110
|
// class name for typing purposes:
|
|
112
|
-
(0,
|
|
111
|
+
(0, _inherits2["default"])(AssignmentNode, _Node);
|
|
112
|
+
return (0, _createClass2["default"])(AssignmentNode, [{
|
|
113
113
|
key: "name",
|
|
114
114
|
get:
|
|
115
115
|
// readonly property name
|
|
@@ -338,7 +338,6 @@ var createAssignmentNode = exports.createAssignmentNode = /* #__PURE__ */(0, _fa
|
|
|
338
338
|
return new AssignmentNode(json.object, json.index, json.value);
|
|
339
339
|
}
|
|
340
340
|
}]);
|
|
341
|
-
return AssignmentNode;
|
|
342
341
|
}(Node);
|
|
343
342
|
(0, _defineProperty2["default"])(AssignmentNode, "name", name);
|
|
344
343
|
return AssignmentNode;
|
|
@@ -22,7 +22,6 @@ var createBlockNode = exports.createBlockNode = /* #__PURE__ */(0, _factory.fact
|
|
|
22
22
|
var ResultSet = _ref.ResultSet,
|
|
23
23
|
Node = _ref.Node;
|
|
24
24
|
var BlockNode = /*#__PURE__*/function (_Node) {
|
|
25
|
-
(0, _inherits2["default"])(BlockNode, _Node);
|
|
26
25
|
/**
|
|
27
26
|
* @constructor BlockNode
|
|
28
27
|
* @extends {Node}
|
|
@@ -53,7 +52,8 @@ var createBlockNode = exports.createBlockNode = /* #__PURE__ */(0, _factory.fact
|
|
|
53
52
|
});
|
|
54
53
|
return _this;
|
|
55
54
|
}
|
|
56
|
-
(0,
|
|
55
|
+
(0, _inherits2["default"])(BlockNode, _Node);
|
|
56
|
+
return (0, _createClass2["default"])(BlockNode, [{
|
|
57
57
|
key: "type",
|
|
58
58
|
get: function get() {
|
|
59
59
|
return name;
|
|
@@ -215,7 +215,6 @@ var createBlockNode = exports.createBlockNode = /* #__PURE__ */(0, _factory.fact
|
|
|
215
215
|
return new BlockNode(json.blocks);
|
|
216
216
|
}
|
|
217
217
|
}]);
|
|
218
|
-
return BlockNode;
|
|
219
218
|
}(Node);
|
|
220
219
|
(0, _defineProperty2["default"])(BlockNode, "name", name);
|
|
221
220
|
return BlockNode;
|
|
@@ -46,7 +46,6 @@ var createConditionalNode = exports.createConditionalNode = /* #__PURE__ */(0, _
|
|
|
46
46
|
throw new TypeError('Unsupported type of condition "' + (0, _is.typeOf)(condition) + '"');
|
|
47
47
|
}
|
|
48
48
|
var ConditionalNode = /*#__PURE__*/function (_Node) {
|
|
49
|
-
(0, _inherits2["default"])(ConditionalNode, _Node);
|
|
50
49
|
/**
|
|
51
50
|
* A lazy evaluating conditional operator: 'condition ? trueExpr : falseExpr'
|
|
52
51
|
*
|
|
@@ -75,7 +74,8 @@ var createConditionalNode = exports.createConditionalNode = /* #__PURE__ */(0, _
|
|
|
75
74
|
_this.falseExpr = falseExpr;
|
|
76
75
|
return _this;
|
|
77
76
|
}
|
|
78
|
-
(0,
|
|
77
|
+
(0, _inherits2["default"])(ConditionalNode, _Node);
|
|
78
|
+
return (0, _createClass2["default"])(ConditionalNode, [{
|
|
79
79
|
key: "type",
|
|
80
80
|
get: function get() {
|
|
81
81
|
return name;
|
|
@@ -255,7 +255,6 @@ var createConditionalNode = exports.createConditionalNode = /* #__PURE__ */(0, _
|
|
|
255
255
|
return new ConditionalNode(json.condition, json.trueExpr, json.falseExpr);
|
|
256
256
|
}
|
|
257
257
|
}]);
|
|
258
|
-
return ConditionalNode;
|
|
259
258
|
}(Node);
|
|
260
259
|
(0, _defineProperty2["default"])(ConditionalNode, "name", name);
|
|
261
260
|
return ConditionalNode;
|
|
@@ -22,7 +22,6 @@ var dependencies = ['Node'];
|
|
|
22
22
|
var createConstantNode = exports.createConstantNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
|
23
23
|
var Node = _ref.Node;
|
|
24
24
|
var ConstantNode = /*#__PURE__*/function (_Node) {
|
|
25
|
-
(0, _inherits2["default"])(ConstantNode, _Node);
|
|
26
25
|
/**
|
|
27
26
|
* A ConstantNode holds a constant value like a number or string.
|
|
28
27
|
*
|
|
@@ -42,7 +41,8 @@ var createConstantNode = exports.createConstantNode = /* #__PURE__ */(0, _factor
|
|
|
42
41
|
_this.value = value;
|
|
43
42
|
return _this;
|
|
44
43
|
}
|
|
45
|
-
(0,
|
|
44
|
+
(0, _inherits2["default"])(ConstantNode, _Node);
|
|
45
|
+
return (0, _createClass2["default"])(ConstantNode, [{
|
|
46
46
|
key: "type",
|
|
47
47
|
get: function get() {
|
|
48
48
|
return name;
|
|
@@ -175,21 +175,23 @@ var createConstantNode = exports.createConstantNode = /* #__PURE__ */(0, _factor
|
|
|
175
175
|
*/
|
|
176
176
|
function _toTex(options) {
|
|
177
177
|
var value = this._toString(options);
|
|
178
|
-
|
|
178
|
+
var type = (0, _is.typeOf)(this.value);
|
|
179
|
+
switch (type) {
|
|
179
180
|
case 'string':
|
|
180
181
|
return '\\mathtt{' + (0, _latex.escapeLatex)(value) + '}';
|
|
181
182
|
case 'number':
|
|
182
183
|
case 'BigNumber':
|
|
183
184
|
{
|
|
184
|
-
|
|
185
|
+
var finite = type === 'BigNumber' ? this.value.isFinite() : isFinite(this.value);
|
|
186
|
+
if (!finite) {
|
|
185
187
|
return this.value.valueOf() < 0 ? '-\\infty' : '\\infty';
|
|
186
188
|
}
|
|
187
189
|
var index = value.toLowerCase().indexOf('e');
|
|
188
190
|
if (index !== -1) {
|
|
189
191
|
return value.substring(0, index) + '\\cdot10^{' + value.substring(index + 1) + '}';
|
|
190
192
|
}
|
|
193
|
+
return value;
|
|
191
194
|
}
|
|
192
|
-
return value;
|
|
193
195
|
case 'Fraction':
|
|
194
196
|
return this.value.toLatex();
|
|
195
197
|
default:
|
|
@@ -202,7 +204,6 @@ var createConstantNode = exports.createConstantNode = /* #__PURE__ */(0, _factor
|
|
|
202
204
|
return new ConstantNode(json.value);
|
|
203
205
|
}
|
|
204
206
|
}]);
|
|
205
|
-
return ConstantNode;
|
|
206
207
|
}(Node);
|
|
207
208
|
(0, _defineProperty2["default"])(ConstantNode, "name", name);
|
|
208
209
|
return ConstantNode;
|
|
@@ -41,7 +41,6 @@ var createFunctionAssignmentNode = exports.createFunctionAssignmentNode = /* #__
|
|
|
41
41
|
return parenthesis === 'all' || exprPrecedence !== null && exprPrecedence <= precedence;
|
|
42
42
|
}
|
|
43
43
|
var FunctionAssignmentNode = /*#__PURE__*/function (_Node) {
|
|
44
|
-
(0, _inherits2["default"])(FunctionAssignmentNode, _Node);
|
|
45
44
|
/**
|
|
46
45
|
* @constructor FunctionAssignmentNode
|
|
47
46
|
* @extends {Node}
|
|
@@ -99,7 +98,8 @@ var createFunctionAssignmentNode = exports.createFunctionAssignmentNode = /* #__
|
|
|
99
98
|
_this.expr = expr;
|
|
100
99
|
return _this;
|
|
101
100
|
}
|
|
102
|
-
(0,
|
|
101
|
+
(0, _inherits2["default"])(FunctionAssignmentNode, _Node);
|
|
102
|
+
return (0, _createClass2["default"])(FunctionAssignmentNode, [{
|
|
103
103
|
key: "type",
|
|
104
104
|
get: function get() {
|
|
105
105
|
return name;
|
|
@@ -277,7 +277,6 @@ var createFunctionAssignmentNode = exports.createFunctionAssignmentNode = /* #__
|
|
|
277
277
|
return new FunctionAssignmentNode(json.name, json.params, json.expr);
|
|
278
278
|
}
|
|
279
279
|
}]);
|
|
280
|
-
return FunctionAssignmentNode;
|
|
281
280
|
}(Node);
|
|
282
281
|
(0, _defineProperty2["default"])(FunctionAssignmentNode, "name", name);
|
|
283
282
|
return FunctionAssignmentNode;
|
|
@@ -26,7 +26,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
|
|
|
26
26
|
var name = 'FunctionNode';
|
|
27
27
|
var dependencies = ['math', 'Node', 'SymbolNode'];
|
|
28
28
|
var createFunctionNode = exports.createFunctionNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
|
29
|
-
var
|
|
29
|
+
var _FunctionNode;
|
|
30
30
|
var math = _ref.math,
|
|
31
31
|
Node = _ref.Node,
|
|
32
32
|
SymbolNode = _ref.SymbolNode;
|
|
@@ -108,7 +108,6 @@ var createFunctionNode = exports.createFunctionNode = /* #__PURE__ */(0, _factor
|
|
|
108
108
|
return latex;
|
|
109
109
|
}
|
|
110
110
|
var FunctionNode = /*#__PURE__*/function (_Node) {
|
|
111
|
-
(0, _inherits2["default"])(FunctionNode, _Node);
|
|
112
111
|
/**
|
|
113
112
|
* @constructor FunctionNode
|
|
114
113
|
* @extends {./Node}
|
|
@@ -137,7 +136,8 @@ var createFunctionNode = exports.createFunctionNode = /* #__PURE__ */(0, _factor
|
|
|
137
136
|
}
|
|
138
137
|
|
|
139
138
|
// readonly property name
|
|
140
|
-
(0,
|
|
139
|
+
(0, _inherits2["default"])(FunctionNode, _Node);
|
|
140
|
+
return (0, _createClass2["default"])(FunctionNode, [{
|
|
141
141
|
key: "name",
|
|
142
142
|
get: function get() {
|
|
143
143
|
return this.fn.name || '';
|
|
@@ -515,15 +515,14 @@ var createFunctionNode = exports.createFunctionNode = /* #__PURE__ */(0, _factor
|
|
|
515
515
|
return this.type + ':' + this.name;
|
|
516
516
|
}
|
|
517
517
|
}]);
|
|
518
|
-
return FunctionNode;
|
|
519
518
|
}(Node);
|
|
520
|
-
|
|
519
|
+
_FunctionNode = FunctionNode;
|
|
521
520
|
(0, _defineProperty2["default"])(FunctionNode, "name", name);
|
|
522
521
|
(0, _defineProperty2["default"])(FunctionNode, "onUndefinedFunction", function (name) {
|
|
523
522
|
throw new Error('Undefined function ' + name);
|
|
524
523
|
});
|
|
525
524
|
(0, _defineProperty2["default"])(FunctionNode, "fromJSON", function (json) {
|
|
526
|
-
return new
|
|
525
|
+
return new _FunctionNode(json.fn, json.args);
|
|
527
526
|
});
|
|
528
527
|
return FunctionNode;
|
|
529
528
|
}, {
|
|
@@ -25,7 +25,6 @@ var createIndexNode = exports.createIndexNode = /* #__PURE__ */(0, _factory.fact
|
|
|
25
25
|
var Node = _ref.Node,
|
|
26
26
|
size = _ref.size;
|
|
27
27
|
var IndexNode = /*#__PURE__*/function (_Node) {
|
|
28
|
-
(0, _inherits2["default"])(IndexNode, _Node);
|
|
29
28
|
/**
|
|
30
29
|
* @constructor IndexNode
|
|
31
30
|
* @extends Node
|
|
@@ -56,7 +55,8 @@ var createIndexNode = exports.createIndexNode = /* #__PURE__ */(0, _factory.fact
|
|
|
56
55
|
}
|
|
57
56
|
return _this;
|
|
58
57
|
}
|
|
59
|
-
(0,
|
|
58
|
+
(0, _inherits2["default"])(IndexNode, _Node);
|
|
59
|
+
return (0, _createClass2["default"])(IndexNode, [{
|
|
60
60
|
key: "type",
|
|
61
61
|
get: function get() {
|
|
62
62
|
return name;
|
|
@@ -256,7 +256,6 @@ var createIndexNode = exports.createIndexNode = /* #__PURE__ */(0, _factory.fact
|
|
|
256
256
|
return new IndexNode(json.dimensions, json.dotNotation);
|
|
257
257
|
}
|
|
258
258
|
}]);
|
|
259
|
-
return IndexNode;
|
|
260
259
|
}(Node);
|
|
261
260
|
(0, _defineProperty2["default"])(IndexNode, "name", name);
|
|
262
261
|
return IndexNode;
|
|
@@ -35,7 +35,7 @@ var createNode = exports.createNode = /* #__PURE__ */(0, _factory.factory)(name,
|
|
|
35
35
|
function Node() {
|
|
36
36
|
(0, _classCallCheck2["default"])(this, Node);
|
|
37
37
|
}
|
|
38
|
-
(0, _createClass2["default"])(Node, [{
|
|
38
|
+
return (0, _createClass2["default"])(Node, [{
|
|
39
39
|
key: "type",
|
|
40
40
|
get: function get() {
|
|
41
41
|
return 'Node';
|
|
@@ -426,7 +426,6 @@ var createNode = exports.createNode = /* #__PURE__ */(0, _factory.factory)(name,
|
|
|
426
426
|
return this;
|
|
427
427
|
}
|
|
428
428
|
}]);
|
|
429
|
-
return Node;
|
|
430
429
|
}();
|
|
431
430
|
return Node;
|
|
432
431
|
}, {
|
|
@@ -24,7 +24,6 @@ var dependencies = ['Node'];
|
|
|
24
24
|
var createObjectNode = exports.createObjectNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
|
25
25
|
var Node = _ref.Node;
|
|
26
26
|
var ObjectNode = /*#__PURE__*/function (_Node) {
|
|
27
|
-
(0, _inherits2["default"])(ObjectNode, _Node);
|
|
28
27
|
/**
|
|
29
28
|
* @constructor ObjectNode
|
|
30
29
|
* @extends {Node}
|
|
@@ -47,7 +46,8 @@ var createObjectNode = exports.createObjectNode = /* #__PURE__ */(0, _factory.fa
|
|
|
47
46
|
}
|
|
48
47
|
return _this;
|
|
49
48
|
}
|
|
50
|
-
(0,
|
|
49
|
+
(0, _inherits2["default"])(ObjectNode, _Node);
|
|
50
|
+
return (0, _createClass2["default"])(ObjectNode, [{
|
|
51
51
|
key: "type",
|
|
52
52
|
get: function get() {
|
|
53
53
|
return name;
|
|
@@ -224,7 +224,6 @@ var createObjectNode = exports.createObjectNode = /* #__PURE__ */(0, _factory.fa
|
|
|
224
224
|
return new ObjectNode(json.properties);
|
|
225
225
|
}
|
|
226
226
|
}]);
|
|
227
|
-
return ObjectNode;
|
|
228
227
|
}(Node);
|
|
229
228
|
(0, _defineProperty2["default"])(ObjectNode, "name", name);
|
|
230
229
|
return ObjectNode;
|
|
@@ -235,7 +235,6 @@ var createOperatorNode = exports.createOperatorNode = /* #__PURE__ */(0, _factor
|
|
|
235
235
|
return result;
|
|
236
236
|
}
|
|
237
237
|
var OperatorNode = /*#__PURE__*/function (_Node) {
|
|
238
|
-
(0, _inherits2["default"])(OperatorNode, _Node);
|
|
239
238
|
/**
|
|
240
239
|
* @constructor OperatorNode
|
|
241
240
|
* @extends {Node}
|
|
@@ -268,7 +267,8 @@ var createOperatorNode = exports.createOperatorNode = /* #__PURE__ */(0, _factor
|
|
|
268
267
|
_this.args = args || [];
|
|
269
268
|
return _this;
|
|
270
269
|
}
|
|
271
|
-
(0,
|
|
270
|
+
(0, _inherits2["default"])(OperatorNode, _Node);
|
|
271
|
+
return (0, _createClass2["default"])(OperatorNode, [{
|
|
272
272
|
key: "type",
|
|
273
273
|
get: function get() {
|
|
274
274
|
return name;
|
|
@@ -665,7 +665,6 @@ var createOperatorNode = exports.createOperatorNode = /* #__PURE__ */(0, _factor
|
|
|
665
665
|
return new OperatorNode(json.op, json.fn, json.args, json.implicit, json.isPercentage);
|
|
666
666
|
}
|
|
667
667
|
}]);
|
|
668
|
-
return OperatorNode;
|
|
669
668
|
}(Node);
|
|
670
669
|
(0, _defineProperty2["default"])(OperatorNode, "name", name);
|
|
671
670
|
return OperatorNode;
|
|
@@ -20,7 +20,6 @@ var dependencies = ['Node'];
|
|
|
20
20
|
var createParenthesisNode = exports.createParenthesisNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
|
21
21
|
var Node = _ref.Node;
|
|
22
22
|
var ParenthesisNode = /*#__PURE__*/function (_Node) {
|
|
23
|
-
(0, _inherits2["default"])(ParenthesisNode, _Node);
|
|
24
23
|
/**
|
|
25
24
|
* @constructor ParenthesisNode
|
|
26
25
|
* @extends {Node}
|
|
@@ -39,7 +38,8 @@ var createParenthesisNode = exports.createParenthesisNode = /* #__PURE__ */(0, _
|
|
|
39
38
|
_this.content = content;
|
|
40
39
|
return _this;
|
|
41
40
|
}
|
|
42
|
-
(0,
|
|
41
|
+
(0, _inherits2["default"])(ParenthesisNode, _Node);
|
|
42
|
+
return (0, _createClass2["default"])(ParenthesisNode, [{
|
|
43
43
|
key: "type",
|
|
44
44
|
get: function get() {
|
|
45
45
|
return name;
|
|
@@ -184,7 +184,6 @@ var createParenthesisNode = exports.createParenthesisNode = /* #__PURE__ */(0, _
|
|
|
184
184
|
return new ParenthesisNode(json.content);
|
|
185
185
|
}
|
|
186
186
|
}]);
|
|
187
|
-
return ParenthesisNode;
|
|
188
187
|
}(Node);
|
|
189
188
|
(0, _defineProperty2["default"])(ParenthesisNode, "name", name);
|
|
190
189
|
return ParenthesisNode;
|
|
@@ -42,7 +42,6 @@ var createRangeNode = exports.createRangeNode = /* #__PURE__ */(0, _factory.fact
|
|
|
42
42
|
return parens;
|
|
43
43
|
}
|
|
44
44
|
var RangeNode = /*#__PURE__*/function (_Node) {
|
|
45
|
-
(0, _inherits2["default"])(RangeNode, _Node);
|
|
46
45
|
/**
|
|
47
46
|
* @constructor RangeNode
|
|
48
47
|
* @extends {Node}
|
|
@@ -65,7 +64,8 @@ var createRangeNode = exports.createRangeNode = /* #__PURE__ */(0, _factory.fact
|
|
|
65
64
|
_this.step = step || null; // optional step
|
|
66
65
|
return _this;
|
|
67
66
|
}
|
|
68
|
-
(0,
|
|
67
|
+
(0, _inherits2["default"])(RangeNode, _Node);
|
|
68
|
+
return (0, _createClass2["default"])(RangeNode, [{
|
|
69
69
|
key: "type",
|
|
70
70
|
get: function get() {
|
|
71
71
|
return name;
|
|
@@ -282,7 +282,6 @@ var createRangeNode = exports.createRangeNode = /* #__PURE__ */(0, _factory.fact
|
|
|
282
282
|
return new RangeNode(json.start, json.end, json.step);
|
|
283
283
|
}
|
|
284
284
|
}]);
|
|
285
|
-
return RangeNode;
|
|
286
285
|
}(Node);
|
|
287
286
|
(0, _defineProperty2["default"])(RangeNode, "name", name);
|
|
288
287
|
return RangeNode;
|
|
@@ -31,7 +31,6 @@ var createRelationalNode = exports.createRelationalNode = /* #__PURE__ */(0, _fa
|
|
|
31
31
|
largerEq: '>='
|
|
32
32
|
};
|
|
33
33
|
var RelationalNode = /*#__PURE__*/function (_Node) {
|
|
34
|
-
(0, _inherits2["default"])(RelationalNode, _Node);
|
|
35
34
|
/**
|
|
36
35
|
* A node representing a chained conditional expression, such as 'x > y > z'
|
|
37
36
|
*
|
|
@@ -60,7 +59,8 @@ var createRelationalNode = exports.createRelationalNode = /* #__PURE__ */(0, _fa
|
|
|
60
59
|
_this.params = params;
|
|
61
60
|
return _this;
|
|
62
61
|
}
|
|
63
|
-
(0,
|
|
62
|
+
(0, _inherits2["default"])(RelationalNode, _Node);
|
|
63
|
+
return (0, _createClass2["default"])(RelationalNode, [{
|
|
64
64
|
key: "type",
|
|
65
65
|
get: function get() {
|
|
66
66
|
return name;
|
|
@@ -236,7 +236,6 @@ var createRelationalNode = exports.createRelationalNode = /* #__PURE__ */(0, _fa
|
|
|
236
236
|
return new RelationalNode(json.conditionals, json.params);
|
|
237
237
|
}
|
|
238
238
|
}]);
|
|
239
|
-
return RelationalNode;
|
|
240
239
|
}(Node);
|
|
241
240
|
(0, _defineProperty2["default"])(RelationalNode, "name", name);
|
|
242
241
|
return RelationalNode;
|
|
@@ -31,7 +31,6 @@ var createSymbolNode = exports.createSymbolNode = /* #__PURE__ */(0, _factory.fa
|
|
|
31
31
|
return Unit ? Unit.isValuelessUnit(name) : false;
|
|
32
32
|
}
|
|
33
33
|
var SymbolNode = /*#__PURE__*/function (_Node) {
|
|
34
|
-
(0, _inherits2["default"])(SymbolNode, _Node);
|
|
35
34
|
/**
|
|
36
35
|
* @constructor SymbolNode
|
|
37
36
|
* @extends {Node}
|
|
@@ -50,7 +49,8 @@ var createSymbolNode = exports.createSymbolNode = /* #__PURE__ */(0, _factory.fa
|
|
|
50
49
|
_this.name = name;
|
|
51
50
|
return _this;
|
|
52
51
|
}
|
|
53
|
-
(0,
|
|
52
|
+
(0, _inherits2["default"])(SymbolNode, _Node);
|
|
53
|
+
return (0, _createClass2["default"])(SymbolNode, [{
|
|
54
54
|
key: "type",
|
|
55
55
|
get: function get() {
|
|
56
56
|
return 'SymbolNode';
|
|
@@ -226,7 +226,6 @@ var createSymbolNode = exports.createSymbolNode = /* #__PURE__ */(0, _factory.fa
|
|
|
226
226
|
return new SymbolNode(json.name);
|
|
227
227
|
}
|
|
228
228
|
}]);
|
|
229
|
-
return SymbolNode;
|
|
230
229
|
}(Node);
|
|
231
230
|
return SymbolNode;
|
|
232
231
|
}, {
|
|
@@ -234,6 +234,9 @@ var createSimplifyCore = exports.createSimplifyCore = /* #__PURE__ */(0, _factor
|
|
|
234
234
|
if ((0, _is.isConstantNode)(_a)) {
|
|
235
235
|
if (_a.value) {
|
|
236
236
|
if (isAlwaysBoolean(a1)) return a1;
|
|
237
|
+
if ((0, _is.isConstantNode)(a1)) {
|
|
238
|
+
return a1.value ? nodeT : nodeF;
|
|
239
|
+
}
|
|
237
240
|
} else {
|
|
238
241
|
return nodeF;
|
|
239
242
|
}
|
|
@@ -8,6 +8,10 @@ var _factory = require("../../../utils/factory.js");
|
|
|
8
8
|
var _csFkeep = require("./csFkeep.js");
|
|
9
9
|
var _csFlip = require("./csFlip.js");
|
|
10
10
|
var _csTdfs = require("./csTdfs.js");
|
|
11
|
+
// Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
|
|
12
|
+
// SPDX-License-Identifier: LGPL-2.1+
|
|
13
|
+
// https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
|
|
14
|
+
|
|
11
15
|
var name = 'csAmd';
|
|
12
16
|
var dependencies = ['add', 'multiply', 'transpose'];
|
|
13
17
|
var createCsAmd = exports.createCsAmd = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
|
@@ -20,8 +24,6 @@ var createCsAmd = exports.createCsAmd = /* #__PURE__ */(0, _factory.factory)(nam
|
|
|
20
24
|
* than A. It is a gready method that selects the sparsest pivot row and column during the course
|
|
21
25
|
* of a right looking sparse Cholesky factorization.
|
|
22
26
|
*
|
|
23
|
-
* Reference: http://faculty.cse.tamu.edu/davis/publications.html
|
|
24
|
-
*
|
|
25
27
|
* @param {Number} order 0: Natural, 1: Cholesky, 2: LU, 3: QR
|
|
26
28
|
* @param {Matrix} m Sparse Matrix
|
|
27
29
|
*/
|
|
@@ -7,6 +7,10 @@ exports.createCsChol = void 0;
|
|
|
7
7
|
var _factory = require("../../../utils/factory.js");
|
|
8
8
|
var _csEreach = require("./csEreach.js");
|
|
9
9
|
var _csSymperm = require("./csSymperm.js");
|
|
10
|
+
// Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
|
|
11
|
+
// SPDX-License-Identifier: LGPL-2.1+
|
|
12
|
+
// https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
|
|
13
|
+
|
|
10
14
|
var name = 'csChol';
|
|
11
15
|
var dependencies = ['divideScalar', 'sqrt', 'subtract', 'multiply', 'im', 're', 'conj', 'equal', 'smallerEq', 'SparseMatrix'];
|
|
12
16
|
var createCsChol = exports.createCsChol = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
|
@@ -33,8 +37,6 @@ var createCsChol = exports.createCsChol = /* #__PURE__ */(0, _factory.factory)(n
|
|
|
33
37
|
* @param {Object} s The symbolic analysis from cs_schol()
|
|
34
38
|
*
|
|
35
39
|
* @return {Number} The numeric Cholesky factorization of A or null
|
|
36
|
-
*
|
|
37
|
-
* Reference: http://faculty.cse.tamu.edu/davis/publications.html
|
|
38
40
|
*/
|
|
39
41
|
return function csChol(m, s) {
|
|
40
42
|
// validate input
|
|
@@ -6,6 +6,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.createCsCounts = void 0;
|
|
7
7
|
var _factory = require("../../../utils/factory.js");
|
|
8
8
|
var _csLeaf = require("./csLeaf.js");
|
|
9
|
+
// Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
|
|
10
|
+
// SPDX-License-Identifier: LGPL-2.1+
|
|
11
|
+
// https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
|
|
12
|
+
|
|
9
13
|
var name = 'csCounts';
|
|
10
14
|
var dependencies = ['transpose'];
|
|
11
15
|
var createCsCounts = exports.createCsCounts = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
|
@@ -19,8 +23,6 @@ var createCsCounts = exports.createCsCounts = /* #__PURE__ */(0, _factory.factor
|
|
|
19
23
|
* @param {Matrix} ata Count the columns of A'A instead
|
|
20
24
|
*
|
|
21
25
|
* @return An array of size n of the column counts or null on error
|
|
22
|
-
*
|
|
23
|
-
* Reference: http://faculty.cse.tamu.edu/davis/publications.html
|
|
24
26
|
*/
|
|
25
27
|
return function (a, parent, post, ata) {
|
|
26
28
|
// check inputs
|
|
@@ -4,14 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.csCumsum = csCumsum;
|
|
7
|
+
// Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
|
|
8
|
+
// SPDX-License-Identifier: LGPL-2.1+
|
|
9
|
+
// https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
|
|
10
|
+
|
|
7
11
|
/**
|
|
8
12
|
* It sets the p[i] equal to the sum of c[0] through c[i-1].
|
|
9
13
|
*
|
|
10
14
|
* @param {Array} ptr The Sparse Matrix ptr array
|
|
11
15
|
* @param {Array} c The Sparse Matrix ptr array
|
|
12
16
|
* @param {Number} n The number of columns
|
|
13
|
-
*
|
|
14
|
-
* Reference: http://faculty.cse.tamu.edu/davis/publications.html
|
|
15
17
|
*/
|
|
16
18
|
function csCumsum(ptr, c, n) {
|
|
17
19
|
// variables
|
|
@@ -7,6 +7,10 @@ exports.csDfs = csDfs;
|
|
|
7
7
|
var _csMarked = require("./csMarked.js");
|
|
8
8
|
var _csMark = require("./csMark.js");
|
|
9
9
|
var _csUnflip = require("./csUnflip.js");
|
|
10
|
+
// Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
|
|
11
|
+
// SPDX-License-Identifier: LGPL-2.1+
|
|
12
|
+
// https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
|
|
13
|
+
|
|
10
14
|
/**
|
|
11
15
|
* Depth-first search computes the nonzero pattern xi of the directed graph G (Matrix) starting
|
|
12
16
|
* at nodes in B (see csReach()).
|
|
@@ -20,8 +24,6 @@ var _csUnflip = require("./csUnflip.js");
|
|
|
20
24
|
* @param {Array} pinv The inverse row permutation vector, must be null for L * x = b
|
|
21
25
|
*
|
|
22
26
|
* @return {Number} New value of top
|
|
23
|
-
*
|
|
24
|
-
* Reference: http://faculty.cse.tamu.edu/davis/publications.html
|
|
25
27
|
*/
|
|
26
28
|
function csDfs(j, g, top, xi, pinv) {
|
|
27
29
|
// g arrays
|