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

# addListBdd(3)

adds a BDD to a chained list of BDDs

## NAME

**addListBdd** - adds a BDD to a chained list of BDDs

## SYNOPSYS

```
#include "logmmm.h"
chain_list *addListBdd(pt,pBdd)
chain_list *pt;
pNode pBdd;
```

## PARAMETERS

- *pt*

  old *chain\_list* pointer

- *pBdd*

  BDD to add

## DESCRIPTION

**addListBdd()** adds *pBdd* to *pt*. This function computes an optimal reordering on *pt* that minimizes the number of nodes when the **applyBdd()** function is called.

## EXAMPLE

```
#include "mutnnn.h"		/* mbk utilities */
#include "logmmm.h"
pNode nodeA,nodeB,nodeC;
pNode res;
chain_list *pt;
initializeBdd(SMALL_BDD);
nodeA = createNodeTermBdd(3);
nodeB = createNodeTermBdd(3);
nodeC = createNodeTermBdd(4);
pt = NULL;
pt = addListBdd(pt,nodeA);
pt = addListBdd(pt,nodeB);
pt = addListBdd(pt,nodeC);
res = applyBdd(OR,pt);
displayBdd(res,1);
/* it will display
@res    INDEX = 4   LOW = @inter   HIGH = ONE
@inter  INDEX = 3   LOW = @nodeA   HIGH = ONE
@nodeA  INDEX = 2   LOW = ZERO	   HIGH = ONE
*/
/* total number of nodes = 5 */
destroyBdd(1);
```

## SEE ALSO

[**log**(1)](/log/1.md), [**bdd**(1)](/bdd/1.md), [**addListBdd**(3)](/addListBdd/3.md), [**addListBdd**(3)](/addListBdd/3.md), [**notBdd**(3)](/notBdd/3.md), [**constraintBdd**(3)](/constraintBdd/3.md), [**composeBdd**(3)](/composeBdd/3.md), [**displayBdd**(3)](/displayBdd/3.md), [**createNodeTermBdd**(3)](/createNodeTermBdd/3.md).
