292 int nNodes1, nNodes2;
299 nNodes2 = nNodes - nNodes1;
350 else if ( Value ==
'1' )
373 DdNode * bFunc1, * bFunc2;
379 RetValue = (bFunc1 == bFunc2);
380 if ( bFunc1 != bFunc2 )
#define Mvc_CoverAddCubeTail(pCover, pCube)
int Mvc_CoverContain(Mvc_Cover_t *pCover)
FUNCTION DEFINITIONS ///.
void Mvc_CoverFree(Mvc_Cover_t *pCover)
static ABC_NAMESPACE_IMPL_START Dec_Edge_t Dec_Factor_rec(Dec_Graph_t *pFForm, Mvc_Cover_t *pCover)
DECLARATIONS ///.
ABC_DLL void * Abc_FrameReadManDd()
Mvc_Cover_t * Mvc_CoverCommonCubeCover(Mvc_Cover_t *pCover)
void Mvc_CoverDivideInternal(Mvc_Cover_t *pCover, Mvc_Cover_t *pDiv, Mvc_Cover_t **ppQuo, Mvc_Cover_t **ppRem)
void Cudd_RecursiveDeref(DdManager *table, DdNode *n)
static Mvc_Cover_t * Dec_ConvertSopToMvc(char *pSop)
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
#define Abc_SopForEachCube(pSop, nFanins, pCube)
static Dec_Edge_t Dec_EdgeCreate(int Node, int fCompl)
FUNCTION DEFINITIONS ///.
static Dec_Edge_t Dec_FactorTrivialCube(Dec_Graph_t *pFForm, Mvc_Cover_t *pCover, Mvc_Cube_t *pCube, Vec_Int_t *vEdgeLits)
typedefABC_NAMESPACE_HEADER_START struct Dec_Edge_t_ Dec_Edge_t
INCLUDES ///.
#define Abc_CubeForEachVar(pCube, Value, i)
void Mvc_CoverMakeCubeFree(Mvc_Cover_t *pCover)
static Dec_Graph_t * Dec_GraphCreateConst1()
static Dec_Edge_t Dec_GraphAddNodeAnd(Dec_Graph_t *pGraph, Dec_Edge_t eEdge0, Dec_Edge_t eEdge1)
ABC_DLL void * Abc_FrameReadManDec()
Mvc_Cube_t * Mvc_CubeAlloc(Mvc_Cover_t *pCover)
DECLARATIONS ///.
void Mvc_CoverInverse(Mvc_Cover_t *pCover)
int Mvc_CoverReadCubeNum(Mvc_Cover_t *pCover)
#define Mvc_CubeBitRemove(Cube, Bit)
#define Mvc_CubeBitFill(Cube)
int Mvc_CoverIsTautology(Mvc_Cover_t *pCover)
static Dec_Graph_t * Dec_GraphCreateConst0()
#define ABC_NAMESPACE_IMPL_END
static int Dec_FactorVerify(char *pSop, Dec_Graph_t *pFForm)
static void Vec_IntPush(Vec_Int_t *p, int Entry)
#define Mvc_CubeForEachBit(Cover, Cube, iBit, Value)
#define Mvc_CoverForEachCube(Cover, Cube)
static void Dec_GraphSetRoot(Dec_Graph_t *pGraph, Dec_Edge_t eRoot)
#define ABC_NAMESPACE_IMPL_START
static unsigned Dec_EdgeToInt_(Dec_Edge_t m)
static Dec_Graph_t * Dec_GraphCreate(int nLeaves)
static Dec_Edge_t Dec_GraphAddNodeOr(Dec_Graph_t *pGraph, Dec_Edge_t eEdge0, Dec_Edge_t eEdge1)
static Dec_Edge_t Dec_FactorTrivial(Dec_Graph_t *pFForm, Mvc_Cover_t *pCover)
Mvc_Cover_t * Mvc_CoverBestLiteralCover(Mvc_Cover_t *pCover, Mvc_Cover_t *pSimple)
void Mvc_CoverDivideByLiteral(Mvc_Cover_t *pCover, Mvc_Cover_t *pDiv, Mvc_Cover_t **ppQuo, Mvc_Cover_t **ppRem)
int Mvc_CoverIsCubeFree(Mvc_Cover_t *pCover)
ABC_DLL int Abc_SopGetVarNum(char *pSop)
static Dec_Edge_t Dec_FactorLF_rec(Dec_Graph_t *pFForm, Mvc_Cover_t *pCover, Mvc_Cover_t *pSimple)
DdNode * Abc_ConvertSopToBdd(DdManager *dd, char *pSop, DdNode **pbVars)
FUNCTION DEFINITIONS ///.
Mvc_Cover_t * Mvc_CoverAlloc(Mvc_Manager_t *pMem, int nBits)
DECLARATIONS ///.
static void Vec_IntClear(Vec_Int_t *p)
Mvc_Cube_t * Mvc_CoverReadCubeHead(Mvc_Cover_t *pCover)
ABC_DLL int Abc_SopIsComplement(char *pSop)
Dec_Graph_t * Dec_Factor(char *pSop)
FUNCTION DEFINITIONS ///.
static Dec_Edge_t Dec_FactorTrivialTree_rec(Dec_Graph_t *pFForm, Dec_Edge_t *peNodes, int nNodes, int fNodeOr)
int Mvc_CoverIsEmpty(Mvc_Cover_t *pCover)
Mvc_Cover_t * Mvc_CoverDivisor(Mvc_Cover_t *pCover)
FUNCTION DEFINITIONS ///.
ABC_NAMESPACE_IMPL_START DdNode * Dec_GraphDeriveBdd(DdManager *dd, Dec_Graph_t *pGraph)
DECLARATIONS ///.
static void Dec_GraphComplement(Dec_Graph_t *pGraph)