Provided by: alliance_5.0-20120515-6_amd64 bug

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