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

# convertbddnodesumabl(3)

converts a bdd node to an abl expression.

## NAME

convertbddnodesumabl - converts a **bdd** node to an **abl** expression.

## SYNOPSYS

```
#include "bdd101.h"
chain_list *convertbddnodesumabl( BddSystem, NameArray, IndexArray, BddNode )
  bddsystem ∗BddSystem;
  char     ∗∗NameArray;
  bddindex  ∗IndexArray;
  bddnode   ∗BddNode;
```

## PARAMETERS

- *BddSystem*

  The **bdd** system.

- *NameArray*

  The array of names.

- *IndexArray*

  The array of indexes.

- *BddNode*

  The **bdd** node to convert.

## DESCRIPTION

**convertbddnodesumabl** converts the **bdd** node to a non optimal **abl** expression in the **bdd** system *BddSystem*. If a null pointer is given, the default **bdd** system is used. The *NameArray*, and *IndexArray* parameters are used to translate the variable nodes into atomic expressions. The array *NameArray* is list of names. The array *IndexArray* does the correspondence between a **bdd** node  index and a slot in the *NameArray*. If the *IndexArray* parameter is a null pointer, then the name of the **bdd** index BDD\_INDEX\_MIN is assumed to be the first slot of the *NameArray*, and so on.\

## RETURN VALUE

**convertbddnodesumabl** returns a pointer to the **abl** expression translated.

## EXAMPLE

```
#include "bdd101.h"
   bddsystem  ∗BddSystem;
   bddnode    ∗BddNode;
   chain_list ∗Expr;
   char       ∗NameArray[ 1 ];
   BddSystem = createbddsystem( 100, 1000, 100, 50000 );
   BddNode   = addbddvarlast( BddSystem );
   NameArray[ 0 ] = namealloc( "i0" );
   Expr = convertbddnodesumabl( BddSystem, NameArray, (bddindex ∗)0,  BddNode );
   /* displays i0 */
   viewablexpr( Expr, ABL_VIEW_VHDL );
   freeablexpr( Expr );
   destroybddsystem( (bddsystem ∗)0 );
```

## SEE ALSO

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