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

  Synopsis    [Creates a group encompassing variables from x to y in the
  DD table.]

  Description [Creates a group encompassing variables from x to y in the
  DD table. In the current implementation it must be y == x+1.
  Returns 1 in case of success; 0 otherwise.]

  SideEffects [None]

******************************************************************************/
Function
Synopsis    [Creates a group encompassing variables from x to y in the
DD table.]

Description [Creates a group encompassing variables from x to y in the
DD table. In the current implementation it must be y == x+1.
Returns 1 in case of success; 0 otherwise.]


Function Synopsis [ Creates a group encompassing variables from x to y in the DD table . ] Description [ Creates a group encompassing variables from x to y in the DD table . In the current implementation it must be y == x + 1 . Returns 1 in case of success ; 0 otherwise . ]
static void
ddCreateGroup(
  DdManager * table,
  int  x,
  int  y)
{
    int  gybot;
#ifdef DD_DEBUG
    assert(y == x+1);
#endif
    gybot = y;
    while ((unsigned) gybot < table->subtables[gybot].next)
        gybot = table->subtables[gybot].next;
    table->subtables[x].next = y;
    table->subtables[gybot].next = x;
    return;
}
static void ddCreateGroup ( DdManager * table , int x , int y ) { int gybot ; #ifdef DD_DEBUG assert ( y == x + 1 ) ; #endif gybot = y ; while ( ( unsigned ) gybot < table -> subtables [ gybot ] . next ) gybot = table -> subtables [ gybot ] . next ; table -> subtables [ x ] . next = y ; table -> subtables [ gybot ] . next = x ; return ; }
Function
Synopsis    [Creates a group encompassing variables from x to y in the
DD table.]
Function Synopsis [ Creates a group encompassing variables from x to y in the DD table . ]
/* Find bottom of second group. */ /* Link groups. */