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

# bdd(1)

Mutli Reduced Ordered Binary Decision Diagrams

## NAME

bdd -  Mutli Reduced Ordered Binary Decision Diagrams

## DESCRIPTION

**bdd** is a library that enables to represent a boolean expression as a Multi Reduced Ordered Binary Decision Diagrams.

- **viewbddallocinfo**

  \- displays memory informations.

- **applybddnodenot**

  \- complements a **bdd**.

- **applybddnodeterm**

  \- applies an operator on two **bdd** nodes.

- **applybddnode**

  \- applies an operator on two **bdd** nodes.

- **applybddnodeite**

  \- computes the IF-THEN-ELSE  logical operation.

- **applybddnodelist**

  \- applies an opertor to a **bdd** nodes list.

- **addbddassoc**

  \- creates a new association variables.

- **addbddnodeassoc**

  \- adds a **bdd** node in a variable association.

- **delbddassoc**

  \- deletes a variable association.

- **delbddnodeassoc**

  \- deletes a **bdd** node in a variable association.

- **destroybddassoc**

  \- frees all the variable associations.

- **viewbddassoc**

  \- displays variable associations.

- **checkbddvar**

  \- checks the coherence of a variable.

- **checkbddindex**

  \- checks the coherence of a **bdd** index.

- **checkbddoper**

  \- ckecks the coherence of an operator.

- **checkbddassoc**

  \- checks a variable association.

- **checkbddmaxnode**

  \- checks if the max node reached.

- **createbddcircuit**

  \- creates a **bdd** circuit.

- **resetbddcircuit**

  \- resets a **bdd** circuit.

- **destroybddcircuit**

  \- frees a **bdd** circuit.

- **searchbddcircuitin**

  \- searches a specified input in a circuit.

- **addbddcircuitin**

  \- adds a new input in a circuit.

- **addbddcircuitaux**

  \- adds an auxialiary variable in a circuit.

- **searchbddcircuitout**

  \- searches a specified output in a circuit.

- **addbddcircuitout**

  \- adds a new output in a circuit.

- **delbddcircuitout**

  \- deletes a specified output in a circuit.

- **addbddcircuitabl**

  \- converts an **abl** to a **bdd** node.

- **convertbddcircuitabl**

  \- converts a **bdd** node to an **abl**.

- **convertbddcircuitsumabl**

  \- converts a **bdd** node to an **abl**.

- **viewbddcircuit**

  \- displays a **bdd** circuit.

- **cofactorbddnode**

  \- computes the generalized cofactor.

- **restrictbddnode**

  \- substitutes a variable by zero or one.

- **composebddnode**

  \- substitutes a variable by a **bdd** node.

- **convertbddindexabl**

  \- converts a **bdd** index to an atomic **abl**.

- **convertbddmuxabl**

  \- converts a **bdd** node to a multiplexor.

- **convertbddnodeabl**

  \- converts a **bdd** node to an **abl**.

- **convertbddnodesumabl**

  \- converts a **bdd** node to an **abl**.

- **existbddnodeassocon**

  \-  computes an existantial quantification.

- **existbddnodeassocoff**

  \- computes an existantial quantification.

- **garbagebddsystem**

  \- forces a **bdd** garbage collection.

- **implybddnode**

  \- computes a **bdd** that implies a conjonction.

- **intersectbddnode**

  \- tests for an intersection.

- **markbddnode**

  \- marks a **bdd** node.

- **unmarkbddnode**

  \- clears a marked **bdd** node.

- **getbddnodenum**

  \- gets the number of nodes in a **bdd**.

- **getbddnodesize**

  \- gets the number of nodes in a **bdd**.

- **addbddnode**

  \- adds a new **bdd** node.

- **addbddnodelist**

  \- adds a node in a *chain\_list*.

- **delbddnode**

  \- deletes a **bdd** node.

- **delbddnodelist**

  \- deletes a list of **bdd** nodes.

