applyBdd(2)

ORIGIN
Cao-vlsi libraries, log package, libbddmmm.a

NAME
applyBdd - 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(2);
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(2), applyBinBdd(2), notBdd(2), constraintBdd(2), composeBdd(2), displayBdd(2), createNodeTermBdd(2).

SUPPORT STATUS
if bugs arise, please e-mail to cao-vlsi@masi.ibp.fr