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

  Synopsis    [Scans the DD and clears the LSB of the next pointers.]

  Description [Scans the DD and clears the LSB of the next pointers.
  The LSB of the next pointers are used as markers to tell whether a
  node was reached. Once the roots are counted, these flags are
  reset.]

  SideEffects [None]

  SeeAlso     [ddCountRoots]

******************************************************************************/
Function
Synopsis    [Scans the DD and clears the LSB of the next pointers.]

Description [Scans the DD and clears the LSB of the next pointers.
The LSB of the next pointers are used as markers to tell whether a
node was reached. Once the roots are counted, these flags are
reset.]




Function Synopsis [ Scans the DD and clears the LSB of the next pointers . ] Description [ Scans the DD and clears the LSB of the next pointers . The LSB of the next pointers are used as markers to tell whether a node was reached . Once the roots are counted these flags are reset . ]
static void
ddClearGlobal(
  DdManager * table,
  int  lower,
  int  maxlevel)
{
    int i,j;
    DdNode *f;
    DdNodePtr *nodelist;
    DdNode *sentinel = &(table->sentinel);
    int slots;
    for (i = lower; i <= maxlevel; i++) {
        nodelist = table->subtables[i].nodelist;
        slots = table->subtables[i].slots;
        for (j = 0; j < slots; j++) {
            f = nodelist[j];
            while (f != sentinel) {
                f->next = Cudd_Regular(f->next);
                f = f->next;
            }
        }
    }
}
static void ddClearGlobal ( DdManager * table , int lower , int maxlevel ) { int i , j ; DdNode * f ; DdNodePtr * nodelist ; DdNode * sentinel = & ( table -> sentinel ) ; int slots ; for ( i = lower ; i <= maxlevel ; i ++ ) { nodelist = table -> subtables [ i ] . nodelist ; slots = table -> subtables [ i ] . slots ; for ( j = 0 ; j < slots ; j ++ ) { f = nodelist [ j ] ; while ( f != sentinel ) { f -> next = Cudd_Regular ( f -> next ) ; f = f -> next ; } } } }
Function
Synopsis    [Scans the DD and clears the LSB of the next pointers.]
Function Synopsis [ Scans the DD and clears the LSB of the next pointers . ]