delbddassoc3
Deletes a variable association.
Synopsys
#include "bdd101.h" int delbddassoc( BddSystem, BddAssoc ) bddsystem ∗BddSystem; bddassoc ∗BddAssoc;
Parameters
BddSystem
|
The |
|---|---|
BddAssoc
|
The variable association to delete. |
Overview
delbddassoc deletes the variable association BddAssoc in the bdd system BddSystem. If a null pointer is given, the default bdd system is used. For all the bdd nodes of the variable association BddAssoc, the number of external reference is decremented.
Return value
delbddassoc returns 1 if the variable association is found, 0 otherwise.
Examples
#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 = delbddassoc( (bddsystem ∗)0 );
addbddnodeassoc( (bddsystem ∗)0, Assoc, Variable, BddSubst );
BddNode = substbddnodeassoc( (bddsystem ∗)0, BddSubst, Assoc );
delbddassoc( (bddsystem ∗)0, Assoc );
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 );
Releases
4 releases since Debian 7 (Wheezy); the text changed 1 time.