binary-decision-diagram 2.0.1 → 3.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.
Files changed (166) hide show
  1. package/dist/{es → src}/abstract-node.d.ts +4 -4
  2. package/dist/{es → src}/abstract-node.js +7 -4
  3. package/dist/src/abstract-node.js.map +1 -0
  4. package/dist/{es → src}/branches.d.ts +2 -2
  5. package/dist/{es → src}/branches.js +3 -2
  6. package/dist/src/branches.js.map +1 -0
  7. package/dist/src/create-bdd-from-truth-table.d.ts +3 -0
  8. package/dist/{es → src}/create-bdd-from-truth-table.js +4 -4
  9. package/dist/src/create-bdd-from-truth-table.js.map +1 -0
  10. package/dist/{es → src}/ensure-correct-bdd.d.ts +2 -2
  11. package/dist/{es → src}/ensure-correct-bdd.js +1 -1
  12. package/dist/src/ensure-correct-bdd.js.map +1 -0
  13. package/dist/{lib → src}/fill-truth-table.d.ts +1 -1
  14. package/dist/{es → src}/fill-truth-table.js +1 -1
  15. package/dist/{es → src}/fill-truth-table.js.map +1 -1
  16. package/dist/{lib → src}/find-similar-node.d.ts +1 -1
  17. package/dist/src/index.d.ts +14 -0
  18. package/dist/src/index.js +14 -0
  19. package/dist/src/index.js.map +1 -0
  20. package/dist/{es → src}/internal-node.d.ts +5 -5
  21. package/dist/{es → src}/internal-node.js +5 -5
  22. package/dist/{es → src}/internal-node.js.map +1 -1
  23. package/dist/{es → src}/leaf-node.d.ts +4 -4
  24. package/dist/{es → src}/leaf-node.js +5 -4
  25. package/dist/src/leaf-node.js.map +1 -0
  26. package/dist/{es → src}/minimal-string/bdd-to-minimal-string.d.ts +2 -2
  27. package/dist/{es → src}/minimal-string/bdd-to-minimal-string.js +2 -2
  28. package/dist/{es → src}/minimal-string/bdd-to-minimal-string.js.map +1 -1
  29. package/dist/{lib → src}/minimal-string/bdd-to-simple-bdd.d.ts +3 -3
  30. package/dist/src/minimal-string/index.d.ts +5 -0
  31. package/dist/src/minimal-string/index.js +6 -0
  32. package/dist/{es → src}/minimal-string/index.js.map +1 -1
  33. package/dist/{es → src}/minimal-string/minimal-string-to-simple-bdd.d.ts +1 -1
  34. package/dist/{es → src}/minimal-string/minimal-string-to-simple-bdd.js +2 -2
  35. package/dist/{es → src}/minimal-string/minimal-string-to-simple-bdd.js.map +1 -1
  36. package/dist/{es → src}/minimal-string/resolve-with-simple-bdd.d.ts +1 -1
  37. package/dist/{es → src}/minimal-string/resolve-with-simple-bdd.js +1 -1
  38. package/dist/{es → src}/minimal-string/resolve-with-simple-bdd.js.map +1 -1
  39. package/dist/{lib → src}/optimize-brute-force.d.ts +2 -2
  40. package/dist/{es → src}/optimize-brute-force.js +2 -2
  41. package/dist/{es → src}/optimize-brute-force.js.map +1 -1
  42. package/dist/{es → src}/parents.d.ts +1 -1
  43. package/dist/{es → src}/parents.js +2 -1
  44. package/dist/src/parents.js.map +1 -0
  45. package/dist/{lib → src}/root-node.d.ts +4 -4
  46. package/dist/{es → src}/root-node.js +8 -8
  47. package/dist/src/root-node.js.map +1 -0
  48. package/dist/{es → src}/types.d.ts +3 -3
  49. package/dist/{lib → src}/util.d.ts +1 -1
  50. package/package.json +18 -18
  51. package/src/abstract-node.ts +7 -7
  52. package/src/branches.ts +2 -2
  53. package/src/create-bdd-from-truth-table.ts +5 -5
  54. package/src/ensure-correct-bdd.ts +4 -4
  55. package/src/fill-truth-table.ts +2 -2
  56. package/src/find-similar-node.ts +1 -1
  57. package/src/index.ts +14 -32
  58. package/src/internal-node.ts +5 -5
  59. package/src/leaf-node.ts +6 -6
  60. package/src/minimal-string/bdd-to-minimal-string.ts +4 -4
  61. package/src/minimal-string/bdd-to-simple-bdd.ts +4 -4
  62. package/src/minimal-string/index.ts +5 -5
  63. package/src/minimal-string/minimal-string-to-simple-bdd.ts +3 -3
  64. package/src/minimal-string/resolve-with-simple-bdd.ts +2 -2
  65. package/src/optimize-brute-force.ts +5 -5
  66. package/src/parents.ts +1 -1
  67. package/src/root-node.ts +7 -7
  68. package/src/types.ts +3 -3
  69. package/src/util.ts +1 -1
  70. package/.github/workflows/main.yml +0 -22
  71. package/dist/es/abstract-node.js.map +0 -1
  72. package/dist/es/branches.js.map +0 -1
  73. package/dist/es/create-bdd-from-truth-table.d.ts +0 -3
  74. package/dist/es/create-bdd-from-truth-table.js.map +0 -1
  75. package/dist/es/ensure-correct-bdd.js.map +0 -1
  76. package/dist/es/fill-truth-table.d.ts +0 -6
  77. package/dist/es/find-similar-node.d.ts +0 -7
  78. package/dist/es/index.d.ts +0 -20
  79. package/dist/es/index.js +0 -14
  80. package/dist/es/index.js.map +0 -1
  81. package/dist/es/leaf-node.js.map +0 -1
  82. package/dist/es/minimal-string/bdd-to-simple-bdd.d.ts +0 -11
  83. package/dist/es/minimal-string/index.d.ts +0 -5
  84. package/dist/es/minimal-string/index.js +0 -6
  85. package/dist/es/optimize-brute-force.d.ts +0 -43
  86. package/dist/es/parents.js.map +0 -1
  87. package/dist/es/root-node.d.ts +0 -28
  88. package/dist/es/root-node.js.map +0 -1
  89. package/dist/es/util.d.ts +0 -26
  90. package/dist/lib/abstract-node.d.ts +0 -33
  91. package/dist/lib/abstract-node.js +0 -170
  92. package/dist/lib/abstract-node.js.map +0 -1
  93. package/dist/lib/branches.d.ts +0 -20
  94. package/dist/lib/branches.js +0 -75
  95. package/dist/lib/branches.js.map +0 -1
  96. package/dist/lib/create-bdd-from-truth-table.d.ts +0 -3
  97. package/dist/lib/create-bdd-from-truth-table.js +0 -38
  98. package/dist/lib/create-bdd-from-truth-table.js.map +0 -1
  99. package/dist/lib/ensure-correct-bdd.d.ts +0 -8
  100. package/dist/lib/ensure-correct-bdd.js +0 -102
  101. package/dist/lib/ensure-correct-bdd.js.map +0 -1
  102. package/dist/lib/fill-truth-table.js +0 -26
  103. package/dist/lib/fill-truth-table.js.map +0 -1
  104. package/dist/lib/find-similar-node.js +0 -22
  105. package/dist/lib/find-similar-node.js.map +0 -1
  106. package/dist/lib/index.d.ts +0 -20
  107. package/dist/lib/index.js +0 -30
  108. package/dist/lib/index.js.map +0 -1
  109. package/dist/lib/internal-node.d.ts +0 -16
  110. package/dist/lib/internal-node.js +0 -46
  111. package/dist/lib/internal-node.js.map +0 -1
  112. package/dist/lib/leaf-node.d.ts +0 -10
  113. package/dist/lib/leaf-node.js +0 -33
  114. package/dist/lib/leaf-node.js.map +0 -1
  115. package/dist/lib/minimal-string/bdd-to-minimal-string.d.ts +0 -8
  116. package/dist/lib/minimal-string/bdd-to-minimal-string.js +0 -60
  117. package/dist/lib/minimal-string/bdd-to-minimal-string.js.map +0 -1
  118. package/dist/lib/minimal-string/bdd-to-simple-bdd.js +0 -24
  119. package/dist/lib/minimal-string/bdd-to-simple-bdd.js.map +0 -1
  120. package/dist/lib/minimal-string/index.d.ts +0 -5
  121. package/dist/lib/minimal-string/index.js +0 -22
  122. package/dist/lib/minimal-string/index.js.map +0 -1
  123. package/dist/lib/minimal-string/minimal-string-to-simple-bdd.d.ts +0 -2
  124. package/dist/lib/minimal-string/minimal-string-to-simple-bdd.js +0 -58
  125. package/dist/lib/minimal-string/minimal-string-to-simple-bdd.js.map +0 -1
  126. package/dist/lib/minimal-string/resolve-with-simple-bdd.d.ts +0 -2
  127. package/dist/lib/minimal-string/resolve-with-simple-bdd.js +0 -21
  128. package/dist/lib/minimal-string/resolve-with-simple-bdd.js.map +0 -1
  129. package/dist/lib/minimal-string/string-format.d.ts +0 -9
  130. package/dist/lib/minimal-string/string-format.js +0 -61
  131. package/dist/lib/minimal-string/string-format.js.map +0 -1
  132. package/dist/lib/optimize-brute-force.js +0 -140
  133. package/dist/lib/optimize-brute-force.js.map +0 -1
  134. package/dist/lib/parents.d.ts +0 -15
  135. package/dist/lib/parents.js +0 -42
  136. package/dist/lib/parents.js.map +0 -1
  137. package/dist/lib/root-node.js +0 -158
  138. package/dist/lib/root-node.js.map +0 -1
  139. package/dist/lib/types.d.ts +0 -24
  140. package/dist/lib/types.js +0 -3
  141. package/dist/lib/types.js.map +0 -1
  142. package/dist/lib/util.js +0 -127
  143. package/dist/lib/util.js.map +0 -1
  144. package/renovate.json +0 -8
  145. package/test/helper/big-truth-table.json +0 -578
  146. package/test/helper/test-util.ts +0 -110
  147. package/test/unit/create-bdd-from-truth-table.test.ts +0 -24
  148. package/test/unit/find-similar-node.test.ts +0 -53
  149. package/test/unit/index.test.ts +0 -6
  150. package/test/unit/minimize.test.ts +0 -145
  151. package/test/unit/optimize-brute-force.test.ts +0 -114
  152. package/test/unit/resolve.test.ts +0 -74
  153. package/test/unit/simple-bdd.test.ts +0 -186
  154. package/tsconfig.json +0 -38
  155. package/tslint.json +0 -116
  156. /package/dist/{es → src}/find-similar-node.js +0 -0
  157. /package/dist/{es → src}/find-similar-node.js.map +0 -0
  158. /package/dist/{es → src}/minimal-string/bdd-to-simple-bdd.js +0 -0
  159. /package/dist/{es → src}/minimal-string/bdd-to-simple-bdd.js.map +0 -0
  160. /package/dist/{es → src}/minimal-string/string-format.d.ts +0 -0
  161. /package/dist/{es → src}/minimal-string/string-format.js +0 -0
  162. /package/dist/{es → src}/minimal-string/string-format.js.map +0 -0
  163. /package/dist/{es → src}/types.js +0 -0
  164. /package/dist/{es → src}/types.js.map +0 -0
  165. /package/dist/{es → src}/util.js +0 -0
  166. /package/dist/{es → src}/util.js.map +0 -0
