binary-decision-diagram
Version:
A library to create, minimize and optimize binary decision diagrams
29 lines (28 loc) • 975 B
TypeScript
import { AbstractNode } from './abstract-node.js';
import { Branches } from './branches.js';
import type { NonRootNode, ResolverFunctions, SimpleBdd } from './types.js';
import { LeafNode } from './leaf-node.js';
export declare class RootNode extends AbstractNode {
branches: Branches;
levels: number[];
nodesByLevel: Map<number, Set<AbstractNode>>;
constructor();
addNode(node: NonRootNode): void;
removeNode(node: NonRootNode): void;
private ensureLevelSetExists;
getLevels(): number[];
getNodesOfLevel(level: number): NonRootNode[];
countNodes(): number;
/**
* applies the reduction rules to the whole bdd
*/
minimize(logState?: boolean): void;
getLeafNodes(): LeafNode[];
/**
* strips all leaf-nodes
* with the given value
*/
removeIrrelevantLeafNodes(leafNodeValue: number): void;
resolve(fns: ResolverFunctions, booleanFunctionInput: any): number;
toSimpleBdd(): SimpleBdd;
}