- **viewbddnode**

  \- displays a **bdd** node.

- **incbddrefext**

  \- increments the number of external reference.

- **incbddrefint**

  \- increments the number of internal reference.

- **decbddrefext**

  \- decrements the number of external reference.

- **decbddrefint**

  \- decrements the number of internal reference.

- **setbddrefext**

  \- sets a node visible from outside.

- **unsetbddrefext**

  \- sets a node invisible from outside.

- **clearbddsystemrefint**

  \- clears all the internal references.

- **clearbddsystemrefext**

  \- clears all the external references.

- **clearbddsystemref**

  \- clears all the references.

- **relprodbddnodeassoc**

  \- computes a relation product.

- **reorderbddsystemsimple**

  \- reorders the **bdd** nodes.

- **reorderbddsystemwindow**

  \- reorders the **bdd** nodes.

- **reorderbddsystemtop**

  \- reorders the **bdd** nodes.

- **reorderbddsystemdynamic**

  \- sets the dynamic reorder parameters.

- **satisfybddnode**

  \- finds a satisfying path for a **bdd**.

- **simpbddnodedcon**

  \- simplifies a **bdd** with don't cares on its on-set.

- **simpbddnodedcoff**

  \- simplifies a **bdd** with don't cares on its off-set

- **substbddnodeassoc**

  \- substitutes variables with **bdd** nodes.

- **getbddnodesupport**

  \- gives the support of a **bdd** node.

- **isbddvarinsupport**

  \- checks if a variable appears in a **bdd** node.

- **createbddsystem**

  \- creates a **bdd** system.

- **resetbddsystem**

  \- resets a **bdd** system.

- **destroybddsystem**

  \- frees a **bdd** system.

- **viewbddsystem**

  \- displays a **bdd** system.

- **viewbddsysteminfo**

  \- displays statisticals informations.

- **testbddcircuit**

  \- debbugs a **bdd** circuit.

- **addbddvar**

  \- creates a new variable.

- **addbddvarlast**

  \- creates a new variable.

- **addbddvarfirst**

  \- creates a new variable.

- **addbddvarbefore**

  \- creates a new variable.

- **addbddvarafter**

  \- creates a new variable.

- **sweepbddvar**

  \- sweeps all the unused nodes for a variable.

- **swapbddvar**

  \- swaps two contigous variables.

- **getbddvarbyindex**

  \- converts **bdd** index to a variable number.

- **getbddvarindex**

  \- converts a variable number in a **bdd** index.

- **getbddvarnode**

  \- gives the **bdd** node of a variable.

- **getbddvarnodebyindex**

  \- gives the **bdd** node of a variable.

- **addbddvarauxsingle**

  \- creates an auxiliary variable.

- **addbddvarauxglobal**

  \- creates an auxiliary variable.

