Provided by: alliance_5.0-20120515-6_amd64
NAME
applybddnode - applies an operator on two bdd nodes.
SYNOPSYS
#include "bdd101.h" bddnode ∗applybddnode( BddSystem, Oper, BddNode1, BddNode2 ) bddsystem ∗BddSystem; long Oper; bddnode ∗BddNode1; bddnode ∗BddNode2;
PARAMETERS
BddSystem The bdd system. Oper The binary operator. BddNode1 The first bdd node. BddNode2 The second bdd node.
DESCRIPTION
applybddnode computes the boolean function BddNode1 Oper BddNode2 in the bdd system BddSystem. If a null pointer is given, the default bdd system is used.
RETURN VALUE
applybddnode returns a pointer to the resulting bdd node with its number of external reference incremented.
ERRORS
"bad operator xxx error !" The Oper parameter must be a valid binary operator.
EXAMPLE
#include "bdd101.h" bddsystem ∗BddSystem; bddcircuit ∗BddCircuit; bddnode ∗BddNode; chain_list ∗Expr; BddSystem = createbddsystem( 100, 1000, 100, 50000 ); BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem ); addbddcircuitin( (bddcircuit ∗)0, "i0", 0, BDD_IN_MODE_FIRST ); addbddcircuitin( (bddcircuit ∗)0, "i1", 0, BDD_IN_MODE_FIRST ); BddNode = applybddnode( (bddsystem ∗)0, ABL_AND, searchbddcircuitin( (bddcircuit ∗)0, "i0" ), searchbddcircuitin( (bddcircuit ∗)0, "i1" ) ); Expr = convertbddcircuitabl( (bddcircuit ∗)0, BddNode ); /* displays (i0 and i1) */ viewablexpr( Expr, ABL_VIEW_VHDL ); freeablexpr( Expr ); destroybddsystem( (bddsystem ∗)0 ); destroybddcircuit( (bddcircuit ∗)0 );
SEE ALSO
bdd(1)