DOKK / manpages / debian 10 / alliance / gcNodeBdd.3.en
GCNODEBDD(3) BDD functions GCNODEBDD(3)

See the file buster/alliance/alc_origin.1.en.gz.

gcNodeBdd - does a garbage collection

#include "logmmm.h"
void gcNodeBdd(pt)
chain_list *pt;

chained list of BDD to rescue

gcNodeBdd() removes all the nodes that aren't used in the BDD pointed in the chained list pt.

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

log(1), bdd(1), markBdd(3), supportChain_listBdd(3), markAllBdd(3), numberNodeBdd(3),

See the file buster/alliance/alc_bug_report.1.en.gz.

October 1, 1997 ASIM/LIP6