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

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