1DELBDDNODE(3) BDD FUNCTIONS DELBDDNODE(3)
2
3
4
6 delbddnode - deletes an unused bdd node.
7
9 #include "bdd101.h"
10 void delbddnode( BddSystem, BddNode )
11 bddsystem ∗BddSystem;
12 bddnode ∗BddNode;
13
15 BddSystem The bdd system.
16
17 BddNode The bdd node.
18
20 delbddnode tries to delete the bdd node BddNode and its children, if
21 they have not external reference, in the bdd system BddSystem. If a
22 null pointer is given, the default bdd system is used. The use of this
23 function is not recommended because, it takes time. It is better to
24 call the decbddrefext function, and do a garbage collection with the
25 garbagebddsystem function.
26
28 delbddnode returns nothing.
29
31 #include "bdd101.h"
32 bddsystem ∗BddSystem;
33 bddcircuit ∗BddCircuit;
34 bddnode ∗BddNode;
35 chain_list ∗Expr;
36 BddSystem = createbddsystem( 100, 1000, 100, 50000 );
37 BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
38 BddNode = addbddcircuitin( (bddcircuit ∗)0, "i0", 0, BDD_IN_MODE_FIRST );
39 BddNode = addbddnode( (bddsystem ∗)0, BddNode->INDEX, BddNode->LOW, BddNode->HIGH );
40 Expr = convertbddcircuitabl( (bddcircuit ∗)0, BddNode );
41 delbddnode( (bddsystem ∗)0, decbddrefext( BddNode ) );
42 /* displays (not i0) */
43 viewablexpr( Expr, ABL_VIEW_VHDL );
44 freeablexpr( Expr );
45 destroybddsystem( (bddsystem ∗)0 );
46 destroybddcircuit( (bddcircuit ∗)0 );
47
49 bdd(1)
50
51
52
53
54
55
56ASIM/LIP6 October 1, 1997 DELBDDNODE(3)