abc/src/bdd/cudd/cuddBddIte.c
/**Function********************************************************************

  Synopsis    [Computes the exclusive OR of two BDDs f and g.]

  Description [Computes the exclusive OR of two BDDs f and g. Returns a
  pointer to the resulting BDD if successful; NULL if the intermediate
  result blows up.]

  SideEffects [None]

  SeeAlso     [Cudd_bddIte Cudd_addApply Cudd_bddAnd Cudd_bddOr
  Cudd_bddNand Cudd_bddNor Cudd_bddXnor]

******************************************************************************/
Function
Synopsis    [Computes the exclusive OR of two BDDs f and g.]

Description [Computes the exclusive OR of two BDDs f and g. Returns a
pointer to the resulting BDD if successful; NULL if the intermediate
result blows up.]




Function Synopsis [ Computes the exclusive OR of two BDDs f and g . ] Description [ Computes the exclusive OR of two BDDs f and g . Returns a pointer to the resulting BDD if successful ; NULL if the intermediate result blows up . ]
DdNode *
Cudd_bddXor(
  DdManager * dd,
  DdNode * f,
  DdNode * g)
{
    DdNode *res;
    do {
        dd->reordered = 0;
        res = cuddBddXorRecur(dd,f,g);
    } while (dd->reordered == 1);
    return(res);
}
DdNode * Cudd_bddXor ( DdManager * dd , DdNode * f , DdNode * g ) { DdNode * res ; do { dd -> reordered = 0 ; res = cuddBddXorRecur ( dd , f , g ) ; } while ( dd -> reordered == 1 ) ; return ( res ) ; }
Function
Synopsis    [Computes the exclusive OR of two BDDs f and g.]
Function Synopsis [ Computes the exclusive OR of two BDDs f and g . ]