NAME
composeBdd - 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);
SEE ALSO
log(1), bdd(1), applyBdd(3), notBdd(3), constraintBdd(3), applyBinBdd(3), addListBdd(3), displayBdd(3), createNodeTermBdd(3).