1UNSETBDDREFEXT(3) BDD FUNCTIONS UNSETBDDREFEXT(3)
2
3
4
6 unsetbddrefext - increments the internal reference, and decrements the
7 external reference of a bdd node.
8
10 #include "bdd101.h"
11 bddnode ∗unsetbddrefext( BddNode )
12 bddnode ∗BddNode;
13
15 BddNode The bdd node.
16
18 unsetbddrefext increments the number of internal reference of the bdd
19 node BddNode and decrements its number of external reference.
20
22 unsetbddrefext returns the BddNode pointer.
23
25 "negative reference, index xxx error !"
26 The BddNode must have a positive number of external 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 incbddrefext( BddNode );
40 unsetbddrefext( BddNode );
41 /* displays Node VAR: 0 INDEX: 2 MARK: 0 REF_EXT: 0 REF_INT: 1 */
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 UNSETBDDREFEXT(3)