1APPLYBDD(3) BDD functions APPLYBDD(3)
2
3
4
6 applyBdd - applies an operator to a list of BDD.
7
9 #include "logmmm.h"
10 pNode applyBdd(oper,pt)
11 short oper;
12 chain_list *pt;
13
15 oper operator number to apply
16 (OR,AND,XOR,NAND,NOR,NXOR,NOT)
17
18 pt chain_list of BDD.
19
21 applyBdd() applies oper to a list of Bdd. This list can be created by
22 addListBdd() function. This function provides the basic method for cre‐
23 ating the representation of a function according to the operators in a
24 boolean expression.
25
27 #include "mutnnn.h" /* mbk utilities */
28 #include "logmmm.h"
29 pNode nodeA,nodeB,nodeC;
30 pNode res;
31 chain_list *pt;
32
33 initializeBdd(SMALL_BDD);
34 nodeA = createNodeTermBdd(3);
35 nodeB = createNodeTermBdd(3);
36 nodeC = createNodeTermBdd(4);
37 pt = NULL;
38 pt = addListBdd(pt,nodeA);
39 pt = addListBdd(pt,nodeB);
40 pt = addListBdd(pt,nodeC);
41 res = applyBdd(OR,pt);
42 displayBdd(res,1);
43
44 /* it will display
45 @res INDEX = 4 LOW = @inter HIGH = ONE
46 @inter INDEX = 3 LOW = @nodeA HIGH = ONE
47 @nodeA INDEX = 2 LOW = ZERO HIGH = ONE
48 */
49
50 destroyBdd(1);
51
53 "applyBdd : error - unknown operator"
54 the operator number must be in (OR,AND,XOR,NAND,NOR,NXOR,NOT)
55 "applyBdd : error - chained list is empty"
56 chained list pointer pt = NULL.
57 "applyBdd : error - bad operator"
58 The number of arguments is 1 and the operator is distinct from NOT.
59 chained list pointer pt = NULL.
60
62 log(1), bdd(1), addListBdd(3), applyBinBdd(3), notBdd(3), con‐
63 straintBdd(3), composeBdd(3), displayBdd(3), createNodeTermBdd(3).
64
65
66
67
68
69ASIM/LIP6 October 1, 1997 APPLYBDD(3)