binary-decision-diagram 1.4.0 → 2.0.1

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 (79) hide show
  1. package/.github/workflows/main.yml +2 -2
  2. package/dist/es/abstract-node.js +45 -51
  3. package/dist/es/abstract-node.js.map +1 -1
  4. package/dist/es/branches.js +20 -22
  5. package/dist/es/branches.js.map +1 -1
  6. package/dist/es/create-bdd-from-truth-table.js +19 -57
  7. package/dist/es/create-bdd-from-truth-table.js.map +1 -1
  8. package/dist/es/ensure-correct-bdd.js +26 -27
  9. package/dist/es/ensure-correct-bdd.js.map +1 -1
  10. package/dist/es/fill-truth-table.js +3 -3
  11. package/dist/es/fill-truth-table.js.map +1 -1
  12. package/dist/es/find-similar-node.js +3 -3
  13. package/dist/es/find-similar-node.js.map +1 -1
  14. package/dist/es/internal-node.js +15 -35
  15. package/dist/es/internal-node.js.map +1 -1
  16. package/dist/es/leaf-node.js +14 -34
  17. package/dist/es/leaf-node.js.map +1 -1
  18. package/dist/es/minimal-string/bdd-to-minimal-string.js +15 -15
  19. package/dist/es/minimal-string/bdd-to-minimal-string.js.map +1 -1
  20. package/dist/es/minimal-string/bdd-to-simple-bdd.js +2 -2
  21. package/dist/es/minimal-string/bdd-to-simple-bdd.js.map +1 -1
  22. package/dist/es/minimal-string/minimal-string-to-simple-bdd.js +27 -27
  23. package/dist/es/minimal-string/minimal-string-to-simple-bdd.js.map +1 -1
  24. package/dist/es/minimal-string/resolve-with-simple-bdd.js +4 -4
  25. package/dist/es/minimal-string/resolve-with-simple-bdd.js.map +1 -1
  26. package/dist/es/minimal-string/string-format.js +7 -7
  27. package/dist/es/minimal-string/string-format.js.map +1 -1
  28. package/dist/es/optimize-brute-force.d.ts +4 -4
  29. package/dist/es/optimize-brute-force.js +88 -186
  30. package/dist/es/optimize-brute-force.js.map +1 -1
  31. package/dist/es/parents.js +19 -47
  32. package/dist/es/parents.js.map +1 -1
  33. package/dist/es/root-node.js +79 -133
  34. package/dist/es/root-node.js.map +1 -1
  35. package/dist/es/types.d.ts +9 -9
  36. package/dist/es/util.js +21 -39
  37. package/dist/es/util.js.map +1 -1
  38. package/dist/lib/abstract-node.js +47 -52
  39. package/dist/lib/abstract-node.js.map +1 -1
  40. package/dist/lib/branches.js +20 -21
  41. package/dist/lib/branches.js.map +1 -1
  42. package/dist/lib/create-bdd-from-truth-table.js +23 -61
  43. package/dist/lib/create-bdd-from-truth-table.js.map +1 -1
  44. package/dist/lib/ensure-correct-bdd.js +26 -27
  45. package/dist/lib/ensure-correct-bdd.js.map +1 -1
  46. package/dist/lib/fill-truth-table.js +4 -4
  47. package/dist/lib/fill-truth-table.js.map +1 -1
  48. package/dist/lib/find-similar-node.js +3 -3
  49. package/dist/lib/find-similar-node.js.map +1 -1
  50. package/dist/lib/index.js +5 -1
  51. package/dist/lib/index.js.map +1 -1
  52. package/dist/lib/internal-node.js +18 -37
  53. package/dist/lib/internal-node.js.map +1 -1
  54. package/dist/lib/leaf-node.js +17 -36
  55. package/dist/lib/leaf-node.js.map +1 -1
  56. package/dist/lib/minimal-string/bdd-to-minimal-string.js +17 -17
  57. package/dist/lib/minimal-string/bdd-to-minimal-string.js.map +1 -1
  58. package/dist/lib/minimal-string/bdd-to-simple-bdd.js +2 -2
  59. package/dist/lib/minimal-string/bdd-to-simple-bdd.js.map +1 -1
  60. package/dist/lib/minimal-string/index.js +5 -1
  61. package/dist/lib/minimal-string/index.js.map +1 -1
  62. package/dist/lib/minimal-string/minimal-string-to-simple-bdd.js +29 -29
  63. package/dist/lib/minimal-string/minimal-string-to-simple-bdd.js.map +1 -1
  64. package/dist/lib/minimal-string/resolve-with-simple-bdd.js +5 -5
  65. package/dist/lib/minimal-string/resolve-with-simple-bdd.js.map +1 -1
  66. package/dist/lib/minimal-string/string-format.js +5 -5
  67. package/dist/lib/minimal-string/string-format.js.map +1 -1
  68. package/dist/lib/optimize-brute-force.d.ts +4 -4
  69. package/dist/lib/optimize-brute-force.js +90 -188
  70. package/dist/lib/optimize-brute-force.js.map +1 -1
  71. package/dist/lib/parents.js +19 -46
  72. package/dist/lib/parents.js.map +1 -1
  73. package/dist/lib/root-node.js +83 -136
  74. package/dist/lib/root-node.js.map +1 -1
  75. package/dist/lib/types.d.ts +9 -9
  76. package/dist/lib/util.js +21 -39
  77. package/dist/lib/util.js.map +1 -1
  78. package/package.json +9 -9
  79. package/tsconfig.json +2 -2
