Provided by: alliance_5.0-20120515-6_amd64 bug

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