101 static char rcsid[]
DD_UNUSED =
"$Id: cuddZddFuncs.c,v 1.17 2012/02/05 01:07:19 fabio Exp $";
382 DdNode *tmp, *term1, *term2, *term3;
383 DdNode *f0, *f1, *fd, *g0, *g1, *gd;
384 DdNode *R0, *R1, *Rd, *N0, *N1;
392 if (f == zero || g == zero)
619 DdNode *term1, *term2, *term3, *term4;
621 DdNode *f0, *f1, *g0, *g1;
628 if (f == zero || g == zero)
765 DdNode *f0, *f1, *fd, *g0, *g1, *gd;
773 if (f == zero || f == one)
923 int v, top_f, top_g, vf, vg;
926 DdNode *f0, *f1, *fd, *g0, *g1, *gd;
929 DdNode *term1, *term0, *termd;
936 if (f == zero || f == one)
950 v =
ddMin(top_f, top_g);
952 if (v == top_f && vf < vg) {
1163 DdNode *f0, *f1, *g0, *g1;
1170 if (f == zero || f == one)
1206 if (r != zero && g0 != zero) {
1263 DdNode *f0, *f1, *g0, *g1;
1270 if (f == zero || f == one)
1306 if (r != zero && g0 != zero) {
1366 int top, hv, ht, pv, nv;
1370 level = dd->
permZ[v];
1522 DdNode *b, *isop, *zdd_I;
1565 int pv = (index >> 1) << 1;
1586 int nv = index | 0x1;
1608 return(dd->
permZ[pv]);
1629 return(dd->
permZ[nv]);
void Cudd_RecursiveDerefZdd(DdManager *table, DdNode *n)
DdNode * cuddCacheLookup1Zdd(DdManager *table, DdNode *(*)(DdManager *, DdNode *), DdNode *f)
DdNode * Cudd_zddComplement(DdManager *dd, DdNode *node)
void Cudd_RecursiveDeref(DdManager *table, DdNode *n)
DdNode * cuddZddDivide(DdManager *dd, DdNode *f, DdNode *g)
DdNode * cuddZddGetNode(DdManager *zdd, int id, DdNode *T, DdNode *E)
DdNode * Cudd_zddProduct(DdManager *dd, DdNode *f, DdNode *g)
void Cudd_Deref(DdNode *node)
int cuddZddGetCofactors2(DdManager *dd, DdNode *f, int v, DdNode **f1, DdNode **f0)
void cuddCacheInsert1(DdManager *table, DdNode *(*)(DdManager *, DdNode *), DdNode *f, DdNode *data)
DdNode * Cudd_zddWeakDiv(DdManager *dd, DdNode *f, DdNode *g)
int cuddZddGetCofactors3(DdManager *dd, DdNode *f, int v, DdNode **f1, DdNode **f0, DdNode **fd)
int cuddZddGetPosVarLevel(DdManager *dd, int index)
DdNode * Cudd_MakeBddFromZddCover(DdManager *dd, DdNode *node)
DdNode * cuddZddUnateProduct(DdManager *dd, DdNode *f, DdNode *g)
static char rcsid [] DD_UNUSED
DdNode * cuddZddProduct(DdManager *dd, DdNode *f, DdNode *g)
int cuddZddGetNegVarIndex(DdManager *dd, int index)
DdNode * cuddZddIntersect(DdManager *zdd, DdNode *P, DdNode *Q)
DdNode * cuddZddWeakDiv(DdManager *dd, DdNode *f, DdNode *g)
DdNode * cuddZddIsop(DdManager *dd, DdNode *L, DdNode *U, DdNode **zdd_I)
DdNode * cuddMakeBddFromZddCover(DdManager *dd, DdNode *node)
DdNode * Cudd_zddIsop(DdManager *dd, DdNode *L, DdNode *U, DdNode **zdd_I)
DdNode * Cudd_zddDivideF(DdManager *dd, DdNode *f, DdNode *g)
int cuddZddGetPosVarIndex(DdManager *dd, int index)
DdNode * cuddZddWeakDivF(DdManager *dd, DdNode *f, DdNode *g)
DdNode * Cudd_zddWeakDivF(DdManager *dd, DdNode *f, DdNode *g)
DdNode * Cudd_zddDivide(DdManager *dd, DdNode *f, DdNode *g)
DdNode * cuddCacheLookup2Zdd(DdManager *table, DdNode *(*)(DdManager *, DdNode *, DdNode *), DdNode *f, DdNode *g)
DdNode * cuddZddSubset1(DdManager *dd, DdNode *P, int var)
DdNode * cuddZddUnion(DdManager *zdd, DdNode *P, DdNode *Q)
int cuddZddGetNegVarLevel(DdManager *dd, int index)
void cuddCacheInsert2(DdManager *table, DdNode *(*)(DdManager *, DdNode *, DdNode *), DdNode *f, DdNode *g, DdNode *data)
DdNode * Cudd_zddUnateProduct(DdManager *dd, DdNode *f, DdNode *g)
DdNode * cuddZddSubset0(DdManager *dd, DdNode *P, int var)
DdNode * cuddZddDivideF(DdManager *dd, DdNode *f, DdNode *g)
DdNode * cuddZddComplement(DdManager *dd, DdNode *node)