83 static char rcsid[]
DD_UNUSED =
"$Id: cuddAndAbs.c,v 1.19 2004/08/13 18:04:46 fabio Exp $";
166 unsigned int saveLimit = manager->
maxLive;
206 DdNode *F, *ft, *fe, *G, *gt, *ge;
208 unsigned int topf, topg, topcube, top, index;
215 if (f == zero || g == zero || f ==
Cudd_Not(g))
return(zero);
216 if (f == one && g == one)
return(one);
221 if (f == one || f == g) {
242 top =
ddMin(topf, topg);
245 while (topcube < top) {
255 if (F->
ref != 1 || G->
ref != 1) {
289 if (topcube == top) {
292 if (t == NULL)
return(NULL);
298 if (t == one || t == fe || t == ge) {
299 if (F->
ref != 1 || G->
ref != 1)
336 if (t == NULL)
return(NULL);
370 if (F->
ref != 1 || G->
ref != 1)
void Cudd_IterDerefBdd(DdManager *table, DdNode *n)
DdNode * cuddBddExistAbstractRecur(DdManager *manager, DdNode *f, DdNode *cube)
#define Cudd_Regular(node)
void cuddCacheInsert(DdManager *table, ptruint op, DdNode *f, DdNode *g, DdNode *h, DdNode *data)
DdNode * cuddBddAndAbstractRecur(DdManager *manager, DdNode *f, DdNode *g, DdNode *cube)
static abctime Abc_Clock()
DdNode * Cudd_bddAndAbstractLimit(DdManager *manager, DdNode *f, DdNode *g, DdNode *cube, unsigned int limit)
#define Cudd_IsComplement(node)
static ABC_NAMESPACE_IMPL_START char rcsid[] DD_UNUSED
#define ABC_NAMESPACE_IMPL_END
#define ABC_NAMESPACE_IMPL_START
#define DD_BDD_AND_ABSTRACT_TAG
void Cudd_DelayedDerefBdd(DdManager *table, DdNode *n)
DdNode * Cudd_bddAndAbstract(DdManager *manager, DdNode *f, DdNode *g, DdNode *cube)
DdNode * cuddBddAndRecur(DdManager *manager, DdNode *f, DdNode *g)
DdNode * cuddUniqueInter(DdManager *unique, int index, DdNode *T, DdNode *E)
DdNode * cuddCacheLookup(DdManager *table, ptruint op, DdNode *f, DdNode *g, DdNode *h)