composeBdd.3alc man page

composeBdd ā€” substitutes an index by a BDD in another BDD

Synopsis

#include "logmmm.h"
pNode composeBdd(pBdd1,pBdd2,index)
pNode pBdd1;
pNode pBdd2;
short index;

Parameters

pBdd1

BDD in which 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).

Referenced By

addListBdd.3alc(3), applyBdd.3alc(3), applyBinBdd.3alc(3), constraintBdd.3alc(3), displayBdd.3alc(3), notBdd.3alc(3), numberNodeAllBdd.3alc(3), numberNodeBdd.3alc(3), simplifDcOneBdd.3alc(3), supportChain_listBdd.3alc(3), upVarBdd.3alc(3).

October 1, 1997 ASIM/LIP6 BDD functions