supportChain_listBdd(3) returns a chained list of nodes that are used in a given BDD.

SYNOPSYS

#include "logmmm.h"
chain_list *supportChain_listBdd(pBdd)
pNode pBdd;

PARAMETER

pBdd
BDD

DESCRIPTION

supportChain_listBdd() creates a chained list in wich all the nodes of pBdd are represented.

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);
pt = supportChain_listBdd(res);
while (pt)
   {
   printf("--- ");
   displayBdd((pNode) pt->DATA,0);      /* displays the node */
   pt = pt->NEXT;
   }
/* it will display 
--- @nodeA   index = 2  LOW = ZERO    HIGH = ONE
--- @inter   index = 3  LOW = @nodeA  HIGH = ONE
--- @res     index = 4  LOW = @inter  HIGH = ONE
*/
        
destroyBdd(1);