1GETBDDNODESUPPORT(3) BDD FUNCTIONS GETBDDNODESUPPORT(3)
2
3
4
6 getbddnodesupport - gives the variable support of a bdd node.
7
9 #include "bdd101.h"
10 void ∗getbddnodesupport( BddSystem, BddNode, Mode )
11 bddsystem ∗BddSystem;
12 bddnode ∗BddNode;
13 int Mode;
14
16 BddSystem The bdd system.
17
18 BddNode The bdd node.
19
20 Mode The type of support.
21
23 getbddnodesupport gives the support of the bdd node BddNode in the bdd
24 system BddSystem. If a null pointer is given, the default bdd system
25 is used. If Mode is BDD_SUPPORT_CHAIN the support is returned using
26 chain_list else it is returned using ptype_list. The support must be
27 freed using the freechain or freeptype functions.
28
30 getablexprsupport returns a pointer to a chain_list or a ptype_list.
31
33 #include "bdd101.h"
34 bddsystem ∗BddSystem;
35 bddcircuit ∗BddCircuit;
36 bddnode ∗BddNode;
37 chain_list ∗Expr;
38 chain_list ∗Support;
39 chain_list ∗ScanSupport;
40 bddindex Index;
41 BddSystem = createbddsystem( 100, 1000, 100, 50000 );
42 BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
43 Expr = createablbinexpr( ABL_AND,
44 createablatom( "i0" ),
45 createablatom( "i1" ) );
46 BddNode = addbddcircuitabl( BddCircuit, Expr );
47 freeablexpr( Expr );
48 Support = getablbddnodesupport( (bddsystem ∗0), BddNode, BDD_SUPPORT_CHAIN );
49 for ( ScanSupport = Support;
50 ScanSupport != (chain_list ∗)0;
51 ScanSupport = ScanSupport->NEXT )
52 {
53 Index = (bddnode ∗)ScanSupport->INDEX;
54 printf( "%s ", BddCircuit->NAME_IN[ Index - BDD_INDEX_MIN ] );
55 }
56 freechain( Support );
57 destroybddsystem( (bddsystem ∗)0 );
58 destroybddcircuit( (bddcircuit ∗)0 );
59
61 bdd(1)
62
63
64
65
66
67
68ASIM/LIP6 October 1, 1997 GETBDDNODESUPPORT(3)