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

NAME

       existbddnodeassocoff - computes an existantial quantification.

SYNOPSYS

       #include "bdd101.h"
       bddnode ∗existbddnodeassocoff( BddSystem, BddNode, BddAssoc )
         bddsystem ∗BddSystem;
         bddnode   ∗BddNode;
         bddassoc  ∗BddAssoc;

PARAMETERS

       BddSystem           The bdd system.

       BddNode             The bdd node to treat.

       BddAssoc            The variable association.

DESCRIPTION

       existbddnodeassocoff  suppress  in  the  bdd  node BddNode complemented, all the variables
       associated with something  in  the  variable  association  BddAssoc,  in  the  bdd  system
       BddSystem.  If a null pointer is given, the default bdd system is used.

RETURN VALUE

       existbddnodeassocoff returns the computed bdd node.

ERRORS

       "bad variable association xxx, error !"
              The BddAssoc parameter must a valid variable association.

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_NAND,
                                   createablatom( "i0" ),
                                   createablatom( "i1" ) );
          BddNode = 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, BddSystem->ONE );
          BddNode = existbddnodeassocoff( (bddsystem ∗)0, BddNode, Assoc );
          Expr = convertbddcircuitabl( BddCircuit, BddNode );
          /* displays (not i1) */
          viewablexpr( Expr, ABL_VIEW_VHDL );
          freeablexpr( Expr );
          destroybddassoc( (bddsystem ∗)0 );
          destroybddsystem( (bddsystem ∗)0 );
          destroybddcircuit( (bddcircuit ∗)0 );

SEE ALSO

       bdd(1)