00001 #ifndef DSD_PRIME_DECOMPOSE 00002 #define DSD_PRIME_DECOMPOSE 00003 00004 #include "DSDDecompose.h" 00005 00010 DSDNode* Prime_Decomp(DSDManager* manager, DdNode* f, DdNode *top_func, DSDNode* T, DSDNode* E); 00011 00016 DSDNode *BDN_MUX_VAR_DEC_DEC(DSDManager *manager, DdNode *f, DdNode *top_func, DSDNode *E, DSDNode *T); 00017 00023 DSDNode *BDN_BDD_MUX_VAR_DEC_DEC(DSDManager *manager, DdNode *top_func, DSDNode *E, DSDNode *T); 00024 00025 00030 DSDNode *BDN_BDD_PRIME_SUB(DSDManager *manager, DdNode *f, DdNode *top_func, ActualNode *conflict_residue, DSDNode *node); 00031 00036 DSDNode *BDN_BDD_PRIME_XOR_SUB(DSDManager *manager, DdNode *f, DdNode *top_func, ActualNode *conflict_residue, DSDNode *node); 00037 00042 DSDNode *BDN_BDD_PRIME_MUX_SUB(DSDManager *manager, DdNode *f, DdNode *top_func, ActualNode *conflict_residue, DSDNode *node); 00043 00048 ActualNode *cofactor_container_node_equivalence(DSDManager *manager, DSDNode *container, DSDNode *child); 00049 00054 ActualNode *cofactor_cofactor_equivalence(DSDManager *manager, DSDNode *container, DSDNode *child, int *switch_them); 00055 00060 ActualNode *cofactor_equivalence(DSDManager *manager, DSDNode *container, DSDNode *child); 00061 00066 DSDNode *cofactor_elem_BDN_BDD_PRIME_SUB_ELEM(DSDManager *manager, DdNode *f, DdNode *top_func, DSDNode *node1, DSDNode *node2); 00067 00071 int symbolic_finder_builder(DSDManager *manager, DSDNode *node1, DSDNode *node2); 00072 00076 int symbolic_finder_builder_incomplete(DSDManager *manager, DSDNode *node1, DSDNode *node2); 00077 00078 00079 00080 00081 #endif