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