- libBdd101.a :

  **allocbdduserfunc**, **allocbddheath**, **allocbddhnode**, **allocbddhoper**, **allocbddhnodetable**, **allocbddhopertable**, **allocbddblock**, **allocbddnodeblock**, **allocbddvartree**, **allocbddvarchild**, **allocbddvarnode**, **allocbddindexnode**, **allocbddvar**, **allocbddindex**, **allocbddassoc**, **allocbddassocnode**, **allocbddnamein**, **allocbddindexin**, **allocbddsystem**, **allocbddcircuit**, **viewbddallocinfo**, **applybddnodenot**, **applybddnodeterm**, **applybddnode**, **applybddnodeite**, **applybddnodelist**, **addbddassoc**, **addbddnodeassoc**, **delbddassoc**, **delbddnodeassoc**, **destroybddassoc**, **viewbddassoc**, **addbddblock**, **createbddblock**, **resetbddblock**, **destroybddblock**, **viewbddblock**, **checkbddvar**, **checkbddindex**, **checkbddoper**, **checkbddassoc**, **checkbddmaxnode**, **createbddcircuit**, **resetbddcircuit**, **destroybddcircuit**, **searchbddcircuitin**, **addbddcircuitin**, **addbddcircuitaux**, **searchbddcircuitout**, **addbddcircuitout**, **delbddcircuitout**, **addbddcircuitabl**, **convertbddcircuitabl**, **convertbddcircuitsumabl**, **viewbddcircuit**, **cofactorbddnode**, **restrictbddnode**, **composebddnode**, **convertbddindexabl**, **convertbddmuxabl**, **convertbddnodeabl**, **convertbddnodesumabl**, **existbddnodeassocon**, **existbddnodeassocoff**, **freebdduserfunc**, **freebddheath**, **freebddhnode**, **freebddhoper**, **freebddhnodetable**, **freebddhopertable**, **freebddblock**, **freebddnodeblock**, **freebddvartree**, **freebddvarchild**, **freebddvarnode**, **freebddindexnode**, **freebddvar**, **freebddindex**, **freebddassoc**, **freebddassocnode**, **freebddnamein**, **freebddindexin**, **freebddsystem**, **freebddcircuit**, **garbagebddsystem**, **getbddheathvar**, **getbddheath**, **delbddheath**, **setbddhnodefunc**, **getbddhnodesize**, **getbddhnodekey**, **getbddhnodeindex**, **checkbddhnode**, **createbddhnodetable**, **destroybddhnodetable**, **resetbddhnodetable**, **resizebddhnodetable**, **stretchbddhnodetable**, **addbddhnode**, **delbddhnode**, **viewbddhnode**, **viewbddhnodetable**, **viewbddindexnode**, **viewbddvarnode**, **setbddhoperfunc**, **getbddhopersize**, **getbddhoperkey**, **createbddhopertable**, **destroybddhopertable**, **resetbddhopertable**, **addbddhoper**, **searchbddhoper**, **viewbddhoper**, **viewbddhopertable**, **implybddnode**, **intersectbddnode**, **markbddnode**, **unmarkbddnode**, **getbddnodenum**, **getbddnodesize**, **addbddnode**, **addbddnodelist**, **delbddnode**, **delbddnodelist**, **viewbddnode**, **incbddrefext**, **incbddrefint**, **decbddrefext**, **decbddrefint**, **setbddrefext**, **unsetbddrefext**, **clearbddsystemrefint**, **clearbddsystemrefext**, **clearbddsystemref**, **relprodbddnodeassoc**, **reorderbddvartreewindow2**, **reorderbddvartreewindow3**, **reorderbddsystemsimple**, **reorderbddsystemwindow**, **reorderbddsystemtop**, **reorderbddsystemdynamic**, **resizebddvarchild**, **resizebddvarnode**, **resizebddvar**, **resizebddindexnode**, **resizebddindex**, **resizebddassocnode**, **resizebddnamein**, **resizebddindexin**, **satisfybddnode**, **simpbddnodedcon**, **simpbddnodedcoff**, **substbddnodeassoc**, **getbddnodesupport**, **isbddvarinsupport**, **createbddsystem**, **resetbddsystem**, **destroybddsystem**, **viewbddsystem**, **viewbddsysteminfo**, **testbddcircuit**, **addbdduserfunc**, **delbdduserfunc**, **execbdduserfunc**, **destroybdduserfunc**, **newbddvar**, **addbddvar**, **addbddvarlast**, **addbddvarfirst**, **addbddvarbefore**, **addbddvarafter**, **sweepbddvar**, **swapbddvar**, **getbddvarbyindex**, **getbddvarindex**, **getbddvarnode**, **getbddvarnodebyindex**, **addbddvarauxsingle**, **addbddvarauxglobal**, **searchbddvartree**, **deltabddvartree**, **shiftbddvartree**, **addbddvartree**, **swapbddvartree**, **createbddvartree**, **resetbddvartree**, **destroybddvartree**, **viewbddvartree**.

## SEE ALSO

**[aut(1)](/aut/1.md),**[**abl**(1)](/abl/1.md).