@@ -1,158 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RootNode = void 0;
4
- const abstract_node_1 = require("./abstract-node");
5
- const branches_1 = require("./branches");
6
- const util_1 = require("./util");
7
- const minimal_string_1 = require("./minimal-string");
8
- class RootNode extends abstract_node_1.AbstractNode {
9
- constructor() {
10
- super(0, null, 'RootNode');
11
- this.branches = new branches_1.Branches(this);
12
- this.levels = [];
13
- this.nodesByLevel = new Map();
14
- this.levels.push(0);
15
- const level0Set = new Set();
16
- level0Set.add(this);
17
- this.nodesByLevel.set(0, level0Set);
18
- }
19
- addNode(node) {
20
- const level = node.level;
21
- if (!this.levels.includes(level)) {
22
- this.levels.push(level);
23
- }
24
- this.ensureLevelSetExists(level);
25
- const set = this.nodesByLevel.get(level);
26
- set === null || set === void 0 ? void 0 : set.add(node);
27
- }
28
- removeNode(node) {
29
- const set = this.nodesByLevel.get(node.level);
30
- if (!set.has(node)) {
31
- throw new Error('removed non-existing node ' + node.id);
32
- }
33
- set.delete(node);
34
- }
35
- ensureLevelSetExists(level) {
36
- if (!this.nodesByLevel.has(level)) {
37
- this.nodesByLevel.set(level, new Set());
38
- }
39
- }
40
- getLevels() {
41
- return Array.from(this.levels).sort((a, b) => a - b);
42
- }
43
- getNodesOfLevel(level) {
44
- this.ensureLevelSetExists(level);
45
- const set = this.nodesByLevel.get(level);
46
- return Array.from(set);
47
- }
48
- countNodes() {
49
- let ret = 0;
50
- this.getLevels().forEach(level => {
51
- const nodesAmount = this.getNodesOfLevel(level).length;
52
- ret = ret + nodesAmount;
53
- });
54
- return ret;
55
- }
56
- /**
57
- * applies the reduction rules to the whole bdd
58
- */
59
- minimize(logState = false) {
60
- // console.log('minimize(): START ###############');
61
- let done = false;
62
- while (!done) {
63
- if (logState) {
64
- console.log('minimize() itterate once');
65
- }
66
- let successCount = 0;
67
- let lastLevel = (0, util_1.lastOfArray)(this.getLevels());
68
- while (lastLevel > 0) {
69
- const nodes = this.getNodesOfLevel(lastLevel);
70
- if (logState) {
71
- console.log('minimize() run for level ' + lastLevel +
72
- ' with ' + nodes.length + ' nodes');
73
- // console.dir(nodes);
74
- }
75
- let nodeCount = 0;
76
- for (const node of nodes) {
77
- nodeCount++;
78
- // do not run that often because it is expensive
79
- if (logState && nodeCount % 4000 === 0) {
80
- console.log('minimize() node #' + node.id);
81
- }
82
- if (node.isLeafNode()) {
83
- // console.log('have leaf node ' + node.id);
84
- const reductionDone = node.asLeafNode().applyEliminationRule();
85
- if (reductionDone) {
86
- successCount++;
87
- }
88
- }
89
- if (!node.deleted && node.isInternalNode()) {
90
- const useNode = node;
91
- const reductionDone = useNode.applyReductionRule();
92
- let eliminationDone = false;
93
- if (!useNode.deleted) {
94
- // not might now be deleted from reduction-rule
95
- eliminationDone = useNode.applyEliminationRule(nodes);
96
- }
97
- if (reductionDone || eliminationDone) {
98
- successCount++;
99
- }
100
- }
101
- }
102
- lastLevel--;
103
- }
104
- if (successCount === 0) {
105
- // could do no more optimisations
106
- done = true;
107
- }
108
- else {
109
- if (logState) {
110
- console.log('minimize() itteration done with ' +
111
- successCount + ' minimisations');
112
- }
113
- }
114
- }
115
- }
116
- getLeafNodes() {
117
- const lastLevel = (0, util_1.lastOfArray)(this.getLevels());
118
- const leafNodes = this.getNodesOfLevel(lastLevel).reverse();
119
- return leafNodes;
120
- }
121
- /**
122
- * strips all leaf-nodes
123
- * with the given value
124
- */
125
- removeIrrelevantLeafNodes(leafNodeValue) {
126
- let done = false;
127
- while (!done) {
128
- let countRemoved = 0;
129
- const leafNodes = this.getLeafNodes();
130
- for (const leafNode of leafNodes) {
131
- const removed = leafNode.removeIfValueEquals(leafNodeValue);
132
- if (removed) {
133
- countRemoved++;
134
- }
135
- }
136
- this.minimize();
137
- if (countRemoved === 0) {
138
- done = true;
139
- }
140
- }
141
- }
142
- resolve(fns, booleanFunctionInput) {
143
- let currentNode = this;
144
- while (true) {
145
- const booleanResult = fns[currentNode.level](booleanFunctionInput);
146
- const branchKey = (0, util_1.booleanToBooleanString)(booleanResult);
147
- currentNode = currentNode.branches.getBranch(branchKey);
148
- if (currentNode.isLeafNode()) {
149
- return currentNode.asLeafNode().value;
150
- }
151
- }
152
- }
153
- toSimpleBdd() {
154
- return (0, minimal_string_1.bddToSimpleBdd)(this);
155
- }
156
- }
157
- exports.RootNode = RootNode;
158
- //# sourceMappingURL=root-node.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"root-node.js","sourceRoot":"","sources":["../../src/root-node.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import { LeafNode } from './leaf-node';
2
- import { InternalNode } from './internal-node';
3
- import { RootNode } from './root-node';
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
- [k: number]: ResolverFunction<T>;
12
- };
13
- export type SimpleBddLeafNode = number;
14
- /**
15
- * a simple bdd is a json-representation
16
- * which could be parsed from the minimal string
17
- * use this to have great performance
18
- * when resolving values
19
- */
20
- export type SimpleBdd = {
21
- 0: SimpleBdd | SimpleBddLeafNode;
22
- 1: SimpleBdd | SimpleBddLeafNode;
23
- l: number;
24
- };
package/dist/lib/types.js DELETED
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
package/dist/lib/util.js DELETED
@@ -1,127 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- 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;
4
- function booleanStringToBoolean(str) {
5
- if (str === '1') {
6
- return true;
7
- }
8
- else {
9
- return false;
10
- }
11
- }
12
- exports.booleanStringToBoolean = booleanStringToBoolean;
13
- function booleanToBooleanString(b) {
14
- if (b) {
15
- return '1';
16
- }
17
- else {
18
- return '0';
19
- }
20
- }
21
- exports.booleanToBooleanString = booleanToBooleanString;
22
- function oppositeBoolean(input) {
23
- if (input === '1') {
24
- return '0';
25
- }
26
- else {
27
- return '1';
28
- }
29
- }
30
- exports.oppositeBoolean = oppositeBoolean;
31
- function lastChar(str) {
32
- return str.slice(-1);
33
- }
34
- exports.lastChar = lastChar;
35
- /**
36
- * @link https://stackoverflow.com/a/1349426
37
- */
38
- function makeid(length = 6) {
39
- let result = '';
40
- const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
41
- const charactersLength = characters.length;
42
- for (let i = 0; i < length; i++) {
43
- result += characters.charAt(Math.floor(Math.random() * charactersLength));
44
- }
45
- return result;
46
- }
47
- const nodeIdPrefix = makeid(4);
48
- let lastIdGen = 0;
49
- function nextNodeId() {
50
- const ret = 'node_' + nodeIdPrefix + '_' + lastIdGen;
51
- lastIdGen++;
52
- return ret;
53
- }
54
- exports.nextNodeId = nextNodeId;
55
- /**
56
- * @link https://stackoverflow.com/a/16155417
57
- */
58
- function decimalToPaddedBinary(decimal, padding) {
59
- const binary = (decimal >>> 0).toString(2);
60
- const padded = binary.padStart(padding, '0');
61
- return padded;
62
- }
63
- exports.decimalToPaddedBinary = decimalToPaddedBinary;
64
- function oppositeBinary(i) {
65
- if (i === '1') {
66
- return '0';
67
- }
68
- else if (i === '0') {
69
- return '1';
70
- }
71
- else {
72
- throw new Error('non-binary given');
73
- }
74
- }
75
- exports.oppositeBinary = oppositeBinary;
76
- function binaryToDecimal(binary) {
77
- return parseInt(binary, 2);
78
- }
79
- exports.binaryToDecimal = binaryToDecimal;
80
- function minBinaryWithLength(length) {
81
- return new Array(length).fill(0).map(() => '0').join('');
82
- }
83
- exports.minBinaryWithLength = minBinaryWithLength;
84
- function maxBinaryWithLength(length) {
85
- return new Array(length).fill(0).map(() => '1').join('');
86
- }
87
- exports.maxBinaryWithLength = maxBinaryWithLength;
88
- function getNextStateSet(stateSet) {
89
- const decimal = binaryToDecimal(stateSet);
90
- const increase = decimal + 1;
91
- const binary = decimalToPaddedBinary(increase, stateSet.length);
92
- return binary;
93
- }
94
- exports.getNextStateSet = getNextStateSet;
95
- function firstKeyOfMap(map) {
96
- const iterator1 = map.keys();
97
- return iterator1.next().value;
98
- }
99
- exports.firstKeyOfMap = firstKeyOfMap;
100
- /**
101
- * Shuffles array in place. ES6 version
102
- * @link https://stackoverflow.com/a/6274381
103
- */
104
- function shuffleArray(a) {
105
- for (let i = a.length - 1; i > 0; i--) {
106
- const j = Math.floor(Math.random() * (i + 1));
107
- [a[i], a[j]] = [a[j], a[i]];
108
- }
109
- return a;
110
- }
111
- exports.shuffleArray = shuffleArray;
112
- function lastOfArray(ar) {
113
- return ar[ar.length - 1];
114
- }
115
- exports.lastOfArray = lastOfArray;
116
- /**
117
- * @link https://stackoverflow.com/a/6259536
118
- */
119
- function splitStringToChunks(str, chunkSize) {
120
- const chunks = [];
121
- for (let i = 0, charsLength = str.length; i < charsLength; i += chunkSize) {
122
- chunks.push(str.substring(i, i + chunkSize));
123
- }
124
- return chunks;
125
- }
126
- exports.splitStringToChunks = splitStringToChunks;
127
- //# sourceMappingURL=util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
package/renovate.json DELETED
@@ -1,8 +0,0 @@
1
- {
2
- "extends": [
3
- "config:base"
4
- ],
5
- "statusCheckVerify": true,
6
- "automerge": true,
7
- "dependencyDashboard": false
8
- }