|
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 |