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