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

  Synopsis    [Enables automatic dynamic reordering of BDDs and ADDs.]

  Description [Enables automatic dynamic reordering of BDDs and
  ADDs. Parameter method is used to determine the method used for
  reordering. If CUDD_REORDER_SAME is passed, the method is
  unchanged.]

  SideEffects [None]

  SeeAlso     [Cudd_AutodynDisable Cudd_ReorderingStatus
  Cudd_AutodynEnableZdd]

******************************************************************************/
Function
Synopsis    [Enables automatic dynamic reordering of BDDs and ADDs.]

Description [Enables automatic dynamic reordering of BDDs and
ADDs. Parameter method is used to determine the method used for
reordering. If CUDD_REORDER_SAME is passed, the method is
unchanged.]




Function Synopsis [ Enables automatic dynamic reordering of BDDs and ADDs . ] Description [ Enables automatic dynamic reordering of BDDs and ADDs . Parameter method is used to determine the method used for reordering . If CUDD_REORDER_SAME is passed the method is unchanged . ]
void
Cudd_AutodynEnable(
  DdManager * unique,
  Cudd_ReorderingType  method)
{
    unique->autoDyn = 1;
    if (method != CUDD_REORDER_SAME) {
        unique->autoMethod = method;
    }
#ifndef DD_NO_DEATH_ROW
    cuddClearDeathRow(unique);
    unique->deathRowDepth = 1;
    unique->deadMask = unique->deathRowDepth - 1;
    if ((unsigned) unique->nextDead > unique->deadMask) {
        unique->nextDead = 0;
    }
    unique->deathRow = ABC_REALLOC(DdNodePtr, unique->deathRow,
        unique->deathRowDepth);
#endif
    return;
}
void Cudd_AutodynEnable ( DdManager * unique , Cudd_ReorderingType method ) { unique -> autoDyn = 1 ; if ( method != CUDD_REORDER_SAME ) { unique -> autoMethod = method ; } #ifndef DD_NO_DEATH_ROW cuddClearDeathRow ( unique ) ; unique -> deathRowDepth = 1 ; unique -> deadMask = unique -> deathRowDepth - 1 ; if ( ( unsigned ) unique -> nextDead > unique -> deadMask ) { unique -> nextDead = 0 ; } unique -> deathRow = ABC_REALLOC ( DdNodePtr , unique -> deathRow , unique -> deathRowDepth ) ; #endif return ; }
Function
Synopsis    [Enables automatic dynamic reordering of BDDs and ADDs.]
Function Synopsis [ Enables automatic dynamic reordering of BDDs and ADDs . ]
/* If reordering is enabled, using the death row causes too many
    ** invocations. Hence, we shrink the death row to just one entry.
    */