addListBdd.3alc man page

addListBdd ā€” adds a BDD to a chained list of BDDs

Synopsis

#include "logmmm.h"
chain_list *addListBdd(pt,pBdd)
chain_list *pt;
pNode pBdd;

Parameters

pt

old chain_list pointer

pBdd

BDD to add

Description

addListBdd() adds pBdd to pt. This function computes an optimal reordering on pt that minimizes the number of nodes when the applyBdd() function is called.

Example

#include "mutnnn.h"		/* mbk utilities */
#include "logmmm.h"
pNode nodeA,nodeB,nodeC;
pNode res;
chain_list *pt;

initializeBdd(SMALL_BDD);
nodeA = createNodeTermBdd(3);
nodeB = createNodeTermBdd(3);
nodeC = createNodeTermBdd(4);
pt = NULL;
pt = addListBdd(pt,nodeA);
pt = addListBdd(pt,nodeB);
pt = addListBdd(pt,nodeC);
res = applyBdd(OR,pt);
displayBdd(res,1);

/* it will display 
@res    INDEX = 4   LOW = @inter   HIGH = ONE
@inter  INDEX = 3   LOW = @nodeA   HIGH = ONE
@nodeA  INDEX = 2   LOW = ZERO	   HIGH = ONE
*/
/* total number of nodes = 5 */
	
destroyBdd(1);

See Also

log(1), bdd(1), addListBdd(3), addListBdd(3), notBdd(3), constraintBdd(3), composeBdd(3), displayBdd(3), createNodeTermBdd(3).

Referenced By

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

October 1, 1997 ASIM/LIP6 BDD functions