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

NAME

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

SYNOPSYS

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

PARAMETERS

       BddNode             The bdd node.

DESCRIPTION

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

RETURN VALUE

       setbddrefext returns the BddNode pointer.

ERRORS

       "negative reference, index xxx error !"
              The BddNode must have a postive number of internal 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 );
          incbddrefint( BddNode );
          setbddrefext( BddNode );
          /* displays Node VAR: 0  INDEX: 2  MARK: 0  REF_EXT: 1  REF_INT: 0 */
          viewbddnode( (bddsystem ∗)0, BddNode );
          /* displays (not i0) */
          viewablexpr( Expr, ABL_VIEW_VHDL );
          freeablexpr( Expr );
          destroybddsystem( (bddsystem ∗)0 );
          destroybddcircuit( (bddcircuit ∗)0 );

SEE ALSO

       bdd(1)