simplifDcOneBdd(3) simplifies a BDD with don't cares on its on-set part

SYNOPSYS

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

PARAMETERS

pBdd1
BDD to simplify
pBdd2
"don't care" function

DESCRIPTION

simplifDcOneBdd() simplifies pBdd1 with pBdd2. pBdd2 must be included imperatively in the on-set part of pBdd1. This function returns a BDD that depends to the order of the BDD.

EXAMPLE

#include "mutnnn.h"             /* mbk utilities */
#include "logmmm.h"
pNode nodeA,nodeB;
pNode res,res1,res2;
initializeBdd(SMALL_BDD);
nodeA = createNodeTermBdd(3);
nodeB = createNodeTermBdd(3);
res1 = applyBinBdd(XOR,nodeA,nodeB);            /* res1 = (XOR a b) */
res2 = applyBinBdd(AND,notBdd(nodeA),nodeB);    /* res2 = (AND (not a) b) */
res = simplifDcOneBdd(res1,res2);       /* res1 and res2 = res2 */
/* res = (AND a (not b)) */
        
destroyBdd(1);