@@ -1,53 +1,35 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
2
  Object.defineProperty(exports, "__esModule", { value: true });
18
3
  exports.InternalNode = void 0;
19
- var branches_1 = require("./branches");
20
- var parents_1 = require("./parents");
21
- var abstract_node_1 = require("./abstract-node");
22
- var InternalNode = /** @class */ (function (_super) {
23
- __extends(InternalNode, _super);
24
- function InternalNode(level, rootNode, parent) {
25
- var _this = _super.call(this, level, rootNode, 'InternalNode') || this;
26
- _this.branches = new branches_1.Branches(_this);
27
- _this.parents = new parents_1.Parents(_this);
28
- _this.parents.add(parent);
29
- return _this;
4
+ const branches_1 = require("./branches");
5
+ const parents_1 = require("./parents");
6
+ const abstract_node_1 = require("./abstract-node");
7
+ class InternalNode extends abstract_node_1.AbstractNode {
8
+ constructor(level, rootNode, parent) {
9
+ super(level, rootNode, 'InternalNode');
10
+ this.branches = new branches_1.Branches(this);
11
+ this.parents = new parents_1.Parents(this);
12
+ this.parents.add(parent);
30
13
  }
31
14
  /**
32
15
  * by the reduction-rule of bdd,
33
16
  * if both branches are equal,
34
17
  * we can remove this node from the bdd
35
18
  */
36
- InternalNode.prototype.applyReductionRule = function () {
19
+ applyReductionRule() {
37
20
  // console.log('applyReductionRule() ' + this.id);
38
- var _this = this;
39
21
  if (this.branches.hasEqualBranches()) {
40
22
  this.ensureNotDeleted('applyReductionRule');
41
- var keepBranch_1 = this.branches.getBranch('0');
23
+ const keepBranch = this.branches.getBranch('0');
42
24
  // move own parents to keepBranch
43
- var ownParents = this.parents.getAll();
44
- ownParents.forEach(function (parent) {
25
+ const ownParents = this.parents.getAll();
26
+ ownParents.forEach(parent => {
45
27
  // console.log('ownParent: ' + parent.id);
46
- var branchKey = parent.branches.getKeyOfNode(_this);
47
- parent.branches.setBranch(branchKey, keepBranch_1);
28
+ const branchKey = parent.branches.getKeyOfNode(this);
29
+ parent.branches.setBranch(branchKey, keepBranch);
48
30
  // remove parents from own list
49
31
  // this will auto-remove the connection to the other '1'-branch
50
- _this.parents.remove(parent);
32
+ this.parents.remove(parent);
51
33
  // if parent has now two equal branches,
52
34
  // we have to apply the reduction again
53
35
  // to ensure we end in a valid state
@@ -58,8 +40,7 @@ var InternalNode = /** @class */ (function (_super) {
58
40
  return true;
59
41
  }
60
42
  return false;
61
- };
62
- return InternalNode;
63
- }(abstract_node_1.AbstractNode));
43
+ }
44
+ }
64
45
  exports.InternalNode = InternalNode;
65
46
  //# sourceMappingURL=internal-node.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal-node.js","sourceRoot":"","sources":["../../src/internal-node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,uCAAsC;AACtC,qCAAoC;AAEpC,iDAA+C;AAG/C;IAAkC,gCAAY;IAI1C,sBACI,KAAa,EACb,QAAkB,EAClB,MAAmB;QAHvB,YAKI,kBAAM,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,SAEzC;QAVM,cAAQ,GAAa,IAAI,mBAAQ,CAAC,KAAI,CAAC,CAAC;QACxC,aAAO,GAAG,IAAI,iBAAO,CAAC,KAAI,CAAC,CAAC;QAQ/B,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;;IAC7B,CAAC;IAID;;;;OAIG;IACH,yCAAkB,GAAlB;QAEI,kDAAkD;QAFtD,iBA8BC;QA1BG,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE;YAClC,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;YAC5C,IAAM,YAAU,GAAgB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAE7D,iCAAiC;YACjC,IAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACzC,UAAU,CAAC,OAAO,CAAC,UAAA,MAAM;gBACrB,0CAA0C;gBAC1C,IAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAI,CAAC,CAAC;gBACrD,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,YAAU,CAAC,CAAC;gBAEjD,+BAA+B;gBAC/B,+DAA+D;gBAC/D,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAE5B,wCAAwC;gBACxC,uCAAuC;gBACvC,oCAAoC;gBACpC,IAAI,MAAM,CAAC,QAAQ,CAAC,sBAAsB,EAAE,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE;oBACpE,MAAuB,CAAC,kBAAkB,EAAE,CAAC;iBACjD;YACL,CAAC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;SACf;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEL,mBAAC;AAAD,CAAC,AApDD,CAAkC,4BAAY,GAoD7C;AApDY,oCAAY"}
1
+ {"version":3,"file":"internal-node.js","sourceRoot":"","sources":["../../src/internal-node.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AACtC,uCAAoC;AAEpC,mDAA+C;AAG/C,MAAa,YAAa,SAAQ,4BAAY;IAI1C,YACI,KAAa,EACb,QAAkB,EAClB,MAAmB;QAEnB,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;QARpC,aAAQ,GAAa,IAAI,mBAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,YAAO,GAAG,IAAI,iBAAO,CAAC,IAAI,CAAC,CAAC;QAQ/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAID;;;;OAIG;IACH,kBAAkB;QAEd,kDAAkD;QAElD,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE;YAClC,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;YAC5C,MAAM,UAAU,GAAgB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAE7D,iCAAiC;YACjC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACzC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACxB,0CAA0C;gBAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBACrD,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBAEjD,+BAA+B;gBAC/B,+DAA+D;gBAC/D,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAE5B,wCAAwC;gBACxC,uCAAuC;gBACvC,oCAAoC;gBACpC,IAAI,MAAM,CAAC,QAAQ,CAAC,sBAAsB,EAAE,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE;oBACpE,MAAuB,CAAC,kBAAkB,EAAE,CAAC;iBACjD;YACL,CAAC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;SACf;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CAEJ;AApDD,oCAoDC"}
@@ -1,52 +1,33 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
2
  Object.defineProperty(exports, "__esModule", { value: true });
18
3
  exports.LeafNode = void 0;
19
- var parents_1 = require("./parents");
20
- var abstract_node_1 = require("./abstract-node");
21
- var util_1 = require("./util");
22
- var LeafNode = /** @class */ (function (_super) {
23
- __extends(LeafNode, _super);
24
- function LeafNode(level, rootNode, value, parent) {
25
- var _this = _super.call(this, level, rootNode, 'LeafNode') || this;
26
- _this.value = value;
27
- _this.parents = new parents_1.Parents(_this);
28
- _this.parents.add(parent);
29
- return _this;
4
+ const parents_1 = require("./parents");
5
+ const abstract_node_1 = require("./abstract-node");
6
+ const util_1 = require("./util");
7
+ class LeafNode extends abstract_node_1.AbstractNode {
8
+ constructor(level, rootNode, value, parent) {
9
+ super(level, rootNode, 'LeafNode');
10
+ this.value = value;
11
+ this.parents = new parents_1.Parents(this);
12
+ this.parents.add(parent);
30
13
  }
31
- LeafNode.prototype.removeIfValueEquals = function (value) {
32
- var _this = this;
14
+ removeIfValueEquals(value) {
33
15
  this.ensureNotDeleted();
34
16
  if (this.value !== value) {
35
17
  return false;
36
18
  }
37
- var parents = this.parents.getAll();
38
- parents.forEach(function (parent) {
39
- var branchKey = parent.branches.getKeyOfNode(_this);
40
- var otherBranch = parent.branches.getBranch((0, util_1.oppositeBoolean)(branchKey));
41
- _this.parents.remove(parent);
19
+ const parents = this.parents.getAll();
20
+ parents.forEach(parent => {
21
+ const branchKey = parent.branches.getKeyOfNode(this);
22
+ const otherBranch = parent.branches.getBranch((0, util_1.oppositeBoolean)(branchKey));
23
+ this.parents.remove(parent);
42
24
  parent.branches.setBranch(branchKey, otherBranch);
43
25
  if (parent.isInternalNode()) {
44
26
  parent.applyReductionRule();
45
27
  }
46
28
  });
47
29
  return true;
48
- };
49
- return LeafNode;
50
- }(abstract_node_1.AbstractNode));
30
+ }
31
+ }
51
32
  exports.LeafNode = LeafNode;
52
33
  //# sourceMappingURL=leaf-node.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"leaf-node.js","sourceRoot":"","sources":["../../src/leaf-node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,qCAAoC;AACpC,iDAA+C;AAG/C,+BAAyC;AAGzC;IAA8B,4BAAY;IAGtC,kBACI,KAAa,EACb,QAAkB,EACX,KAAa,EACpB,MAAmB;QAJvB,YAMI,kBAAM,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,SAErC;QALU,WAAK,GAAL,KAAK,CAAQ;QALjB,aAAO,GAAG,IAAI,iBAAO,CAAC,KAAI,CAAC,CAAC;QAS/B,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;;IAC7B,CAAC;IAED,sCAAmB,GAAnB,UAAoB,KAAa;QAAjC,iBAmBC;QAlBG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;YACtB,OAAO,KAAK,CAAC;SAChB;QAED,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACtC,OAAO,CAAC,OAAO,CAAC,UAAA,MAAM;YAClB,IAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAI,CAAC,CAAC;YACrD,IAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAA,sBAAe,EAAC,SAAS,CAAC,CAAC,CAAC;YAC1E,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5B,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAClD,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE;gBACxB,MAAuB,CAAC,kBAAkB,EAAE,CAAC;aACjD;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;IAGL,eAAC;AAAD,CAAC,AAnCD,CAA8B,4BAAY,GAmCzC;AAnCY,4BAAQ"}
1
+ {"version":3,"file":"leaf-node.js","sourceRoot":"","sources":["../../src/leaf-node.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AACpC,mDAA+C;AAG/C,iCAAyC;AAGzC,MAAa,QAAS,SAAQ,4BAAY;IAGtC,YACI,KAAa,EACb,QAAkB,EACX,KAAa,EACpB,MAAmB;QAEnB,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAH5B,UAAK,GAAL,KAAK,CAAQ;QALjB,YAAO,GAAG,IAAI,iBAAO,CAAC,IAAI,CAAC,CAAC;QAS/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,mBAAmB,CAAC,KAAa;QAC7B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;YACtB,OAAO,KAAK,CAAC;SAChB;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACtC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACrB,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAA,sBAAe,EAAC,SAAS,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5B,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAClD,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE;gBACxB,MAAuB,CAAC,kBAAkB,EAAE,CAAC;aACjD;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;CAGJ;AAnCD,4BAmCC"}
@@ -1,23 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.nodeToString = exports.bddToMinimalString = void 0;
4
- var string_format_1 = require("./string-format");
5
- var string_format_2 = require("./string-format");
4
+ const string_format_1 = require("./string-format");
5
+ const string_format_2 = require("./string-format");
6
6
  function bddToMinimalString(bdd) {
7
- var ret = '';
8
- var currentCharCode = string_format_2.FIRST_CHAR_CODE_FOR_ID;
7
+ let ret = '';
8
+ let currentCharCode = string_format_2.FIRST_CHAR_CODE_FOR_ID;
9
9
  // add leaf node count
10
- var leafNodeAmount = bdd.getLeafNodes().length;
10
+ const leafNodeAmount = bdd.getLeafNodes().length;
11
11
  if (leafNodeAmount > 99) {
12
12
  throw new Error('cannot build string with too many leaf nodes');
13
13
  }
14
14
  ret += leafNodeAmount.toString().padStart(2, '0');
15
- var levelsHighestFirst = bdd.levels.slice().reverse();
16
- var idByNode = new Map();
17
- levelsHighestFirst.forEach(function (level) {
18
- var nodes = bdd.getNodesOfLevel(level);
19
- nodes.forEach(function (node) {
20
- var stringRep = nodeToString(node, idByNode, currentCharCode);
15
+ const levelsHighestFirst = bdd.levels.slice().reverse();
16
+ const idByNode = new Map();
17
+ levelsHighestFirst.forEach(level => {
18
+ const nodes = bdd.getNodesOfLevel(level);
19
+ nodes.forEach(node => {
20
+ const stringRep = nodeToString(node, idByNode, currentCharCode);
21
21
  currentCharCode = stringRep.nextCode;
22
22
  idByNode.set(node, stringRep.id);
23
23
  ret += stringRep.str;
@@ -27,26 +27,26 @@ function bddToMinimalString(bdd) {
27
27
  }
28
28
  exports.bddToMinimalString = bddToMinimalString;
29
29
  function nodeToString(node, idByNode, lastCode) {
30
- var nextId = (0, string_format_1.getNextCharId)(lastCode);
30
+ const nextId = (0, string_format_1.getNextCharId)(lastCode);
31
31
  switch (node.type) {
32
32
  case 'LeafNode':
33
- var valueChar = (0, string_format_1.getCharOfValue)(node.asLeafNode().value);
33
+ const valueChar = (0, string_format_1.getCharOfValue)(node.asLeafNode().value);
34
34
  return {
35
35
  id: nextId.char,
36
36
  nextCode: nextId.nextCode,
37
37
  str: nextId.char + valueChar
38
38
  };
39
39
  case 'InternalNode':
40
- var branch0Id = idByNode.get(node.asInternalNode().branches.getBranch('0'));
41
- var branch1Id = idByNode.get(node.asInternalNode().branches.getBranch('1'));
40
+ const branch0Id = idByNode.get(node.asInternalNode().branches.getBranch('0'));
41
+ const branch1Id = idByNode.get(node.asInternalNode().branches.getBranch('1'));
42
42
  return {
43
43
  id: nextId.char,
44
44
  nextCode: nextId.nextCode,
45
45
  str: nextId.char + branch0Id + branch1Id + (0, string_format_1.getCharOfLevel)(node.level)
46
46
  };
47
47
  case 'RootNode':
48
- var branch0IdRoot = idByNode.get(node.asRootNode().branches.getBranch('0'));
49
- var branch1IdRoot = idByNode.get(node.asRootNode().branches.getBranch('1'));
48
+ const branch0IdRoot = idByNode.get(node.asRootNode().branches.getBranch('0'));
49
+ const branch1IdRoot = idByNode.get(node.asRootNode().branches.getBranch('1'));
50
50
  return {
51
51
  id: nextId.char,
52
52
  nextCode: nextId.nextCode,
@@ -1 +1 @@
1
- {"version":3,"file":"bdd-to-minimal-string.js","sourceRoot":"","sources":["../../../src/minimal-string/bdd-to-minimal-string.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bdd-to-minimal-string.js","sourceRoot":"","sources":["../../../src/minimal-string/bdd-to-minimal-string.ts"],"names":[],"mappings":"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"}
@@ -12,8 +12,8 @@ exports.bddToSimpleBdd = bddToSimpleBdd;
12
12
  * @recursive
13
13
  */
14
14
  function nodeToSimpleBddNode(node) {
15
- var branch0 = node.branches.getBranch('0');
16
- var branch1 = node.branches.getBranch('1');
15
+ const branch0 = node.branches.getBranch('0');
16
+ const branch1 = node.branches.getBranch('1');
17
17
  return {
18
18
  l: node.level,
19
19
  0: branch0.isLeafNode() ? branch0.asLeafNode().value : nodeToSimpleBddNode(branch0),
@@ -1 +1 @@
1
- {"version":3,"file":"bdd-to-simple-bdd.js","sourceRoot":"","sources":["../../../src/minimal-string/bdd-to-simple-bdd.ts"],"names":[],"mappings":";;;AAOA;;GAEG;AACH,SAAgB,cAAc,CAAC,GAAa;IACxC,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAFD,wCAEC;AAGD;;GAEG;AACH,SAAgB,mBAAmB,CAC/B,IAAkB;IAGlB,IAAM,OAAO,GAAkB,IAAqB,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7E,IAAM,OAAO,GAAkB,IAAqB,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAE7E,OAAO;QACH,CAAC,EAAE,IAAI,CAAC,KAAK;QACb,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC;QACnF,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC;KACtF,CAAC;AACN,CAAC;AAZD,kDAYC"}
1
+ {"version":3,"file":"bdd-to-simple-bdd.js","sourceRoot":"","sources":["../../../src/minimal-string/bdd-to-simple-bdd.ts"],"names":[],"mappings":";;;AAOA;;GAEG;AACH,SAAgB,cAAc,CAAC,GAAa;IACxC,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAFD,wCAEC;AAGD;;GAEG;AACH,SAAgB,mBAAmB,CAC/B,IAAkB;IAGlB,MAAM,OAAO,GAAkB,IAAqB,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAkB,IAAqB,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAE7E,OAAO;QACH,CAAC,EAAE,IAAI,CAAC,KAAK;QACb,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC;QACnF,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC;KACtF,CAAC;AACN,CAAC;AAZD,kDAYC"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/minimal-string/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0DAAwC;AACxC,iEAA+C;AAC/C,4DAA0C;AAC1C,kDAAgC;AAChC,sDAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/minimal-string/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,iEAA+C;AAC/C,4DAA0C;AAC1C,kDAAgC;AAChC,sDAAoC"}
@@ -1,39 +1,39 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.minimalStringToSimpleBdd = void 0;
4
- var util_1 = require("../util");
5
- var string_format_1 = require("./string-format");
4
+ const util_1 = require("../util");
5
+ const string_format_1 = require("./string-format");
6
6
  function minimalStringToSimpleBdd(str) {
7
- var nodesById = new Map();
7
+ const nodesById = new Map();
8
8
  // parse leaf nodes
9
- var leafNodeAmount = parseInt(str.charAt(0) + str.charAt(1), 10);
10
- var lastLeafNodeChar = (2 + leafNodeAmount * 2);
11
- var leafNodeChars = str.substring(2, lastLeafNodeChar);
12
- var leafNodeChunks = (0, util_1.splitStringToChunks)(leafNodeChars, 2);
13
- for (var i = 0; i < leafNodeChunks.length; i++) {
14
- var chunk = leafNodeChunks[i];
15
- var id = chunk.charAt(0);
16
- var value = (0, string_format_1.getNumberOfChar)(chunk.charAt(1));
9
+ const leafNodeAmount = parseInt(str.charAt(0) + str.charAt(1), 10);
10
+ const lastLeafNodeChar = (2 + leafNodeAmount * 2);
11
+ const leafNodeChars = str.substring(2, lastLeafNodeChar);
12
+ const leafNodeChunks = (0, util_1.splitStringToChunks)(leafNodeChars, 2);
13
+ for (let i = 0; i < leafNodeChunks.length; i++) {
14
+ const chunk = leafNodeChunks[i];
15
+ const id = chunk.charAt(0);
16
+ const value = (0, string_format_1.getNumberOfChar)(chunk.charAt(1));
17
17
  nodesById.set(id, value);
18
18
  }
19
19
  // parse internal nodes
20
- var internalNodeChars = str.substring(lastLeafNodeChar, str.length - 3);
21
- var internalNodeChunks = (0, util_1.splitStringToChunks)(internalNodeChars, 4);
22
- for (var i = 0; i < internalNodeChunks.length; i++) {
23
- var chunk = internalNodeChunks[i];
24
- var id = chunk.charAt(0);
25
- var idOf0Branch = chunk.charAt(1);
26
- var idOf1Branch = chunk.charAt(2);
27
- var level = (0, string_format_1.getNumberOfChar)(chunk.charAt(3));
20
+ const internalNodeChars = str.substring(lastLeafNodeChar, str.length - 3);
21
+ const internalNodeChunks = (0, util_1.splitStringToChunks)(internalNodeChars, 4);
22
+ for (let i = 0; i < internalNodeChunks.length; i++) {
23
+ const chunk = internalNodeChunks[i];
24
+ const id = chunk.charAt(0);
25
+ const idOf0Branch = chunk.charAt(1);
26
+ const idOf1Branch = chunk.charAt(2);
27
+ const level = (0, string_format_1.getNumberOfChar)(chunk.charAt(3));
28
28
  if (!nodesById.has(idOf0Branch)) {
29
29
  throw new Error('missing node with id ' + idOf0Branch);
30
30
  }
31
31
  if (!nodesById.has(idOf1Branch)) {
32
32
  throw new Error('missing node with id ' + idOf1Branch);
33
33
  }
34
- var node0 = nodesById.get(idOf0Branch);
35
- var node1 = nodesById.get(idOf1Branch);
36
- var node = {
34
+ const node0 = nodesById.get(idOf0Branch);
35
+ const node1 = nodesById.get(idOf1Branch);
36
+ const node = {
37
37
  l: level,
38
38
  0: node0,
39
39
  1: node1
@@ -41,13 +41,13 @@ function minimalStringToSimpleBdd(str) {
41
41
  nodesById.set(id, node);
42
42
  }
43
43
  // parse root node
44
- var last3 = str.slice(-3);
45
- var idOf0 = last3.charAt(0);
46
- var idOf1 = last3.charAt(1);
47
- var levelOfRoot = (0, string_format_1.getNumberOfChar)(last3.charAt(2));
48
- var nodeOf0 = nodesById.get(idOf0);
49
- var nodeOf1 = nodesById.get(idOf1);
50
- var rootNode = {
44
+ const last3 = str.slice(-3);
45
+ const idOf0 = last3.charAt(0);
46
+ const idOf1 = last3.charAt(1);
47
+ const levelOfRoot = (0, string_format_1.getNumberOfChar)(last3.charAt(2));
48
+ const nodeOf0 = nodesById.get(idOf0);
49
+ const nodeOf1 = nodesById.get(idOf1);
50
+ const rootNode = {
51
51
  l: levelOfRoot,
52
52
  0: nodeOf0,
53
53
  1: nodeOf1,
@@ -1 +1 @@
1
- {"version":3,"file":"minimal-string-to-simple-bdd.js","sourceRoot":"","sources":["../../../src/minimal-string/minimal-string-to-simple-bdd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"minimal-string-to-simple-bdd.js","sourceRoot":"","sources":["../../../src/minimal-string/minimal-string-to-simple-bdd.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.resolveWithSimpleBdd = void 0;
4
- var util_1 = require("../util");
4
+ const util_1 = require("../util");
5
5
  function resolveWithSimpleBdd(simpleBdd, fns, input) {
6
- var currentNode = simpleBdd;
7
- var currentLevel = simpleBdd.l;
6
+ let currentNode = simpleBdd;
7
+ let currentLevel = simpleBdd.l;
8
8
  while (true) {
9
- var booleanResult = fns[currentLevel](input);
10
- var branchKey = (0, util_1.booleanToBooleanString)(booleanResult);
9
+ const booleanResult = fns[currentLevel](input);
10
+ const branchKey = (0, util_1.booleanToBooleanString)(booleanResult);
11
11
  currentNode = currentNode[branchKey];
12
12
  if (typeof currentNode === 'number' || typeof currentNode === 'string') {
13
13
  return currentNode;
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-with-simple-bdd.js","sourceRoot":"","sources":["../../../src/minimal-string/resolve-with-simple-bdd.ts"],"names":[],"mappings":";;;AAKA,gCAAiD;AAEjD,SAAgB,oBAAoB,CAChC,SAAoB,EACpB,GAAsB,EACtB,KAAU;IAEV,IAAI,WAAW,GAAkC,SAAS,CAAC;IAC3D,IAAI,YAAY,GAAW,SAAS,CAAC,CAAC,CAAC;IACvC,OAAO,IAAI,EAAE;QACT,IAAM,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAM,SAAS,GAAG,IAAA,6BAAsB,EAAC,aAAa,CAAC,CAAC;QACxD,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;YACpE,OAAO,WAAkB,CAAC;SAC7B;aAAM;YACH,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC;SAChC;KACJ;AACL,CAAC;AAjBD,oDAiBC"}
1
+ {"version":3,"file":"resolve-with-simple-bdd.js","sourceRoot":"","sources":["../../../src/minimal-string/resolve-with-simple-bdd.ts"],"names":[],"mappings":";;;AAKA,kCAAiD;AAEjD,SAAgB,oBAAoB,CAChC,SAAoB,EACpB,GAAsB,EACtB,KAAU;IAEV,IAAI,WAAW,GAAkC,SAAS,CAAC;IAC3D,IAAI,YAAY,GAAW,SAAS,CAAC,CAAC,CAAC;IACvC,OAAO,IAAI,EAAE;QACT,MAAM,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAA,6BAAsB,EAAC,aAAa,CAAC,CAAC;QACxD,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;YACpE,OAAO,WAAkB,CAAC;SAC7B;aAAM;YACH,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC;SAChC;KACJ;AACL,CAAC;AAjBD,oDAiBC"}
@@ -31,17 +31,17 @@ Rules for the string:
31
31
  // we use this because 39 is the quotes which causes problems
32
32
  exports.CHAR_CODE_OFFSET = 40; // String.fromCharCode(33) === ')'
33
33
  function getCharOfLevel(level) {
34
- var charCode = exports.CHAR_CODE_OFFSET + level;
34
+ const charCode = exports.CHAR_CODE_OFFSET + level;
35
35
  return String.fromCharCode(charCode);
36
36
  }
37
37
  exports.getCharOfLevel = getCharOfLevel;
38
38
  function getNumberOfChar(char) {
39
- var charCode = char.charCodeAt(0);
39
+ const charCode = char.charCodeAt(0);
40
40
  return charCode - exports.CHAR_CODE_OFFSET;
41
41
  }
42
42
  exports.getNumberOfChar = getNumberOfChar;
43
43
  function getCharOfValue(value) {
44
- var charCode = exports.CHAR_CODE_OFFSET + value;
44
+ const charCode = exports.CHAR_CODE_OFFSET + value;
45
45
  return String.fromCharCode(charCode);
46
46
  }
47
47
  exports.getCharOfValue = getCharOfValue;
@@ -51,9 +51,9 @@ function getNextCharId(lastCode) {
51
51
  if (lastCode >= 128 && lastCode <= 160) {
52
52
  lastCode = 161;
53
53
  }
54
- var char = String.fromCharCode(lastCode);
54
+ const char = String.fromCharCode(lastCode);
55
55
  return {
56
- char: char,
56
+ char,
57
57
  nextCode: lastCode + 1
58
58
  };
59
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"string-format.js","sourceRoot":"","sources":["../../../src/minimal-string/string-format.ts"],"names":[],"mappings":";AAAA;;;;;;;EAOE;;;AAEF;;;;;;;;;;;;;;;;;;EAkBE;AAEF,6DAA6D;AAChD,QAAA,gBAAgB,GAAG,EAAE,CAAC,CAAC,kCAAkC;AAGtE,SAAgB,cAAc,CAAC,KAAa;IACxC,IAAM,QAAQ,GAAG,wBAAgB,GAAG,KAAK,CAAC;IAC1C,OAAO,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC;AAHD,wCAGC;AAED,SAAgB,eAAe,CAAC,IAAY;IACxC,IAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACpC,OAAO,QAAQ,GAAG,wBAAgB,CAAC;AACvC,CAAC;AAHD,0CAGC;AAED,SAAgB,cAAc,CAAC,KAAa;IACxC,IAAM,QAAQ,GAAG,wBAAgB,GAAG,KAAK,CAAC;IAC1C,OAAO,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC;AAHD,wCAGC;AAGY,QAAA,sBAAsB,GAAG,EAAE,CAAC,CAAC,kCAAkC;AAE5E,SAAgB,aAAa,CAAC,QAAgB;IAK1C,6CAA6C;IAC7C,IAAI,QAAQ,IAAI,GAAG,IAAI,QAAQ,IAAI,GAAG,EAAE;QACpC,QAAQ,GAAG,GAAG,CAAC;KAClB;IAED,IAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO;QACH,IAAI,MAAA;QACJ,QAAQ,EAAE,QAAQ,GAAG,CAAC;KACzB,CAAC;AACN,CAAC;AAfD,sCAeC"}
1
+ {"version":3,"file":"string-format.js","sourceRoot":"","sources":["../../../src/minimal-string/string-format.ts"],"names":[],"mappings":";AAAA;;;;;;;EAOE;;;AAEF;;;;;;;;;;;;;;;;;;EAkBE;AAEF,6DAA6D;AAChD,QAAA,gBAAgB,GAAG,EAAE,CAAC,CAAC,kCAAkC;AAGtE,SAAgB,cAAc,CAAC,KAAa;IACxC,MAAM,QAAQ,GAAG,wBAAgB,GAAG,KAAK,CAAC;IAC1C,OAAO,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC;AAHD,wCAGC;AAED,SAAgB,eAAe,CAAC,IAAY;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACpC,OAAO,QAAQ,GAAG,wBAAgB,CAAC;AACvC,CAAC;AAHD,0CAGC;AAED,SAAgB,cAAc,CAAC,KAAa;IACxC,MAAM,QAAQ,GAAG,wBAAgB,GAAG,KAAK,CAAC;IAC1C,OAAO,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC;AAHD,wCAGC;AAGY,QAAA,sBAAsB,GAAG,EAAE,CAAC,CAAC,kCAAkC;AAE5E,SAAgB,aAAa,CAAC,QAAgB;IAK1C,6CAA6C;IAC7C,IAAI,QAAQ,IAAI,GAAG,IAAI,QAAQ,IAAI,GAAG,EAAE;QACpC,QAAQ,GAAG,GAAG,CAAC;KAClB;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO;QACH,IAAI;QACJ,QAAQ,EAAE,QAAQ,GAAG,CAAC;KACzB,CAAC;AACN,CAAC;AAfD,sCAeC"}
@@ -4,12 +4,12 @@ import { RootNode } from './root-node';
4
4
  * a function that is called each time
5
5
  * a 'better' bdd was found
6
6
  */
7
- export declare type OptmisiationCallback = (bdd: OptimisationResult) => void;
7
+ export type OptmisiationCallback = (bdd: OptimisationResult) => void;
8
8
  export interface OptimisationResult {
9
9
  bdd: RootNode;
10
10
  truthTable: TruthTable;
11
11
  }
12
- export declare type CompareResultsFunction = (a: RootNode, b: RootNode) => RootNode | Promise<RootNode>;
12
+ export type CompareResultsFunction = (a: RootNode, b: RootNode) => RootNode | Promise<RootNode>;
13
13
  /**
14
14
  * returns the bdd with less nodes
15
15
  */
@@ -28,10 +28,10 @@ export interface OptimizeBruteForceInput {
28
28
  * and checking the resulting bdd
29
29
  */
30
30
  export declare function optimizeBruteForce({ truthTable, iterations, onBetterBdd, compareResults, afterBddCreation, log }: OptimizeBruteForceInput): Promise<OptimisationResult>;
31
- export declare type BooleanFunctionReorderMapping = {
31
+ export type BooleanFunctionReorderMapping = {
32
32
  [indexAfter: number]: number;
33
33
  };
34
- export declare type BooleanFunctionReorderMappingReverse = {
34
+ export type BooleanFunctionReorderMappingReverse = {
35
35
  [indexBefore: number]: number;
36
36
  };
37
37
  export declare function shuffleBooleanOrdering(truthTable: TruthTable): {