SYNOPSYS
#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.