Provided by: alliance_5.1.1-3_amd64 bug

NAME

       ablToBddCct - converts an ABL into a BDD within a circuit

SYNOPSYS

       #include "logmmm.h"
       pNode ablToBddCct(pC,expr)
       pCircuit pC;
       chain_list *expr;

PARAMETERS

       pC                  Circuit in which is made the conversion

       expr                expression to convert

DESCRIPTION

       ablToBddCct()  constructs the graph that is computed from expr. This function provides the
       basic method  for  constructing  easily  the  BDDs.  The  applyBdd()  function  is  called
       recursively by going through the ABL.

EXAMPLE

       #include "mutnnn.h"      /* mbk utilities */
       #include "logmmm.h"
       chain_list *expr;
       pNode res;
       pCircuit pC;

       initializeBdd(SMALL_BDD);
       pC = initializeCct("circuit 1",10,10);

       addInputCct(pC,"a");
       addInputCct(pC,"b");

            /* let's suppose that expr = (OR (AND (NOT a) b) a) */

       res = ablToBddCct(pC,expr);
       displayBdd(res,1);

       /* it will display
       @res      INDEX = 3   LOW = @nodeA   HIGH = ONE
       @nodeA    INDEX = 2   LOW = ZERO     HIGH = ONE
       */

       destroyCct(pC);
       destroyBdd(1);

SEE ALSO

       log(1), bdd(1), abl(1), bddToAblCct(3).