VDS Class Project
|
#include <Manager.h>
Classes | |
struct | KeyHash |
Unique_Table_Entry Defines a structure to be used as a value in the hash map. More... | |
struct | Node |
struct | Unique_Table_Key |
Unique_Table_Key Defines a structure to be used as a key in the hash map. More... | |
Public Member Functions | |
Manager () | |
BDD_ID | createVar (const std::string &label) override |
createVar | |
const BDD_ID & | True () override |
True. | |
const BDD_ID & | False () override |
False. | |
bool | isConstant (BDD_ID f) override |
isConstant | |
bool | isVariable (BDD_ID x) override |
isVariable | |
BDD_ID | topVar (BDD_ID f) override |
topVar | |
std::string | getTopVarName (const BDD_ID &root) override |
getTopVarName | |
BDD_ID | coFactorTrue (BDD_ID f, BDD_ID x) override |
BDD_ID | coFactorFalse (BDD_ID f, BDD_ID x) override |
BDD_ID | coFactorTrue (BDD_ID f) override |
BDD_ID | coFactorFalse (BDD_ID f) override |
BDD_ID | ite (BDD_ID i, BDD_ID t, BDD_ID e) override |
void | findNodes (const BDD_ID &root, std::set< BDD_ID > &nodes_of_root) override |
void | findVars (const BDD_ID &root, std::set< BDD_ID > &vars_of_root) override |
size_t | uniqueTableSize () override |
BDD_ID | neg (BDD_ID a) override |
neg | |
BDD_ID | and2 (BDD_ID a, BDD_ID b) override |
and2 | |
BDD_ID | or2 (BDD_ID a, BDD_ID b) override |
or2 | |
BDD_ID | xor2 (BDD_ID a, BDD_ID b) override |
xor2 | |
BDD_ID | nand2 (BDD_ID a, BDD_ID b) override |
nand2 | |
BDD_ID | nor2 (BDD_ID a, BDD_ID b) override |
nor2 | |
BDD_ID | xnor2 (BDD_ID a, BDD_ID b) override |
xnor2 | |
void | visualizeBDD (std::string filepath, BDD_ID &root) override |
Public Attributes | |
std::unordered_map< Unique_Table_Key, BDD_ID, KeyHash > | Table |
std::vector< Node > | id_table |
std::unordered_map< Unique_Table_Key, BDD_ID, KeyHash > | computed_table |
ClassProject::Manager::Manager | ( | ) |
and2
returns the id numbers required for the ite operation
a | and b: ID's of variables |
Implements ClassProject::ManagerInterface.
Implements ClassProject::ManagerInterface.
Implements ClassProject::ManagerInterface.
Implements ClassProject::ManagerInterface.
Implements ClassProject::ManagerInterface.
|
overridevirtual |
createVar
Creates a new variable with the given ID.
label | String of the label of the variable. |
Implements ClassProject::ManagerInterface.
|
overridevirtual |
False.
Returns the id of the False node
Implements ClassProject::ManagerInterface.
|
overridevirtual |
Implements ClassProject::ManagerInterface.
|
overridevirtual |
Implements ClassProject::ManagerInterface.
|
overridevirtual |
getTopVarName
returns the name of the top variable of the given node.
root | ID of the node. |
Implements ClassProject::ManagerInterface.
|
overridevirtual |
isConstant
Returns true if the node is a leaf node.
f | ID of the node. |
Implements ClassProject::ManagerInterface.
|
overridevirtual |
isVariable
checks whether the item corresponding to a given ID is a variable or not.
x | ID of the node. |
Implements ClassProject::ManagerInterface.
Implements ClassProject::ManagerInterface.
nand2
returns the id numbers required for the ite operation
a | and b: ID's of variables |
Implements ClassProject::ManagerInterface.
neg
Creates a negated version of a given function and returns its ID.
a | ID of the function to be negated. |
Implements ClassProject::ManagerInterface.
nor2
returns the id numbers required for the ite operation
a | and b: ID's of variables |
Implements ClassProject::ManagerInterface.
or2
returns the id numbers required for the ite operation
a | and b: ID's of variables |
Implements ClassProject::ManagerInterface.
topVar
returns the top variable ID of the given node.
f | ID of the node. |
Implements ClassProject::ManagerInterface.
|
overridevirtual |
True.
Returns the id of the True node
Implements ClassProject::ManagerInterface.
|
overridevirtual |
Implements ClassProject::ManagerInterface.
|
overridevirtual |
Implements ClassProject::ManagerInterface.
xnor2
returns the id numbers required for the ite operation
a | and b: ID's of variables |
Implements ClassProject::ManagerInterface.
xor2
returns the id numbers required for the ite operation
a | and b: ID's of variables |
Implements ClassProject::ManagerInterface.
std::unordered_map<Unique_Table_Key,BDD_ID,KeyHash> ClassProject::Manager::computed_table |
std::vector<Node> ClassProject::Manager::id_table |
std::unordered_map<Unique_Table_Key, BDD_ID, KeyHash> ClassProject::Manager::Table |