Provided by: alliance_5.1.1-1.1_amd64 bug

NAME

       addbddnode - adds a new bdd node in the bdd system.

SYNOPSYS

       #include "bdd101.h"
       bddnode ∗addbddnode( BddSystem, Index, High, Low  )
         bddsystem ∗BddSystem;
         bddindex   Index;
         bddnode   ∗High;
         bddnode   ∗Low;

PARAMETERS

       BddSystem           The bdd system.

       Index               The bdd index.

       High                The bdd high pointer.

       Low                 The bdd low pointer.

DESCRIPTION

       addbddnode  adds a new node with the index Index, High as HIGH pointer, and Low as LOW pointer in the bdd
       system BddSystem. If the bdd node exist already addbddnode return its pointer.   If  a  null  pointer  is
       given, the default bdd system is used.

RETURN VALUE

       addbddnode returns a pointer to the resulting bdd node with its number of external reference incremented.

ERRORS

       "index xxx out of range"
              The Index parameter must be a valid index.

EXAMPLE

       #include "bdd101.h"
          bddsystem  ∗BddSystem;
          bddcircuit ∗BddCircuit;
          bddnode    ∗BddNode;
          chain_list ∗Expr;
          BddSystem  = createbddsystem( 100, 1000, 100, 50000 );
          BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
          BddNode = addbddcircuitin( (bddcircuit ∗)0, "i0", 0, BDD_IN_MODE_FIRST );
          BddNode = addbddnode( (bddsystem ∗)0, BddNode->INDEX, BddNode->LOW, BddNode->HIGH );
          Expr = convertbddcircuitabl( (bddcircuit ∗)0, BddNode );
          /* displays (not i0) */
          viewablexpr( Expr, ABL_VIEW_VHDL );
          freeablexpr( Expr );
          destroybddsystem( (bddsystem ∗)0 );
          destroybddcircuit( (bddcircuit ∗)0 );

SEE ALSO

       bdd(1)