SIMPLE SOLUTIONS

ADDBDDNODEASSOC(3) - Linux man page online | Library functions

Adds a bdd node in a variable association.

Chapter
October 1, 1997
ADDBDDNODEASSOC(3) BDD FUNCTIONS ADDBDDNODEASSOC(3)

NAME

addbddnodeassoc - adds a bdd node in a variable association.

SYNOPSYS

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

PARAMETERS

BddSystem The bdd system. BddAssoc The variable association. Variable The variable number. BddNode The bdd node to add.

DESCRIPTION

addbddnodeassoc adds the bdd node BddNode, 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 BddNode is incremented.

RETURN VALUE

addbddnodeassoc returns a pointer to the variable association.

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 ); 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)
ASIM/LIP6 October 1, 1997 ADDBDDNODEASSOC(3)
This manual Reference Other manuals
addbddnodeassoc(3) referred by
refer to bdd(1)
Download raw manual
Main page BDD FUNCTIONS (+101) ASIM/LIP6 (+480) № 3 (+68044)
Go top