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

# constraintBdd(3)

restricts a BDD to another BDD

## NAME

**constraintBdd** - restricts a BDD to another BDD

## SYNOPSYS

```
#include "logmmm.h"
pNode constraintBdd(pBdd1,pBdd2)
pNode pBdd1;
pNode pBdd2;
```

## PARAMETERS

- *pBdd1*

  BDD to restrict

- *pBdd2*

  constraint BDD

## DESCRIPTION

**constraintBdd()** constructs the graph for the function obtained by restricting *pBdd1* on *pBdd2*. This function can be used for example when a primary input is stuck at 0 or 1.

## 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);	/* res = (OR a b)
res = constraintBdd(res,nodeA);		/* a = 1 */
displayBdd(res,1);
/* it will display
@res   ONE
*/
destroyBdd(1);
```

## SEE ALSO

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