1UPVARBDD(3) BDD functions UPVARBDD(3)
2
3
4
6 upVarBdd - brings up an index in a BDD
7
9 #include "logmmm.h"
10 pNode upVarBdd(pBdd,oldIndex,newIndex)
11 pNode pBdd;
12 short oldIndex,newIndex;
13
15 pBdd BDD in which index is came up
16
17 oldIndex index to come up
18
19 newIndex new index
20
22 upVarBdd() constructs a graph obtained by bringing up oldIndex to
23 newIndex. This function is called by the BDDs reordering function.
24
26 #include "mutnnn.h" /* mbk utilities */
27 #include "logmmm.h"
28 pNode nodeA,nodeB;
29 pNode res;
30
31 initializeBdd(SMALL_BDD);
32 nodeA = createNodeTermBdd(3);
33 nodeB = createNodeTermBdd(3);
34 res = applyBinBdd(OR,nodeA,nodeB); /* res = (OR a b)
35 res = upVarBdd(res,2,4);
36 displayBdd(res,1);
37
38 /* it will display
39 @res INDEX 4 LOW = @nodeB HIGH = ONE
40 @nodeB INDEX 3 LOW = ZERO HIGH = ONE
41 */
42
43 destroyBdd(1);
44
46 "upVarBdd : error - newIndex <= oldIndex"
47 The new index must be higher than the old index.
48
50 log(1), bdd(1), applyBdd(3), notBdd(3), constraintBdd(3), com‐
51 poseBdd(3), applyBinBdd(3), addListBdd(3), displayBdd(3), createNode‐
52 TermBdd(3).
53
54
55
56
57
58ASIM/LIP6 October 1, 1997 UPVARBDD(3)