64 for ( i = 0; i < p->
nSupp; i++ )
82 for ( i = 0; i < p->
nSupp; i++ )
87 for ( k = i + 1; k < p->
nSupp; k++ )
92 printf(
"reoShuffle() Error: Cannot find a variable.\n" );
96 for ( v = k - 1; v >= i; v-- )
102 printf(
"reoShuffle() Error: BDD size is too large.\n" );
128 if ( bFuncPerm != bFuncRes )
130 printf(
"REO: Internal verification has failed!\n" );
137 for ( i = 0; i <= p->
nSupp; i++ )
164 int nSuppSize, OffSet, Num, i;
166 int pOrder[1000], pOrderInv[1000];
174 for ( i = 0; i < nSuppSize; i++ )
176 for ( i = 0; i < 120; i++ )
178 OffSet = rand() % (nSuppSize - 1);
179 Num = pOrder[OffSet];
180 pOrder[OffSet] = pOrder[OffSet+1];
181 pOrder[OffSet+1] = Num;
183 for ( i = 0; i < nSuppSize; i++ )
184 pOrderInv[pOrder[i]] = i;
212 if ( bFuncPerm != Temp )
214 printf(
"REO: Internal verification has failed!\n" );
void Extra_ShuffleTest(reo_man *pReo, DdManager *dd, DdNode *Func)
void Cudd_RecursiveDeref(DdManager *table, DdNode *n)
void Cudd_Deref(DdNode *node)
#define Cudd_IsConstant(node)
reo_unit * reoTransferNodesToUnits_rec(reo_man *p, DdNode *F)
DECLARATIONS ///.
ABC_NAMESPACE_IMPL_START DdNode * reoShuffle(reo_man *p, DdManager *dd, DdNode *bFunc, int *pPerm, int *pPermInv)
DECLARATIONS ///.
static abctime Abc_Clock()
DdNode * reoTransferUnitsToNodes_rec(reo_man *p, reo_unit *pUnit)
void reoUnitsRecycleUnitList(reo_man *p, reo_plane *pPlane)
DdNode * Cudd_bddPermute(DdManager *manager, DdNode *node, int *permut)
#define ABC_NAMESPACE_IMPL_END
double reoReorderSwapAdjacentVars(reo_man *p, int Level, int fMovingUp)
FUNCTION DEFINITIONS ///.
#define ABC_NAMESPACE_IMPL_START
int Cudd_SupportSize(DdManager *dd, DdNode *f)