COMPOSEBDD(3)

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).