binary-decision-diagram 1.4.0 → 2.0.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.
- package/.github/workflows/main.yml +2 -2
- package/dist/es/abstract-node.js +45 -51
- package/dist/es/abstract-node.js.map +1 -1
- package/dist/es/branches.js +20 -22
- package/dist/es/branches.js.map +1 -1
- package/dist/es/create-bdd-from-truth-table.js +19 -57
- package/dist/es/create-bdd-from-truth-table.js.map +1 -1
- package/dist/es/ensure-correct-bdd.js +26 -27
- package/dist/es/ensure-correct-bdd.js.map +1 -1
- package/dist/es/fill-truth-table.js +3 -3
- package/dist/es/fill-truth-table.js.map +1 -1
- package/dist/es/find-similar-node.js +3 -3
- package/dist/es/find-similar-node.js.map +1 -1
- package/dist/es/internal-node.js +15 -35
- package/dist/es/internal-node.js.map +1 -1
- package/dist/es/leaf-node.js +14 -34
- package/dist/es/leaf-node.js.map +1 -1
- package/dist/es/minimal-string/bdd-to-minimal-string.js +15 -15
- package/dist/es/minimal-string/bdd-to-minimal-string.js.map +1 -1
- package/dist/es/minimal-string/bdd-to-simple-bdd.js +2 -2
- package/dist/es/minimal-string/bdd-to-simple-bdd.js.map +1 -1
- package/dist/es/minimal-string/minimal-string-to-simple-bdd.js +27 -27
- package/dist/es/minimal-string/minimal-string-to-simple-bdd.js.map +1 -1
- package/dist/es/minimal-string/resolve-with-simple-bdd.js +4 -4
- package/dist/es/minimal-string/resolve-with-simple-bdd.js.map +1 -1
- package/dist/es/minimal-string/string-format.js +7 -7
- package/dist/es/minimal-string/string-format.js.map +1 -1
- package/dist/es/optimize-brute-force.d.ts +4 -4
- package/dist/es/optimize-brute-force.js +88 -186
- package/dist/es/optimize-brute-force.js.map +1 -1
- package/dist/es/parents.js +19 -47
- package/dist/es/parents.js.map +1 -1
- package/dist/es/root-node.js +79 -133
- package/dist/es/root-node.js.map +1 -1
- package/dist/es/types.d.ts +9 -9
- package/dist/es/util.js +21 -39
- package/dist/es/util.js.map +1 -1
- package/dist/lib/abstract-node.js +48 -57
- package/dist/lib/abstract-node.js.map +1 -1
- package/dist/lib/branches.js +21 -27
- package/dist/lib/branches.js.map +1 -1
- package/dist/lib/create-bdd-from-truth-table.js +24 -66
- package/dist/lib/create-bdd-from-truth-table.js.map +1 -1
- package/dist/lib/ensure-correct-bdd.js +27 -33
- package/dist/lib/ensure-correct-bdd.js.map +1 -1
- package/dist/lib/fill-truth-table.js +6 -10
- package/dist/lib/fill-truth-table.js.map +1 -1
- package/dist/lib/find-similar-node.js +4 -8
- package/dist/lib/find-similar-node.js.map +1 -1
- package/dist/lib/index.js +13 -25
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/internal-node.js +18 -41
- package/dist/lib/internal-node.js.map +1 -1
- package/dist/lib/leaf-node.js +17 -40
- package/dist/lib/leaf-node.js.map +1 -1
- package/dist/lib/minimal-string/bdd-to-minimal-string.js +21 -26
- package/dist/lib/minimal-string/bdd-to-minimal-string.js.map +1 -1
- package/dist/lib/minimal-string/bdd-to-simple-bdd.js +4 -9
- package/dist/lib/minimal-string/bdd-to-simple-bdd.js.map +1 -1
- package/dist/lib/minimal-string/index.js +5 -17
- package/dist/lib/minimal-string/index.js.map +1 -1
- package/dist/lib/minimal-string/minimal-string-to-simple-bdd.js +30 -34
- package/dist/lib/minimal-string/minimal-string-to-simple-bdd.js.map +1 -1
- package/dist/lib/minimal-string/resolve-with-simple-bdd.js +6 -10
- package/dist/lib/minimal-string/resolve-with-simple-bdd.js.map +1 -1
- package/dist/lib/minimal-string/string-format.js +12 -19
- package/dist/lib/minimal-string/string-format.js.map +1 -1
- package/dist/lib/optimize-brute-force.d.ts +4 -4
- package/dist/lib/optimize-brute-force.js +93 -199
- package/dist/lib/optimize-brute-force.js.map +1 -1
- package/dist/lib/parents.js +19 -50
- package/dist/lib/parents.js.map +1 -1
- package/dist/lib/root-node.js +84 -141
- package/dist/lib/root-node.js.map +1 -1
- package/dist/lib/types.d.ts +9 -9
- package/dist/lib/types.js +1 -2
- package/dist/lib/util.js +36 -72
- package/dist/lib/util.js.map +1 -1
- package/package.json +8 -8
- package/tsconfig.json +2 -2
package/dist/lib/root-node.js
CHANGED
|
@@ -1,145 +1,101 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
var __values = (this && this.__values) || function(o) {
|
|
18
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
19
|
-
if (m) return m.call(o);
|
|
20
|
-
if (o && typeof o.length === "number") return {
|
|
21
|
-
next: function () {
|
|
22
|
-
if (o && i >= o.length) o = void 0;
|
|
23
|
-
return { value: o && o[i++], done: !o };
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.RootNode = void 0;
|
|
30
|
-
var abstract_node_1 = require("./abstract-node");
|
|
31
|
-
var branches_1 = require("./branches");
|
|
32
|
-
var util_1 = require("./util");
|
|
33
|
-
var minimal_string_1 = require("./minimal-string");
|
|
34
|
-
var RootNode = /** @class */ (function (_super) {
|
|
35
|
-
__extends(RootNode, _super);
|
|
36
|
-
function RootNode() {
|
|
37
|
-
var _this = _super.call(this, 0, null, 'RootNode') || this;
|
|
38
|
-
_this.branches = new branches_1.Branches(_this);
|
|
39
|
-
_this.levels = [];
|
|
40
|
-
_this.nodesByLevel = new Map();
|
|
41
|
-
_this.levels.push(0);
|
|
42
|
-
var level0Set = new Set();
|
|
43
|
-
level0Set.add(_this);
|
|
44
|
-
_this.nodesByLevel.set(0, level0Set);
|
|
45
|
-
return _this;
|
|
1
|
+
import { AbstractNode } from './abstract-node';
|
|
2
|
+
import { Branches } from './branches';
|
|
3
|
+
import { lastOfArray, booleanToBooleanString } from './util';
|
|
4
|
+
import { bddToSimpleBdd } from './minimal-string';
|
|
5
|
+
export class RootNode extends AbstractNode {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(0, null, 'RootNode');
|
|
8
|
+
this.branches = new Branches(this);
|
|
9
|
+
this.levels = [];
|
|
10
|
+
this.nodesByLevel = new Map();
|
|
11
|
+
this.levels.push(0);
|
|
12
|
+
const level0Set = new Set();
|
|
13
|
+
level0Set.add(this);
|
|
14
|
+
this.nodesByLevel.set(0, level0Set);
|
|
46
15
|
}
|
|
47
|
-
|
|
48
|
-
|
|
16
|
+
addNode(node) {
|
|
17
|
+
const level = node.level;
|
|
49
18
|
if (!this.levels.includes(level)) {
|
|
50
19
|
this.levels.push(level);
|
|
51
20
|
}
|
|
52
21
|
this.ensureLevelSetExists(level);
|
|
53
|
-
|
|
22
|
+
const set = this.nodesByLevel.get(level);
|
|
54
23
|
set === null || set === void 0 ? void 0 : set.add(node);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
|
|
24
|
+
}
|
|
25
|
+
removeNode(node) {
|
|
26
|
+
const set = this.nodesByLevel.get(node.level);
|
|
58
27
|
if (!set.has(node)) {
|
|
59
28
|
throw new Error('removed non-existing node ' + node.id);
|
|
60
29
|
}
|
|
61
30
|
set.delete(node);
|
|
62
|
-
}
|
|
63
|
-
|
|
31
|
+
}
|
|
32
|
+
ensureLevelSetExists(level) {
|
|
64
33
|
if (!this.nodesByLevel.has(level)) {
|
|
65
34
|
this.nodesByLevel.set(level, new Set());
|
|
66
35
|
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
return Array.from(this.levels).sort(
|
|
70
|
-
}
|
|
71
|
-
|
|
36
|
+
}
|
|
37
|
+
getLevels() {
|
|
38
|
+
return Array.from(this.levels).sort((a, b) => a - b);
|
|
39
|
+
}
|
|
40
|
+
getNodesOfLevel(level) {
|
|
72
41
|
this.ensureLevelSetExists(level);
|
|
73
|
-
|
|
42
|
+
const set = this.nodesByLevel.get(level);
|
|
74
43
|
return Array.from(set);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
var nodesAmount = _this.getNodesOfLevel(level).length;
|
|
44
|
+
}
|
|
45
|
+
countNodes() {
|
|
46
|
+
let ret = 0;
|
|
47
|
+
this.getLevels().forEach(level => {
|
|
48
|
+
const nodesAmount = this.getNodesOfLevel(level).length;
|
|
81
49
|
ret = ret + nodesAmount;
|
|
82
50
|
});
|
|
83
51
|
return ret;
|
|
84
|
-
}
|
|
52
|
+
}
|
|
85
53
|
/**
|
|
86
54
|
* applies the reduction rules to the whole bdd
|
|
87
55
|
*/
|
|
88
|
-
|
|
89
|
-
var e_1, _a;
|
|
90
|
-
if (logState === void 0) { logState = false; }
|
|
56
|
+
minimize(logState = false) {
|
|
91
57
|
// console.log('minimize(): START ###############');
|
|
92
|
-
|
|
58
|
+
let done = false;
|
|
93
59
|
while (!done) {
|
|
94
60
|
if (logState) {
|
|
95
61
|
console.log('minimize() itterate once');
|
|
96
62
|
}
|
|
97
|
-
|
|
98
|
-
|
|
63
|
+
let successCount = 0;
|
|
64
|
+
let lastLevel = lastOfArray(this.getLevels());
|
|
99
65
|
while (lastLevel > 0) {
|
|
100
|
-
|
|
66
|
+
const nodes = this.getNodesOfLevel(lastLevel);
|
|
101
67
|
if (logState) {
|
|
102
68
|
console.log('minimize() run for level ' + lastLevel +
|
|
103
69
|
' with ' + nodes.length + ' nodes');
|
|
104
70
|
// console.dir(nodes);
|
|
105
71
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
72
|
+
let nodeCount = 0;
|
|
73
|
+
for (const node of nodes) {
|
|
74
|
+
nodeCount++;
|
|
75
|
+
// do not run that often because it is expensive
|
|
76
|
+
if (logState && nodeCount % 4000 === 0) {
|
|
77
|
+
console.log('minimize() node #' + node.id);
|
|
78
|
+
}
|
|
79
|
+
if (node.isLeafNode()) {
|
|
80
|
+
// console.log('have leaf node ' + node.id);
|
|
81
|
+
const reductionDone = node.asLeafNode().applyEliminationRule();
|
|
82
|
+
if (reductionDone) {
|
|
83
|
+
successCount++;
|
|
114
84
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
85
|
+
}
|
|
86
|
+
if (!node.deleted && node.isInternalNode()) {
|
|
87
|
+
const useNode = node;
|
|
88
|
+
const reductionDone = useNode.applyReductionRule();
|
|
89
|
+
let eliminationDone = false;
|
|
90
|
+
if (!useNode.deleted) {
|
|
91
|
+
// not might now be deleted from reduction-rule
|
|
92
|
+
eliminationDone = useNode.applyEliminationRule(nodes);
|
|
121
93
|
}
|
|
122
|
-
if (
|
|
123
|
-
|
|
124
|
-
var reductionDone = useNode.applyReductionRule();
|
|
125
|
-
var eliminationDone = false;
|
|
126
|
-
if (!useNode.deleted) {
|
|
127
|
-
// not might now be deleted from reduction-rule
|
|
128
|
-
eliminationDone = useNode.applyEliminationRule(nodes);
|
|
129
|
-
}
|
|
130
|
-
if (reductionDone || eliminationDone) {
|
|
131
|
-
successCount++;
|
|
132
|
-
}
|
|
94
|
+
if (reductionDone || eliminationDone) {
|
|
95
|
+
successCount++;
|
|
133
96
|
}
|
|
134
97
|
}
|
|
135
98
|
}
|
|
136
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
137
|
-
finally {
|
|
138
|
-
try {
|
|
139
|
-
if (nodes_1_1 && !nodes_1_1.done && (_a = nodes_1.return)) _a.call(nodes_1);
|
|
140
|
-
}
|
|
141
|
-
finally { if (e_1) throw e_1.error; }
|
|
142
|
-
}
|
|
143
99
|
lastLevel--;
|
|
144
100
|
}
|
|
145
101
|
if (successCount === 0) {
|
|
@@ -153,59 +109,46 @@ var RootNode = /** @class */ (function (_super) {
|
|
|
153
109
|
}
|
|
154
110
|
}
|
|
155
111
|
}
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
112
|
+
}
|
|
113
|
+
getLeafNodes() {
|
|
114
|
+
const lastLevel = lastOfArray(this.getLevels());
|
|
115
|
+
const leafNodes = this.getNodesOfLevel(lastLevel).reverse();
|
|
160
116
|
return leafNodes;
|
|
161
|
-
}
|
|
117
|
+
}
|
|
162
118
|
/**
|
|
163
119
|
* strips all leaf-nodes
|
|
164
120
|
* with the given value
|
|
165
121
|
*/
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
var done = false;
|
|
122
|
+
removeIrrelevantLeafNodes(leafNodeValue) {
|
|
123
|
+
let done = false;
|
|
169
124
|
while (!done) {
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
if (removed) {
|
|
177
|
-
countRemoved++;
|
|
178
|
-
}
|
|
125
|
+
let countRemoved = 0;
|
|
126
|
+
const leafNodes = this.getLeafNodes();
|
|
127
|
+
for (const leafNode of leafNodes) {
|
|
128
|
+
const removed = leafNode.removeIfValueEquals(leafNodeValue);
|
|
129
|
+
if (removed) {
|
|
130
|
+
countRemoved++;
|
|
179
131
|
}
|
|
180
132
|
}
|
|
181
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
182
|
-
finally {
|
|
183
|
-
try {
|
|
184
|
-
if (leafNodes_1_1 && !leafNodes_1_1.done && (_a = leafNodes_1.return)) _a.call(leafNodes_1);
|
|
185
|
-
}
|
|
186
|
-
finally { if (e_2) throw e_2.error; }
|
|
187
|
-
}
|
|
188
133
|
this.minimize();
|
|
189
134
|
if (countRemoved === 0) {
|
|
190
135
|
done = true;
|
|
191
136
|
}
|
|
192
137
|
}
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
|
|
138
|
+
}
|
|
139
|
+
resolve(fns, booleanFunctionInput) {
|
|
140
|
+
let currentNode = this;
|
|
196
141
|
while (true) {
|
|
197
|
-
|
|
198
|
-
|
|
142
|
+
const booleanResult = fns[currentNode.level](booleanFunctionInput);
|
|
143
|
+
const branchKey = booleanToBooleanString(booleanResult);
|
|
199
144
|
currentNode = currentNode.branches.getBranch(branchKey);
|
|
200
145
|
if (currentNode.isLeafNode()) {
|
|
201
146
|
return currentNode.asLeafNode().value;
|
|
202
147
|
}
|
|
203
148
|
}
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
return
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
}(abstract_node_1.AbstractNode));
|
|
210
|
-
exports.RootNode = RootNode;
|
|
149
|
+
}
|
|
150
|
+
toSimpleBdd() {
|
|
151
|
+
return bddToSimpleBdd(this);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
211
154
|
//# sourceMappingURL=root-node.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root-node.js","sourceRoot":"","sources":["../../src/root-node.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"root-node.js","sourceRoot":"","sources":["../../src/root-node.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { LeafNode } from './leaf-node';
|
|
2
2
|
import { InternalNode } from './internal-node';
|
|
3
3
|
import { RootNode } from './root-node';
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export
|
|
9
|
-
export
|
|
10
|
-
export
|
|
4
|
+
export type NodeType = 'LeafNode' | 'InternalNode' | 'RootNode';
|
|
5
|
+
export type NonLeafNode = InternalNode | RootNode;
|
|
6
|
+
export type NonRootNode = InternalNode | LeafNode;
|
|
7
|
+
export type TruthTable = Map<string, number>;
|
|
8
|
+
export type BooleanString = '0' | '1';
|
|
9
|
+
export type ResolverFunction<T> = (i: T) => boolean;
|
|
10
|
+
export type ResolverFunctions<T = any> = {
|
|
11
11
|
[k: number]: ResolverFunction<T>;
|
|
12
12
|
};
|
|
13
|
-
export
|
|
13
|
+
export type SimpleBddLeafNode = number;
|
|
14
14
|
/**
|
|
15
15
|
* a simple bdd is a json-representation
|
|
16
16
|
* which could be parsed from the minimal string
|
|
17
17
|
* use this to have great performance
|
|
18
18
|
* when resolving values
|
|
19
19
|
*/
|
|
20
|
-
export
|
|
20
|
+
export type SimpleBdd = {
|
|
21
21
|
0: SimpleBdd | SimpleBddLeafNode;
|
|
22
22
|
1: SimpleBdd | SimpleBddLeafNode;
|
|
23
23
|
l: number;
|
package/dist/lib/types.js
CHANGED
package/dist/lib/util.js
CHANGED
|
@@ -1,23 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
-
if (!m) return o;
|
|
5
|
-
var i = m.call(o), r, ar = [], e;
|
|
6
|
-
try {
|
|
7
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
-
}
|
|
9
|
-
catch (error) { e = { error: error }; }
|
|
10
|
-
finally {
|
|
11
|
-
try {
|
|
12
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
-
}
|
|
14
|
-
finally { if (e) throw e.error; }
|
|
15
|
-
}
|
|
16
|
-
return ar;
|
|
17
|
-
};
|
|
18
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.splitStringToChunks = exports.lastOfArray = exports.shuffleArray = exports.firstKeyOfMap = exports.getNextStateSet = exports.maxBinaryWithLength = exports.minBinaryWithLength = exports.binaryToDecimal = exports.oppositeBinary = exports.decimalToPaddedBinary = exports.nextNodeId = exports.lastChar = exports.oppositeBoolean = exports.booleanToBooleanString = exports.booleanStringToBoolean = void 0;
|
|
20
|
-
function booleanStringToBoolean(str) {
|
|
1
|
+
export function booleanStringToBoolean(str) {
|
|
21
2
|
if (str === '1') {
|
|
22
3
|
return true;
|
|
23
4
|
}
|
|
@@ -25,8 +6,7 @@ function booleanStringToBoolean(str) {
|
|
|
25
6
|
return false;
|
|
26
7
|
}
|
|
27
8
|
}
|
|
28
|
-
|
|
29
|
-
function booleanToBooleanString(b) {
|
|
9
|
+
export function booleanToBooleanString(b) {
|
|
30
10
|
if (b) {
|
|
31
11
|
return '1';
|
|
32
12
|
}
|
|
@@ -34,8 +14,7 @@ function booleanToBooleanString(b) {
|
|
|
34
14
|
return '0';
|
|
35
15
|
}
|
|
36
16
|
}
|
|
37
|
-
|
|
38
|
-
function oppositeBoolean(input) {
|
|
17
|
+
export function oppositeBoolean(input) {
|
|
39
18
|
if (input === '1') {
|
|
40
19
|
return '0';
|
|
41
20
|
}
|
|
@@ -43,42 +22,37 @@ function oppositeBoolean(input) {
|
|
|
43
22
|
return '1';
|
|
44
23
|
}
|
|
45
24
|
}
|
|
46
|
-
|
|
47
|
-
function lastChar(str) {
|
|
25
|
+
export function lastChar(str) {
|
|
48
26
|
return str.slice(-1);
|
|
49
27
|
}
|
|
50
|
-
exports.lastChar = lastChar;
|
|
51
28
|
/**
|
|
52
29
|
* @link https://stackoverflow.com/a/1349426
|
|
53
30
|
*/
|
|
54
|
-
function makeid(length) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
for (var i = 0; i < length; i++) {
|
|
31
|
+
function makeid(length = 6) {
|
|
32
|
+
let result = '';
|
|
33
|
+
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
|
34
|
+
const charactersLength = characters.length;
|
|
35
|
+
for (let i = 0; i < length; i++) {
|
|
60
36
|
result += characters.charAt(Math.floor(Math.random() * charactersLength));
|
|
61
37
|
}
|
|
62
38
|
return result;
|
|
63
39
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
function nextNodeId() {
|
|
67
|
-
|
|
40
|
+
const nodeIdPrefix = makeid(4);
|
|
41
|
+
let lastIdGen = 0;
|
|
42
|
+
export function nextNodeId() {
|
|
43
|
+
const ret = 'node_' + nodeIdPrefix + '_' + lastIdGen;
|
|
68
44
|
lastIdGen++;
|
|
69
45
|
return ret;
|
|
70
46
|
}
|
|
71
|
-
exports.nextNodeId = nextNodeId;
|
|
72
47
|
/**
|
|
73
48
|
* @link https://stackoverflow.com/a/16155417
|
|
74
49
|
*/
|
|
75
|
-
function decimalToPaddedBinary(decimal, padding) {
|
|
76
|
-
|
|
77
|
-
|
|
50
|
+
export function decimalToPaddedBinary(decimal, padding) {
|
|
51
|
+
const binary = (decimal >>> 0).toString(2);
|
|
52
|
+
const padded = binary.padStart(padding, '0');
|
|
78
53
|
return padded;
|
|
79
54
|
}
|
|
80
|
-
|
|
81
|
-
function oppositeBinary(i) {
|
|
55
|
+
export function oppositeBinary(i) {
|
|
82
56
|
if (i === '1') {
|
|
83
57
|
return '0';
|
|
84
58
|
}
|
|
@@ -89,57 +63,47 @@ function oppositeBinary(i) {
|
|
|
89
63
|
throw new Error('non-binary given');
|
|
90
64
|
}
|
|
91
65
|
}
|
|
92
|
-
|
|
93
|
-
function binaryToDecimal(binary) {
|
|
66
|
+
export function binaryToDecimal(binary) {
|
|
94
67
|
return parseInt(binary, 2);
|
|
95
68
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
return new Array(length).fill(0).map(function () { return '0'; }).join('');
|
|
69
|
+
export function minBinaryWithLength(length) {
|
|
70
|
+
return new Array(length).fill(0).map(() => '0').join('');
|
|
99
71
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
return new Array(length).fill(0).map(function () { return '1'; }).join('');
|
|
72
|
+
export function maxBinaryWithLength(length) {
|
|
73
|
+
return new Array(length).fill(0).map(() => '1').join('');
|
|
103
74
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
var binary = decimalToPaddedBinary(increase, stateSet.length);
|
|
75
|
+
export function getNextStateSet(stateSet) {
|
|
76
|
+
const decimal = binaryToDecimal(stateSet);
|
|
77
|
+
const increase = decimal + 1;
|
|
78
|
+
const binary = decimalToPaddedBinary(increase, stateSet.length);
|
|
109
79
|
return binary;
|
|
110
80
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
var iterator1 = map.keys();
|
|
81
|
+
export function firstKeyOfMap(map) {
|
|
82
|
+
const iterator1 = map.keys();
|
|
114
83
|
return iterator1.next().value;
|
|
115
84
|
}
|
|
116
|
-
exports.firstKeyOfMap = firstKeyOfMap;
|
|
117
85
|
/**
|
|
118
86
|
* Shuffles array in place. ES6 version
|
|
119
87
|
* @link https://stackoverflow.com/a/6274381
|
|
120
88
|
*/
|
|
121
|
-
function shuffleArray(a) {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
_a = __read([a[j], a[i]], 2), a[i] = _a[0], a[j] = _a[1];
|
|
89
|
+
export function shuffleArray(a) {
|
|
90
|
+
for (let i = a.length - 1; i > 0; i--) {
|
|
91
|
+
const j = Math.floor(Math.random() * (i + 1));
|
|
92
|
+
[a[i], a[j]] = [a[j], a[i]];
|
|
126
93
|
}
|
|
127
94
|
return a;
|
|
128
95
|
}
|
|
129
|
-
|
|
130
|
-
function lastOfArray(ar) {
|
|
96
|
+
export function lastOfArray(ar) {
|
|
131
97
|
return ar[ar.length - 1];
|
|
132
98
|
}
|
|
133
|
-
exports.lastOfArray = lastOfArray;
|
|
134
99
|
/**
|
|
135
100
|
* @link https://stackoverflow.com/a/6259536
|
|
136
101
|
*/
|
|
137
|
-
function splitStringToChunks(str, chunkSize) {
|
|
138
|
-
|
|
139
|
-
for (
|
|
102
|
+
export function splitStringToChunks(str, chunkSize) {
|
|
103
|
+
const chunks = [];
|
|
104
|
+
for (let i = 0, charsLength = str.length; i < charsLength; i += chunkSize) {
|
|
140
105
|
chunks.push(str.substring(i, i + chunkSize));
|
|
141
106
|
}
|
|
142
107
|
return chunks;
|
|
143
108
|
}
|
|
144
|
-
exports.splitStringToChunks = splitStringToChunks;
|
|
145
109
|
//# sourceMappingURL=util.js.map
|
package/dist/lib/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "binary-decision-diagram",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "A library to create, minimize and optimize binary decision diagrams",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"binary decision diagram",
|
|
@@ -32,19 +32,19 @@
|
|
|
32
32
|
"lint": "tslint --project .",
|
|
33
33
|
"lint:fix": "tslint --project . --fix",
|
|
34
34
|
"transpile": "tsc -p ./ && echo '# transpile es5 (require) sucess!'",
|
|
35
|
-
"transpile:es": "tsc -p ./ --
|
|
35
|
+
"transpile:es": "tsc -p ./ --module ES6 --outDir ./dist/es && echo '# transpile es (modules) sucess!'",
|
|
36
36
|
"build": "rimraf -r ./dist && npm run transpile && npm run transpile:es",
|
|
37
37
|
"test": "mocha -r ts-node/register test/unit/index.test.ts --timeout 40000 --bail"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@types/mocha": "
|
|
41
|
-
"@types/node": "
|
|
40
|
+
"@types/mocha": "10.0.1",
|
|
41
|
+
"@types/node": "18.11.18",
|
|
42
42
|
"assert": "2.0.0",
|
|
43
|
-
"async-test-util": "
|
|
44
|
-
"mocha": "
|
|
43
|
+
"async-test-util": "2.0.0",
|
|
44
|
+
"mocha": "10.2.0",
|
|
45
45
|
"rimraf": "3.0.2",
|
|
46
|
-
"ts-node": "10.
|
|
46
|
+
"ts-node": "10.9.1",
|
|
47
47
|
"tslint": "6.1.3",
|
|
48
|
-
"typescript": "4.4
|
|
48
|
+
"typescript": "4.9.4"
|
|
49
49
|
}
|
|
50
50
|
}
|
package/tsconfig.json
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"moduleResolution": "node",
|
|
13
13
|
"esModuleInterop": true,
|
|
14
14
|
"declaration": true,
|
|
15
|
-
"target": "
|
|
15
|
+
"target": "ES2017",
|
|
16
16
|
"outDir": "./dist/lib",
|
|
17
17
|
"lib": [
|
|
18
18
|
"es7",
|
|
@@ -35,4 +35,4 @@
|
|
|
35
35
|
"**.json"
|
|
36
36
|
],
|
|
37
37
|
"compileOnSave": false
|
|
38
|
-
}
|
|
38
|
+
}
|