Provided by: alliance_5.0-20120515-6_amd64 bug

NAME

       bddToAblCct - converts a BDD into an ABL within a circuit

SYNOPSYS

       #include "logmmm.h"
       chain_list *bddToAblCct(pC,pBdd)
       pCircuit pC;
       pNode pBdd;

PARAMETERS

       pC                  Circuit in which is made the conversion

       pBdd                BDD to convert

DESCRIPTION

       bddToAblCct()  converts  pBdd  into  an  expression.  This  function returns a result that
       depends from the ordering of the primary input. This function provides  the  basic  method
       for the logical optimizer called in BOP.

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 res = (OR a b) */

       expr = bddToAblCct(pC,applyBinBdd(OR,
                           createNodeTermBdd(searchInputCct(pC,"a"))),
                           createNodeTermBdd(searchInputCct(pC,"b")));
       displayExpr(expr);

       /* it will display
       (OR a b)
       */

       destroyCct(pC);
       destroyBdd(1);

SEE ALSO

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