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

NAME

       unsetbddrefext  - increments the internal reference, and decrements the external reference
       of a bdd node.

SYNOPSYS

       #include "bdd101.h"
       bddnode ∗unsetbddrefext( BddNode )
         bddnode ∗BddNode;

PARAMETERS

       BddNode             The bdd node.

DESCRIPTION

       unsetbddrefext increments the number of internal reference of the  bdd  node  BddNode  and
       decrements its number of external reference.

RETURN VALUE

       unsetbddrefext returns the BddNode pointer.

ERRORS

       "negative reference, index xxx error !"
              The BddNode must have a postive number of external reference.

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 );
          incbddrefext( BddNode );
          unsetbddrefext( BddNode );
          /* displays Node VAR: 0  INDEX: 2  MARK: 0  REF_EXT: 0  REF_INT: 1 */
          viewbddnode( (bddsystem ∗)0, BddNode );
          /* displays (not i0) */
          viewablexpr( Expr, ABL_VIEW_VHDL );
          freeablexpr( Expr );
          destroybddsystem( (bddsystem ∗)0 );
          destroybddcircuit( (bddcircuit ∗)0 );

SEE ALSO

       bdd(1)