existbddnodeassocon.3alc man page

existbddnodeassocon — computes an existential quantification.

Synopsis

#include "bdd101.h"
bddnode ∗existbddnodeassocon( 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

existbddnodeassocon suppress in BddNode, 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

existbddnodeassocon 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_AND,
                            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 = existbddnodeassocon( (bddsystem ∗)0, BddNode, Assoc );
   Expr = convertbddcircuitabl( BddCircuit, BddNode );
   /* displays i1 */
   viewablexpr( Expr, ABL_VIEW_VHDL );
   freeablexpr( Expr );
   destroybddassoc( (bddsystem ∗)0 );
   destroybddsystem( (bddsystem ∗)0 );
   destroybddcircuit( (bddcircuit ∗)0 );

See Also

bdd(1)

Info

October 1, 1997 ASIM/LIP6 BDD FUNCTIONS