Provided by: alliance_5.0-20120515-6_amd64 bug

NAME

       delbddnodeassoc - deletes a bdd node in a variable association.

SYNOPSYS

       #include "bdd101.h"
       int delbddnodeassoc( BddSystem, BddAssoc, Variable )
         bddsystem  ∗BddSystem;
         bddassoc   ∗BddAssoc;
         bddvar      Variable;

PARAMETERS

       BddSystem           The bdd system.

       BddAssoc            The variable association.

       Variable            The variable number.

DESCRIPTION

       delbddnodeassoc  deletes  the  bdd node associated to the variable number Variable, in the
       variable association BddAssoc, in the bdd system BddSystem.  If a null pointer  is  given,
       the  default  bdd  system is used.  The number of external reference of the associated bdd
       node is incremented.

RETURN VALUE

       delbddnodeassoc returns 1 if the variable is found, 0 otherwise.

ERRORS

       "variable xxx out of range, error !"
              The Variable parameter must be less or equal to the BddSystem->NUMBER_VAR field.

EXAMPLE

       #include "bdd101.h"
          bddsystem  ∗BddSystem;
          bddcircuit ∗BddCircuit;
          bddnode    ∗BddNode;
          bddnode    ∗BddSubst;
          bddnode    ∗BddVariable;
          bddassoc   ∗Assoc;
          chain_list ∗Expr;
          bddvar         Variable;
          BddSystem  = createbddsystem( 100, 1000, 100, 50000 );
          BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
          Expr = createablbinexpr( ABL_AND,
                                   createablatom( "i0" ),
                                   createablatom( "i1" ) );
          BddNode = addbddcircuitabl( BddCircuit, Expr );
          freeablexpr( Expr );
          Expr = createablbinexpr( ABL_OR,
                                   createablatom( "i2" ),
                                   createablatom( "i3" ) );
          BddSubst = addbddcircuitabl( BddCircuit, Expr );
          freeablexpr( Expr );
          BddVariable = searchbddcircuitin( (bddcircuit ∗)0, "i0" );
          Variable = getbddvarbyindex( (bddsystem ∗)0, BddVariable->INDEX );
          Assoc = addbddassoc( (bddsystem ∗)0 );
          addbddnodeassoc( (bddsystem ∗)0, Assoc, Variable, BddSubst );
          BddNode = substbddnodeassoc( (bddsystem ∗)0, BddSubst, Assoc );
          delbddnodeassoc( (bddsystem ∗)0, Assoc, Variable );
          Expr = convertbddcircuitabl( BddCircuit, BddNode );
          /* displays ((i3 or i2) and i1) */
          viewablexpr( Expr, ABL_VIEW_VHDL );
          freeablexpr( Expr );
          destroybddassoc( (bddsystem ∗)0 );
          destroybddsystem( (bddsystem ∗)0 );
          destroybddcircuit( (bddcircuit ∗)0 );

SEE ALSO

       bdd(1)