56 pOrder =
ABC_ALLOC(
int, Abc_ObjFaninNum(pNode) );
57 for ( i = 0; i < Abc_ObjFaninNum(pNode); i++ )
61 Cudd_RecursiveDeref( (DdManager *)pNode->
pNtk->
pManFunc, (DdNode *)pNode->
pData );
65 pOrder[i] = pNode->
vFanins.pArray[ pOrder[i] ];
67 pNode->
vFanins.pArray[i] = pOrder[i];
92 if ( Abc_ObjFaninNum(pNode) < 3 )
97 fprintf( stdout,
"Before = %5d BDD nodes. ", Cudd_DagSize((DdNode *)pNode->
pData) );
98 Abc_NodeBddReorder(
p, pNode );
100 fprintf( stdout,
"After = %5d BDD nodes.\n", Cudd_DagSize((DdNode *)pNode->
pData) );
ABC_NAMESPACE_IMPL_START void Abc_NtkBddReorder(Abc_Ntk_t *pNtk, int fVerbose)
DECLARATIONS ///.
struct Abc_Obj_t_ Abc_Obj_t
ABC_DLL int Abc_NtkGetFaninMax(Abc_Ntk_t *pNtk)
#define Abc_ObjForEachFanin(pObj, pFanin, i)
ABC_DLL char * Abc_ObjName(Abc_Obj_t *pNode)
DECLARATIONS ///.
struct Abc_Ntk_t_ Abc_Ntk_t
ABC_DLL int Abc_NtkMinimumBase(Abc_Ntk_t *pNtk)
DECLARATIONS ///.
#define Abc_NtkForEachNode(pNtk, pNode, i)
#define ABC_ALLOC(type, num)
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
void Extra_ReorderQuit(reo_man *p)
DdNode * Extra_Reorder(reo_man *p, DdManager *dd, DdNode *Func, int *pOrder)
reo_man * Extra_ReorderInit(int nDdVarsMax, int nNodesMax)
FUNCTION DECLARATIONS ///.