Provided by: alliance_5.0-20120515-6_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)