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

  Synopsis    [Performs safe minimization of a BDD.]

  Description [Performs safe minimization of a BDD. Given the BDD
  <code>f</code> of a function to be minimized and a BDD
  <code>c</code> representing the care set, Cudd_bddLICompaction
  produces the BDD of a function that agrees with <code>f</code>
  wherever <code>c</code> is 1.  Safe minimization means that the size
  of the result is guaranteed not to exceed the size of
  <code>f</code>. This function is based on the DAC97 paper by Hong et
  al..  Returns a pointer to the result if successful; NULL
  otherwise.]

  SideEffects [None]

  SeeAlso     [Cudd_bddRestrict]

******************************************************************************/
Function
Synopsis    [Performs safe minimization of a BDD.]

Description [Performs safe minimization of a BDD. Given the BDD
f of a function to be minimized and a BDD
c representing the care set, Cudd_bddLICompaction
produces the BDD of a function that agrees with f
wherever c is 1.  Safe minimization means that the size
of the result is guaranteed not to exceed the size of
f. This function is based on the DAC97 paper by Hong et
al..  Returns a pointer to the result if successful; NULL
otherwise.]




Function Synopsis [ Performs safe minimization of a BDD . ] Description [ Performs safe minimization of a BDD . Given the BDD f of a function to be minimized and a BDD c representing the care set Cudd_bddLICompaction produces the BDD of a function that agrees with f wherever c is 1 . Safe minimization means that the size of the result is guaranteed not to exceed the size of f . This function is based on the DAC97 paper by Hong et al .. Returns a pointer to the result if successful ; NULL otherwise . ]
DdNode *
Cudd_bddLICompaction(
  DdManager * dd ,
  DdNode * f ,
  DdNode * c )
{
    DdNode *res;
    do {
        dd->reordered = 0;
        res = cuddBddLICompaction(dd,f,c);
    } while (dd->reordered == 1);
    return(res);
}
DdNode * Cudd_bddLICompaction ( DdManager * dd , DdNode * f , DdNode * c ) { DdNode * res ; do { dd -> reordered = 0 ; res = cuddBddLICompaction ( dd , f , c ) ; } while ( dd -> reordered == 1 ) ; return ( res ) ; }
Function
Synopsis    [Performs safe minimization of a BDD.]
Function Synopsis [ Performs safe minimization of a BDD . ]
/* manager */ /* function to be minimized */ /* constraint (care set) */