1EXISTBDDNODEASSOCOFF(3) BDD FUNCTIONS EXISTBDDNODEASSOCOFF(3)
2
3
4
6 existbddnodeassocoff - computes an existential quantification.
7
9 #include "bdd101.h"
10 bddnode ∗existbddnodeassocoff( BddSystem, BddNode, BddAssoc )
11 bddsystem ∗BddSystem;
12 bddnode ∗BddNode;
13 bddassoc ∗BddAssoc;
14
16 BddSystem The bdd system.
17
18 BddNode The bdd node to treat.
19
20 BddAssoc The variable association.
21
23 existbddnodeassocoff suppress in the bdd node BddNode complemented, all
24 the variables associated with something in the variable association
25 BddAssoc, in the bdd system BddSystem. If a null pointer is given, the
26 default bdd system is used.
27
29 existbddnodeassocoff returns the computed bdd node.
30
32 "bad variable association xxx, error !"
33 The BddAssoc parameter must a valid variable association.
34
36 #include "bdd101.h"
37 bddsystem ∗BddSystem;
38 bddcircuit ∗BddCircuit;
39 bddnode ∗BddNode;
40 bddnode ∗BddSubst;
41 bddnode ∗BddVariable;
42 bddassoc ∗Assoc;
43 chain_list ∗Expr;
44 bddvar Variable;
45 BddSystem = createbddsystem( 100, 1000, 100, 50000 );
46 BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
47 Expr = createablbinexpr( ABL_NAND,
48 createablatom( "i0" ),
49 createablatom( "i1" ) );
50 BddNode = addbddcircuitabl( BddCircuit, Expr );
51 freeablexpr( Expr );
52 BddVariable = searchbddcircuitin( (bddcircuit ∗)0, "i0" );
53 Variable = getbddvarbyindex( (bddsystem ∗)0, BddVariable->INDEX );
54 Assoc = addbddassoc( (bddsystem ∗)0 );
55 addbddnodeassoc( (bddsystem ∗)0, Assoc, Variable, BddSystem->ONE );
56 BddNode = existbddnodeassocoff( (bddsystem ∗)0, BddNode, Assoc );
57 Expr = convertbddcircuitabl( BddCircuit, BddNode );
58 /* displays (not 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 EXISTBDDNODEASSOCOFF(3)