1SETBDDREFEXT(3) BDD FUNCTIONS SETBDDREFEXT(3)
2
3
4
6 setbddrefext - increments the external reference, and decrements the
7 internal reference of a bdd node.
8
10 #include "bdd101.h"
11 bddnode ∗setbddrefext( BddNode )
12 bddnode ∗BddNode;
13
15 BddNode The bdd node.
16
18 setbddrefext increments the number of external reference of the bdd
19 node BddNode and decrements its number of internal reference.
20
22 setbddrefext returns the BddNode pointer.
23
25 "negative reference, index xxx error !"
26 The BddNode must have a positive number of internal reference.
27
29 #include "bdd101.h"
30 bddsystem ∗BddSystem;
31 bddcircuit ∗BddCircuit;
32 bddnode ∗BddNode;
33 chain_list ∗Expr;
34 BddSystem = createbddsystem( 100, 1000, 100, 50000 );
35 BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
36 BddNode = addbddcircuitin( (bddcircuit ∗)0, "i0", 0, BDD_IN_MODE_FIRST );
37 BddNode = addbddnode( (bddsystem ∗)0, BddNode->INDEX, BddNode->LOW, BddNode->HIGH );
38 Expr = convertbddcircuitabl( (bddcircuit ∗)0, BddNode );
39 incbddrefint( BddNode );
40 setbddrefext( BddNode );
41 /* displays Node VAR: 0 INDEX: 2 MARK: 0 REF_EXT: 1 REF_INT: 0 */
42 viewbddnode( (bddsystem ∗)0, BddNode );
43 /* displays (not i0) */
44 viewablexpr( Expr, ABL_VIEW_VHDL );
45 freeablexpr( Expr );
46 destroybddsystem( (bddsystem ∗)0 );
47 destroybddcircuit( (bddcircuit ∗)0 );
48
50 bdd(1)
51
52
53
54
55
56
57ASIM/LIP6 October 1, 1997 SETBDDREFEXT(3)