00001 #ifndef DSD_XOR_DECOMPOSE
00002 #define DSD_XOR_DECOMPOSE
00003
00004 #include "DSDDecompose.h"
00005
00010 DSDNode* XOR_Decomp(DSDManager* manager, DdNode* f, DdNode *top_func, DSDNode* T, DSDNode* E);
00011
00016 DSDNode *BDN_XOR_VAR_EXP(DSDManager *manager, DdNode *f, DdNode *top_func, DSDNode *base);
00017
00022 DSDNode *BDN_NXOR_VAR_EXP(DSDManager *manager, DdNode *f, DdNode *top_func, DSDNode *base);
00023
00028 DSDNode *BDN_XOR_VAR_DEC(DSDManager *manager, DdNode *f, DdNode *top_func, DSDNode *base);
00029
00034 DSDNode *BDN_NXOR_VAR_DEC(DSDManager *manager, DdNode *f, DdNode *top_func, DSDNode *base);
00035
00040 DSDNode *BDN_XOR_DEC_ACTUALS(DSDManager *manager, DdNode *f, DSDNode *node, ActualNode *actuals);
00041
00046 DSDNode *BDN_NXOR_DEC_ACTUALS(DSDManager *manager, DdNode *f, DSDNode *node, ActualNode *actuals);
00047
00048
00052 DSDNode *BDN_XOR_DEC_DEC(DSDManager *manager, DdNode *f, DSDNode *node1, DSDNode *node2);
00053
00057 DSDNode *BDN_NXOR_DEC_DEC(DSDManager *manager, DdNode *f, DSDNode *node1, DSDNode *node2);
00058
00062 DSDNode *BDN_XOR_ACTUALS(DSDManager *manager, DdNode *f, ActualNode *actuals);
00063
00067 DSDNode *BDN_NXOR_ACTUALS(DSDManager *manager, DdNode *f, ActualNode *actuals);
00068
00073 DSDNode *BDN_BDD_XOR_RESIDUE(DSDManager *manager, ActualNode *residue);
00074
00079 DSDNode *BDN_BDD_NXOR_RESIDUE(DSDManager *manager, ActualNode *residue);
00080
00081 #endif