decbddrefint(3) decrements the internal reference of a bdd node.

SYNOPSYS

#include "bdd101.h"
bddnode *decbddrefint( BddNode )
  bddnode *BddNode;

PARAMETERS

BddNode
The bdd node.

DESCRIPTION

decbddrefint decrements the number of internal reference of the bdd node BddNode.

RETURN VALUE

decbddrefint 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 );
   decbddrefint( 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 );