setbddrefext.3alc - Man Page
increments the external reference, and decrements the internal reference of a bdd node.
Synopsis
#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 positive 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
Info
October 1, 1997 ASIM/LIP6 BDD FUNCTIONS