1ADDLISTBDD(3) BDD functions ADDLISTBDD(3)
2
3
4
6 addListBdd - adds a BDD to a chained list of BDDs
7
9 #include "logmmm.h"
10 chain_list *addListBdd(pt,pBdd)
11 chain_list *pt;
12 pNode pBdd;
13
15 pt old chain_list pointer
16
17 pBdd BDD to add
18
20 addListBdd() adds pBdd to pt. This function computes an optimal
21 reordering on pt that minimizes the number of nodes when the applyBdd()
22 function is called.
23
25 #include "mutnnn.h" /* mbk utilities */
26 #include "logmmm.h"
27 pNode nodeA,nodeB,nodeC;
28 pNode res;
29 chain_list *pt;
30
31 initializeBdd(SMALL_BDD);
32 nodeA = createNodeTermBdd(3);
33 nodeB = createNodeTermBdd(3);
34 nodeC = createNodeTermBdd(4);
35 pt = NULL;
36 pt = addListBdd(pt,nodeA);
37 pt = addListBdd(pt,nodeB);
38 pt = addListBdd(pt,nodeC);
39 res = applyBdd(OR,pt);
40 displayBdd(res,1);
41
42 /* it will display
43 @res INDEX = 4 LOW = @inter HIGH = ONE
44 @inter INDEX = 3 LOW = @nodeA HIGH = ONE
45 @nodeA INDEX = 2 LOW = ZERO HIGH = ONE
46 */
47 /* total number of nodes = 5 */
48
49 destroyBdd(1);
50
52 log(1), bdd(1), addListBdd(3), addListBdd(3), notBdd(3), con‐
53 straintBdd(3), composeBdd(3), displayBdd(3), createNodeTermBdd(3).
54
55
56
57
58
59ASIM/LIP6 October 1, 1997 ADDLISTBDD(3)