applyBdd.3alc - Man Page
applies an operator to a list of BDD.
Synopsis
#include "logmmm.h" pNode applyBdd(oper,pt) short oper; chain_list *pt;
Parameters
- oper
operator number to apply (OR,AND,XOR,NAND,NOR,NXOR,NOT)
- pt
chain_list of BDD.
Description
applyBdd() applies oper to a list of Bdd. This list can be created by addListBdd() function. This function provides the basic method for creating the representation of a function according to the operators in a boolean expression.
Example
#include "mutnnn.h" /* mbk utilities */ #include "logmmm.h" pNode nodeA,nodeB,nodeC; pNode res; chain_list *pt; initializeBdd(SMALL_BDD); nodeA = createNodeTermBdd(3); nodeB = createNodeTermBdd(3); nodeC = createNodeTermBdd(4); pt = NULL; pt = addListBdd(pt,nodeA); pt = addListBdd(pt,nodeB); pt = addListBdd(pt,nodeC); res = applyBdd(OR,pt); displayBdd(res,1); /* it will display @res INDEX = 4 LOW = @inter HIGH = ONE @inter INDEX = 3 LOW = @nodeA HIGH = ONE @nodeA INDEX = 2 LOW = ZERO HIGH = ONE */ destroyBdd(1);
Errors
"applyBdd : error - unknown operator"
the operator number must be in (OR,AND,XOR,NAND,NOR,NXOR,NOT)
"applyBdd : error - chained list is empty"
chained list pointer pt = NULL.
"applyBdd : error - bad operator"
The number of arguments is 1 and the operator is distinct from NOT.
chained list pointer pt = NULL.
See Also
log(1), bdd(1), addListBdd(3), applyBinBdd(3), notBdd(3), constraintBdd(3), composeBdd(3), displayBdd(3), createNodeTermBdd(3).
Referenced By
applyBinBdd.3alc(3), composeBdd.3alc(3), constraintBdd.3alc(3), createNodeTermBdd.3alc(3), displayBdd.3alc(3), notBdd.3alc(3), simplifDcZeroBdd.3alc(3), upVarBdd.3alc(3).