composeBdd(3)
substitutes an index by a BDD in another BDD
SYNOPSYS
#include "logmmm.h"
pNode composeBdd(pBdd1,pBdd2,index)
pNode pBdd1;
pNode pBdd2;
short index;
PARAMETERS
- pBdd1
-
BDD in wich index is substituted
- pBdd2
-
BDD that replaces index
- index
-
index to substitute
DESCRIPTION
composeBdd() constructs the graph for the function obtained by composing pBdd1 and pBdd2.
This function can be used when an auxiliary variable has been mistaken for a primary input.
EXAMPLE
#include "mutnnn.h" /* mbk utilities */
#include "logmmm.h"
pNode nodeA,nodeB;
pNode res;
initializeBdd(SMALL_BDD);
nodeA = createNodeTermBdd(3);
nodeB = createNodeTermBdd(3);
res = applyBinBdd(OR,nodeA,nodeB); /* res = (OR a b) */
res = composeBdd(res,notBdd(nodeB),2); /* composition : a = (NOT B) */
displayBdd(res,1);
/* it will display
@res ONE
*/
destroyBdd(1);