applybdd(3) - Linux man page
Name
applyBdd - applies an operator to a list of BDD.
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); - #include "logmmm.h"
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).