ADDLISTBDD(3)

NAME
addListBdd - adds a BDD to a chained list of BDDs

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