---
name: "gcNodeBdd"
section: "3"
platform: "linux"
package: "alliance"
version: "5.1.1-3"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/gcNodeBdd"
---

# gcNodeBdd(3)

does a garbage collection

## 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)](/log/1.md), [**bdd**(1)](/bdd/1.md), [**markBdd**(3)](/markBdd/3.md), [**supportChain\_listBdd**(3)](/supportChain_listBdd/3.md), [**markAllBdd**(3)](/markAllBdd/3.md), [**numberNodeBdd**(3)](/numberNodeBdd/3.md),
