1COMPOSEBDD(3) BDD functions COMPOSEBDD(3)
2
3
4
6 composeBdd - substitutes an index by a BDD in another BDD
7
9 #include "logmmm.h"
10 pNode composeBdd(pBdd1,pBdd2,index)
11 pNode pBdd1;
12 pNode pBdd2;
13 short index;
14
16 pBdd1 BDD in which index is substituted
17
18 pBdd2 BDD that replaces index
19
20 index index to substitute
21
23 composeBdd() constructs the graph for the function obtained by compos‐
24 ing pBdd1 and pBdd2. This function can be used when an auxiliary vari‐
25 able has been mistaken for a primary input.
26
28 #include "mutnnn.h" /* mbk utilities */
29 #include "logmmm.h"
30 pNode nodeA,nodeB;
31 pNode res;
32
33 initializeBdd(SMALL_BDD);
34 nodeA = createNodeTermBdd(3);
35 nodeB = createNodeTermBdd(3);
36 res = applyBinBdd(OR,nodeA,nodeB); /* res = (OR a b) */
37 res = composeBdd(res,notBdd(nodeB),2); /* composition : a = (NOT B) */
38 displayBdd(res,1);
39
40 /* it will display
41 @res ONE
42 */
43
44 destroyBdd(1);
45
47 log(1), bdd(1), applyBdd(3), notBdd(3), constraintBdd(3), apply‐
48 BinBdd(3), addListBdd(3), displayBdd(3), createNodeTermBdd(3).
49
50
51
52
53
54ASIM/LIP6 October 1, 1997 COMPOSEBDD(3)