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

  Synopsis    [Computes the boolean difference of f with respect to x.]

  Description [Computes the boolean difference of f with respect to the
  variable with index x.  Returns the BDD of the boolean difference if
  successful; NULL otherwise.]

  SideEffects [None]

  SeeAlso     []

******************************************************************************/
Function
Synopsis    [Computes the boolean difference of f with respect to x.]

Description [Computes the boolean difference of f with respect to the
variable with index x.  Returns the BDD of the boolean difference if
successful; NULL otherwise.]




Function Synopsis [ Computes the boolean difference of f with respect to x . ] Description [ Computes the boolean difference of f with respect to the variable with index x . Returns the BDD of the boolean difference if successful ; NULL otherwise . ]
DdNode *
Cudd_bddBooleanDiff(
  DdManager * manager,
  DdNode * f,
  int  x)
{
    DdNode *res, *var;
    if (x >= manager->size) return(Cudd_Not(DD_ONE(manager)));
    var = manager->vars[x];
    do {
        manager->reordered = 0;
        res = cuddBddBooleanDiffRecur(manager, Cudd_Regular(f), var);
    } while (manager->reordered == 1);
    return(res);
}
DdNode * Cudd_bddBooleanDiff ( DdManager * manager , DdNode * f , int x ) { DdNode * res , * var ; if ( x >= manager -> size ) return ( Cudd_Not ( DD_ONE ( manager ) ) ) ; var = manager -> vars [ x ] ; do { manager -> reordered = 0 ; res = cuddBddBooleanDiffRecur ( manager , Cudd_Regular ( f ) , var ) ; } while ( manager -> reordered == 1 ) ; return ( res ) ; }
Function
Synopsis    [Computes the boolean difference of f with respect to x.]
Function Synopsis [ Computes the boolean difference of f with respect to x . ]
/* If the variable is not currently in the manager, f cannot
    ** depend on it.
    */