FreeBSD Manual Pages
RESTRICTBDDNODE(3) BDD FUNCTIONS RESTRICTBDDNODE(3) NAME restrictbddnode - substitutes a variable by a zero or one, in a bdd. SYNOPSIS #include "bdd101.h" bddnode *restrictbddnode( BddSystem, BddNode, Variable, BddSubst ) bddsystem *BddSystem; bddnode *BddNode; bddvar Variable; bddnode *BddSubst; PARAMETERS BddSystem The bdd system. BddNode The bdd node. Variable The variable to find. BddSubst The bdd to substitute with. DESCRIPTION restrictbddnode substitutes all the occurency of the variable Variable in the bdd node BddNode by the bdd node BddSubst, in the bdd system BddSystem. If a null pointer is given, the default bdd system is used. The BddSubst must be a the node BddSystem->ONE or BddSystem->ZERO. RETURN VALUE restrictbddnode returns the resulting bdd node. ERRORS "variable xxx out of range, error !" The Variable parameter must be less or equal to the BddSys- tem->NUMBER_VAR field. "index xxx out of range, error !" The BddSubst parameter must have its index less than BDD_IN- DEX_MIN. EXAMPLE #include "bdd101.h" bddsystem *BddSystem; bddcircuit *BddCircuit; bddnode *BddVariable; bddnode *BddNode; bddnode *BddSubst; chain_list *Expr; bddvar Variable; BddSystem = createbddsystem( 100, 1000, 100, 50000 ); BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem ); Expr = createablbinexpr( ABL_OR, createablatom( "i0" ), createablatom( "i1" ) ); BddNode = addbddcircuitabl( BddCircuit, Expr ); freeablexpr( Expr ); BddSubst = BddSystem->ONE; BddVariable = searchbddcircuitin( (bddcircuit *)0, "i0" ); Variable = getbddvarbyindex( (bddsystem *)0, BddVariable->INDEX ); BddNode = restrictbddnode( (bddsystem *)0, BddNode, Variable, BddSubst ); Expr = convertbddcircuitabl( BddCircuit, BddNode ); /* displays '1' */ viewablexpr( Expr, ABL_VIEW_VHDL ); freeablexpr( Expr ); destroybddsystem( (bddsystem *)0 ); destroybddcircuit( (bddcircuit *)0 ); SEE ALSO bdd(1) ASIM/LIP6 October 1, 1997 RESTRICTBDDNODE(3)
NAME | SYNOPSIS | PARAMETERS | DESCRIPTION | RETURN VALUE | ERRORS | EXAMPLE | SEE ALSO
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=restrictbddnode&sektion=3&manpath=FreeBSD+Ports+15.0>
