gcnodebdd(3) - Linux man page

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

Referenced By

destroybdd(3), resetbdd(3)