applyBdd

APPLYBDD(3)                      BDD functions                     APPLYBDD(3)



ORIGIN
       This software belongs to the  ALLIANCE CAD SYSTEM developed by the ASIM
       team at LIP6 laboratory of Université Pierre et Marie CURIE, in Paris,
       France.

       Web : http://asim.lip6.fr/recherche/alliance/
       E-mail : alliance-users@asim.lip6.fr


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);

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).



BUG REPORT
       This tool is under development at the ASIM department of the LIP6
       laboratory.
       We need your feedback to improve documentation and tools.






ASIM/LIP6                       October 1, 1997                    APPLYBDD(3)