bionic (3) delbddnodeassoc.3.gz

Provided by: alliance_5.1.1-1.1build1_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)