88 for ( i = 0; i < nFuncs; i++ )
112 static int * Permute = NULL;
113 static int * PermuteReo1 = NULL;
114 static int * PermuteReo2 = NULL;
115 DdNode * aFuncReorder, * aFuncNew;
119 if ( ddReorder == NULL )
130 for ( lev = 0; lev < dd->
size; lev++ )
140 printf(
"Nodes before = %d.\n",
Cudd_DagSize(aFuncReorder) );
142 printf(
"Nodes before = %d.\n",
Cudd_DagSize(aFuncReorder) );
145 for ( lev = 0; lev < dd->
size; lev++ )
158 for ( var = 0; var < dd->
size; var++ )
159 pPermuteReo[var] = PermuteReo1[ PermuteReo2[var] ];
187 if ( s_ddmin == NULL )
227 if ( s_ddmin == NULL )
245 printf(
"Classical reordering of ADDs: Before = %d. After = %d.\n", nNodesBeg, nNodesEnd );
246 printf(
"Classical variable reordering time = %.2f sec\n", (
float)(
Abc_Clock() - clk1)/(
float)(CLOCKS_PER_SEC) );
#define CUDD_UNIQUE_SLOTS
void Cudd_RecursiveDeref(DdManager *table, DdNode *n)
void Cudd_Deref(DdNode *node)
DdNode * Cudd_addBddPattern(DdManager *dd, DdNode *f)
DdNode * Extra_Reorder(reo_man *p, DdManager *dd, DdNode *Func, int *pOrder)
void Extra_ReorderTestArray(DdManager *dd, DdNode *Funcs[], int nFuncs)
#define ABC_ALLOC(type, num)
DdNode * Extra_ReorderCudd(DdManager *dd, DdNode *aFunc, int pPermuteReo[])
static abctime Abc_Clock()
DdNode * Cudd_bddTransfer(DdManager *ddSource, DdManager *ddDestination, DdNode *f)
#define ABC_NAMESPACE_IMPL_END
DdManager * Cudd_Init(unsigned int numVars, unsigned int numVarsZ, unsigned int numSlots, unsigned int cacheSize, unsigned long maxMemory)
void Extra_ReorderArray(reo_man *p, DdManager *dd, DdNode *Funcs[], DdNode *FuncsRes[], int nFuncs, int *pOrder)
DdNode * Cudd_BddToAdd(DdManager *dd, DdNode *B)
ABC_NAMESPACE_IMPL_START void Extra_ReorderTest(DdManager *dd, DdNode *Func)
DECLARATIONS ///.
int Extra_addReorderTest(DdManager *dd, DdNode *aF)
#define ABC_NAMESPACE_IMPL_START
void Cudd_AutodynDisable(DdManager *unique)
static DdManager * s_ddmin
reo_man * Extra_ReorderInit(int nDdVarsMax, int nNodesMax)
FUNCTION DECLARATIONS ///.
void Extra_ReorderQuit(reo_man *p)
int Cudd_ReduceHeap(DdManager *table, Cudd_ReorderingType heuristic, int minsize)
int Cudd_SharingSize(DdNode **nodeArray, int n)
int Extra_bddReorderTest(DdManager *dd, DdNode *bF)
int Cudd_DagSize(DdNode *node)