constraintBdd(3) restricts a BDD to another BDD

SYNOPSYS

#include "logmmm.h"
pNode constraintBdd(pBdd1,pBdd2)
pNode pBdd1;
pNode pBdd2;

PARAMETERS

pBdd1
BDD to restrict
pBdd2
constraint BDD

DESCRIPTION

constraintBdd() constructs the graph for the function obtained by restricting pBdd1 on pBdd2. This function can be used for example when a primary input is stuck at 0 or 1.

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 = constraintBdd(res,nodeA);         /* a = 1 */
displayBdd(res,1);
/* it will display 
@res   ONE 
*/
        
destroyBdd(1);