1APPLYBDDNODELIST(3) BDD FUNCTIONS APPLYBDDNODELIST(3)
2
3
4
6 applybddnodelist - applies an opertor to a bdd nodes list.
7
9 #include "bdd101.h"
10 bddnode ∗applybddnodelist( BddSystem, Oper, BddList )
11 bddsystem ∗BddSystem;
12 long Oper;
13 chain_list ∗BddList;
14
16 BddSystem The bdd system.
17
18 Oper The operator.
19
20 BddList The bdd nodes list.
21
23 applybddnodelist applies the boolean operator Oper to the bdd nodes
24 list BddList in the bdd system BddSystem. If a null pointer is given,
25 the default bdd system is used.
26
28 applybddnodelist returns a pointer to the resulting bdd node with its
29 number of external reference incremented.
30
32 "bad operator xxx error !"
33 The Oper parameter must be a valid binary operator.
34 "bad list !"
35 The BddList parameter must be a valid list.
36
38 #include "bdd101.h"
39 bddsystem ∗BddSystem;
40 bddcircuit ∗BddCircuit;
41 bddnode ∗BddNode;
42 chain_list ∗BddList;
43 chain_list ∗Expr;
44 BddSystem = createbddsystem( 100, 1000, 100, 50000 );
45 BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
46 BddList = (chain_list ∗)0;
47 BddList = addbddnodelist( (bddsystem ∗)0, BddList,
48 addbddcircuitin( (bddcircuit ∗)0,
49 "i0", 0, BDD_IN_MODE_FIRST ) );
50 BddList = addbddnodelist( (bddsystem ∗)0, BddList,
51 addbddcircuitin( (bddcircuit ∗)0,
52 "i1", 0, BDD_IN_MODE_FIRST );
53 BddList = addbddnodelist( (bddsystem ∗)0, BddList,
54 addbddcircuitin( (bddcircuit ∗)0,
55 "i2", 0, BDD_IN_MODE_FIRST );
56 BddNode = applybddnodelist( (bddsystem ∗)0, ABL_AND, BddList );
57 Expr = convertbddcircuitabl( (bddcircuit ∗)0, BddNode );
58 /* displays (i0 and i1 and i2) */
59 viewablexpr( Expr, ABL_VIEW_VHDL );
60 freeablexpr( Expr );
61 destroybddsystem( (bddsystem ∗)0 );
62 destroybddcircuit( (bddcircuit ∗)0 );
63
65 bdd(1)
66
67
68
69
70
71
72ASIM/LIP6 October 1, 1997 APPLYBDDNODELIST(3)