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

# bddToAblCct(3)

converts a BDD into an ABL within a circuit

## NAME

**bddToAblCct** - converts a BDD into an ABL within a circuit

## SYNOPSYS

```
#include "logmmm.h"
chain_list *bddToAblCct(pC,pBdd)
pCircuit pC;
pNode pBdd;
```

## PARAMETERS

- *pC*

  Circuit in which is made the conversion

- *pBdd*

  BDD to convert

## DESCRIPTION

**bddToAblCct()** converts *pBdd* into an expression. This function returns a result that depends from the ordering of the primary input. This function provides the basic method for the logical optimizer called in BOP.

## EXAMPLE

```
#include "mutnnn.h"		/* mbk utilities */
#include "logmmm.h"
chain_list *expr;
pNode res;
pCircuit pC;
initializeBdd(SMALL_BDD);
pC = initializeCct("circuit 1",10,10);
addInputCct(pC,"a");
addInputCct(pC,"b");
	/* let's suppose that res = (OR a b) */
expr = bddToAblCct(pC,applyBinBdd(OR,
                    createNodeTermBdd(searchInputCct(pC,"a"))),
                    createNodeTermBdd(searchInputCct(pC,"b")));
displayExpr(expr);
/* it will display
(OR a b)
*/
destroyCct(pC);
destroyBdd(1);
```

## SEE ALSO

[**log**(1)](/log/1.md), [**bdd**(1)](/bdd/1.md), [**abl**(1)](/abl/1.md), [**ablToBddCct**(3)](/ablToBddCct/3.md).
