Provided by: alliance_5.0-20120515-6_amd64
NAME
cofactorbddnode - computes the generalized cofactor.
SYNOPSYS
#include "bdd101.h" bddnode ∗cofactorbddnode( BddSystem, BddNode1, BddNode2 ) bddsystem ∗BddSystem; bddnode ∗BddNode1; bddnode ∗BddNode2;
PARAMETERS
BddSystem The bdd system. BddNode1 The first bdd node. BddNode2 The second bdd node.
DESCRIPTION
cofactorbddnode computes the generalized cofactor of BddNode1 by BddNode2, in the bdd system BddSystem. If a null pointer is given, the default bdd system is used.
RETURN VALUE
cofactorbddnode returns the resulting bdd node.
ERRORS
"index xxx out of range" The BddNode2 parameter must be different to the zero bdd node.
EXAMPLE
#include "bdd101.h" bddsystem ∗BddSystem; bddcircuit ∗BddCircuit; bddnode ∗BddNode1; bddnode ∗BddNode2; bddnode ∗BddNode; chain_list ∗Expr; BddSystem = createbddsystem( 100, 1000, 100, 50000 ); BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem ); Expr = createablbinexpr( ABL_OR, createablatom( "i0" ), createablatom( "i1" ) ); BddNode1 = addbddcircuitabl( BddCircuit, Expr ); freeablexpr( Expr ); Expr = createablbinexpr( ABL_AND, createablatom( "i0" ), createablatom( "i1" ) ); BddNode2 = addbddcircuitabl( BddCircuit, Expr ); freeablexpr( Expr ); BddNode = cofactorbddnode( (bddsystem ∗)0, BddNode1, BddNode2 ); Expr = convertbddcircuitabl( BddCircuit, BddNode ); /* displays '1' */ viewablexpr( Expr, ABL_VIEW_VHDL ); freeablexpr( Expr ); destroybddsystem( (bddsystem ∗)0 ); destroybddcircuit( (bddcircuit ∗)0 );
SEE ALSO
bdd(1)