Provided by: alliance_5.0-20120515-6_amd64 bug

NAME

       delbddnode - deletes an unused bdd node.

SYNOPSYS

       #include "bdd101.h"
       void delbddnode( BddSystem, BddNode )
         bddsystem ∗BddSystem;
         bddnode   ∗BddNode;

PARAMETERS

       BddSystem           The bdd system.

       BddNode             The bdd node.

DESCRIPTION

       delbddnode  tries  to  delete  the  bdd  node  BddNode  and its children, if they have not
       external reference, in the bdd system BddSystem.  If a null pointer is given, the  default
       bdd  system  is  used. The use of this function is not recommended because, it takes time.
       It is better to call the decbddrefext function, and  do  a  garbage  collection  with  the
       garbagebddsystem function.

RETURN VALUE

       delbddnode returns nothing.

EXAMPLE

       #include "bdd101.h"
          bddsystem  ∗BddSystem;
          bddcircuit ∗BddCircuit;
          bddnode    ∗BddNode;
          chain_list ∗Expr;
          BddSystem  = createbddsystem( 100, 1000, 100, 50000 );
          BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
          BddNode = addbddcircuitin( (bddcircuit ∗)0, "i0", 0, BDD_IN_MODE_FIRST );
          BddNode = addbddnode( (bddsystem ∗)0, BddNode->INDEX, BddNode->LOW, BddNode->HIGH );
          Expr = convertbddcircuitabl( (bddcircuit ∗)0, BddNode );
          delbddnode( (bddsystem ∗)0, decbddrefext( BddNode ) );
          /* displays (not i0) */
          viewablexpr( Expr, ABL_VIEW_VHDL );
          freeablexpr( Expr );
          destroybddsystem( (bddsystem ∗)0 );
          destroybddcircuit( (bddcircuit ∗)0 );

SEE ALSO

       bdd(1)