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

# createbddcircuit(3)

creates a bdd circuit.

## NAME

createbddcircuit - creates a **bdd** circuit.

## SYNOPSYS

```
#include "bdd101.h"
  bddcircuit ∗createbddcircuit( Name, NumberIn, NumberOut, BddSystem )
  char      ∗Name;
  long       NumberIn;
  long       NumberOut;
  bddsystem ∗BddSystem;
```

## PARAMETERS

- *Name*

  Name of the **bdd** circuit.

- *NumberIn*

  Number of inputs.

- *NumberOut*

  Number of outputs.

- *BddSystem*

  The **bdd** system to work on.

## DESCRIPTION

**createbddcircuit** creates a **bdd** circuit with the name *Name*, with *NumberIn* inputs, and *NumberOut* outputs. This **bdd** circuit will use the **bdd** system *BddSystem*. If a null pointer is given, the default **bdd** system is used.\

## RETURN VALUE

**createbddcircuit** returns a pointer to the **bdd** circuit created.

## EXAMPLE

```
#include "bdd101.h"
   bddsystem  ∗BddSystem;
   bddcircuit ∗BddCircuit;
   BddSystem  = createbddsystem( 100, 1000, 100, 50000 );
   BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
   ...
   destroybddsystem( (bddsystem ∗)0 );
   destroybddcircuit( (bddcircuit ∗)0 );
```

## SEE ALSO

[**bdd**(1)](/bdd/1.md), **[resetbddcircuit(3)](/resetbddcircuit/3.md),** **[destroybddcircuit(3)](/destroybddcircuit/3.md).**
