applybddnodeterm3
Applies an operator on two bdd nodes.
Synopsys
#include "bdd101.h" bddnode ∗applybddnodeterm( BddSystem, Oper, Index, BddNode ) bddsystem ∗BddSystem; long Oper; bddindex Index; bddnode ∗BddNode;
Parameters
- BddSystem
-
The
bddsystem.
- Oper
-
The binary operator.
- Index
-
The index of the terminal
bddnode.
- BddNode
-
The
bddnode.
Overview
applybddnodeterm computes the boolean function BddNode Oper and the terminal node corresponding to Index in the bdd system BddSystem. The Index parameter can take only the two following values BDD_INDEX_ONE and BDD_INDEX_ZERO. If a null pointer is given, the default bdd system is used.
Return value
applybddnodeterm 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.
Examples
#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 );
BddNode = applybddnodeterm( (bddsystem ∗)0,
ABL_XOR, BDD_INDEX_ONE,
searchbddcircuitin( (bddcircuit ∗)0, "i0" ) );
Expr = convertbddcircuitabl( (bddcircuit ∗)0, BddNode );
/* displays (not i0) */
viewablexpr( Expr, ABL_VIEW_VHDL );
freeablexpr( Expr );
destroybddsystem( (bddsystem ∗)0 );
destroybddcircuit( (bddcircuit ∗)0 );
History
- Debian 10 (Buster) to Debian 9 (Stretch): the text shown here
- Debian 8 (Jessie) to Debian 7 (Wheezy)