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

# applyBinBdd(3)

applies an operator to two BDD.

## NAME

**applyBinBdd** - applies an operator to two BDD.

## SYNOPSYS

```
#include "logmmm.h"
pNode applyBinBdd(oper,pBdd1,pBdd2)
short oper;
pNode pBdd1;
pNode pBdd2;
```

## PARAMETERS

- *oper*

  operator number to apply (OR,AND,XOR,NAND,NOR,NXOR)

- *pBdd1*

  first argument

- *pBdd2*

  second argument

## DESCRIPTION

**applyBinBdd()** applies *oper* to *pBdd1* and *pBdd2*. This function provides the basic method for creating the representation of a boolean function.

## EXAMPLE

```
#include "mutnnn.h"		/* mbk utilities */
#include "logmmm.h"
pNode nodeA,nodeB;
pNode res;
initializeBdd(SMALL_BDD);
nodeA = createNodeTermBdd(3);
nodeB = createNodeTermBdd(3);
res = applyBinBdd(OR,nodeA,nodeB);
displayBdd(res,1);
/* it will display
@res    INDEX = 3   LOW = @nodeA   HIGH = ONE
@nodeA  INDEX = 2   LOW = ZERO     HIGH = ONE
*/
destroyBdd(1);
```

## SEE ALSO

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