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

  Synopsis    [Checks for grouping of x and y.]

  Description [Checks for grouping of x and y. Returns 1 in
  case of grouping; 0 otherwise. This function is used for lazy sifting.]

  SideEffects [None]

******************************************************************************/
Function
Synopsis    [Checks for grouping of x and y.]

Description [Checks for grouping of x and y. Returns 1 in
case of grouping; 0 otherwise. This function is used for lazy sifting.]


Function Synopsis [ Checks for grouping of x and y . ] Description [ Checks for grouping of x and y . Returns 1 in case of grouping ; 0 otherwise . This function is used for lazy sifting . ]
static int
ddVarGroupCheck(
  DdManager * table,
  int x,
  int y)
{
    int xindex = table->invperm[x];
    int yindex = table->invperm[y];
    if (Cudd_bddIsVarToBeUngrouped(table, xindex)) return(0);
    if (Cudd_bddReadPairIndex(table, xindex) == yindex) {
        if (ddIsVarHandled(table, xindex) ||
            ddIsVarHandled(table, yindex)) {
            if (Cudd_bddIsVarToBeGrouped(table, xindex) ||
                Cudd_bddIsVarToBeGrouped(table, yindex) ) {
                if (table->keys - table->isolated <= originalSize) {
                    return(1);
                }
            }
        }
    }
    return(0);
}
static int ddVarGroupCheck ( DdManager * table , int x , int y ) { int xindex = table -> invperm [ x ] ; int yindex = table -> invperm [ y ] ; if ( Cudd_bddIsVarToBeUngrouped ( table , xindex ) ) return ( 0 ) ; if ( Cudd_bddReadPairIndex ( table , xindex ) == yindex ) { if ( ddIsVarHandled ( table , xindex ) || ddIsVarHandled ( table , yindex ) ) { if ( Cudd_bddIsVarToBeGrouped ( table , xindex ) || Cudd_bddIsVarToBeGrouped ( table , yindex ) ) { if ( table -> keys - table -> isolated <= originalSize ) { return ( 1 ) ; } } } } return ( 0 ) ; }
Function
Synopsis    [Checks for grouping of x and y.]
Function Synopsis [ Checks for grouping of x and y . ]