Provided by: alliance_5.0-20120515-6_amd64
NAME
gcNodeBdd - does a garbage collection
SYNOPSYS
#include "logmmm.h" void gcNodeBdd(pt) chain_list *pt;
PARAMETER
pt chained list of BDD to rescue
DESCRIPTION
gcNodeBdd() removes all the nodes that aren't used in the BDD pointed in the chained list pt.
EXAMPLE
#include "mutnnn.h" /* mbk utilities */ #include "logmmm.h" pNode nodeA,nodeB,nodeC; pNode res1,res2; chain_list *ptCL; initializeBdd(SMALL_BDD); nodeA = createNodeTermBdd(3); nodeB = createNodeTermBdd(3); nodeC = createNodeTermBdd(4); res1 = applyBinBdd(OR,applyBinBdd(OR,nodeA,nodeB),nodeC); res2 = applyBinBdd(AND,applyBinBdd(AND,nodeA,nodeB),nodeC); printf("number of nodes in memory = %d",numberAllNodeBdd()); /* it will display 7 */ ptCL = addchain(NULL,res1); gcNodeBdd(ptCL); /* only res1 nodes are saved */ freechain(ptCL); printf("number of nodes in memory = %d",numberAllNodeBdd()); /* it will display number of nodes in memory = 5 */ destroyBdd(1);
SEE ALSO
log(1), bdd(1), markBdd(3), supportChain_listBdd(3), markAllBdd(3), numberNodeBdd(3),