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

  Synopsis    [Finds the essential variables of a DD.]

  Description [Returns the cube of the essential variables. A positive
  literal means that the variable must be set to 1 for the function to be
  1. A negative literal means that the variable must be set to 0 for the
  function to be 1. Returns a pointer to the cube BDD if successful;
  NULL otherwise.]

  SideEffects [None]

  SeeAlso     [Cudd_bddIsVarEssential]

******************************************************************************/
Function
Synopsis    [Finds the essential variables of a DD.]

Description [Returns the cube of the essential variables. A positive
literal means that the variable must be set to 1 for the function to be
1. A negative literal means that the variable must be set to 0 for the
function to be 1. Returns a pointer to the cube BDD if successful;
NULL otherwise.]




Function Synopsis [ Finds the essential variables of a DD . ] Description [ Returns the cube of the essential variables . A positive literal means that the variable must be set to 1 for the function to be 1 . A negative literal means that the variable must be set to 0 for the function to be 1 . Returns a pointer to the cube BDD if successful ; NULL otherwise . ]
DdNode *
Cudd_FindEssential(
  DdManager * dd,
  DdNode * f)
{
    DdNode *res;
    do {
        dd->reordered = 0;
        res = ddFindEssentialRecur(dd,f);
    } while (dd->reordered == 1);
    return(res);
}
DdNode * Cudd_FindEssential ( DdManager * dd , DdNode * f ) { DdNode * res ; do { dd -> reordered = 0 ; res = ddFindEssentialRecur ( dd , f ) ; } while ( dd -> reordered == 1 ) ; return ( res ) ; }
Function
Synopsis    [Finds the essential variables of a DD.]
Function Synopsis [ Finds the essential variables of a DD . ]