1DELBDDASSOC(3) BDD FUNCTIONS DELBDDASSOC(3)
2
3
4
6 delbddassoc - deletes a variable association.
7
9 #include "bdd101.h"
10 int delbddassoc( BddSystem, BddAssoc )
11 bddsystem ∗BddSystem;
12 bddassoc ∗BddAssoc;
13
15 BddSystem The bdd system.
16
17 BddAssoc The variable association to delete.
18
20 delbddassoc deletes the variable association BddAssoc in the bdd system
21 BddSystem. If a null pointer is given, the default bdd system is used.
22 For all the bdd nodes of the variable association BddAssoc, the number
23 of external reference is decremented.
24
26 delbddassoc returns 1 if the variable association is found, 0 other‐
27 wise.
28
30 #include "bdd101.h"
31 bddsystem ∗BddSystem;
32 bddcircuit ∗BddCircuit;
33 bddnode ∗BddNode;
34 bddnode ∗BddSubst;
35 bddnode ∗BddVariable;
36 bddassoc ∗Assoc;
37 chain_list ∗Expr;
38 bddvar Variable;
39 BddSystem = createbddsystem( 100, 1000, 100, 50000 );
40 BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
41 Expr = createablbinexpr( ABL_AND,
42 createablatom( "i0" ),
43 createablatom( "i1" ) );
44 BddNode = addbddcircuitabl( BddCircuit, Expr );
45 freeablexpr( Expr );
46 Expr = createablbinexpr( ABL_OR,
47 createablatom( "i2" ),
48 createablatom( "i3" ) );
49 BddSubst = addbddcircuitabl( BddCircuit, Expr );
50 freeablexpr( Expr );
51 BddVariable = searchbddcircuitin( (bddcircuit ∗)0, "i0" );
52 Variable = getbddvarbyindex( (bddsystem ∗)0, BddVariable->INDEX );
53 Assoc = delbddassoc( (bddsystem ∗)0 );
54 addbddnodeassoc( (bddsystem ∗)0, Assoc, Variable, BddSubst );
55 BddNode = substbddnodeassoc( (bddsystem ∗)0, BddSubst, Assoc );
56 delbddassoc( (bddsystem ∗)0, Assoc );
57 Expr = convertbddcircuitabl( BddCircuit, BddNode );
58 /* displays ((i3 or i2) and i1) */
59 viewablexpr( Expr, ABL_VIEW_VHDL );
60 freeablexpr( Expr );
61 destroybddassoc( (bddsystem ∗)0 );
62 destroybddsystem( (bddsystem ∗)0 );
63 destroybddcircuit( (bddcircuit ∗)0 );
64
66 bdd(1)
67
68
69
70
71
72
73ASIM/LIP6 October 1, 1997 DELBDDASSOC(3)