applybddnode(3) - Linux man page
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)