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

NAME

       upVarBdd - brings up an index in a BDD

SYNOPSYS

       #include "logmmm.h"
       pNode upVarBdd(pBdd,oldIndex,newIndex)
       pNode pBdd;
       short oldIndex,newIndex;

PARAMETERS

       pBdd                BDD in wich index is came up

       oldIndex            index to come up

       newIndex            new index

DESCRIPTION

       upVarBdd()  constructs a graph obtained by bringing up oldIndex to newIndex. This function
       is called by the BDDs reordering function.

EXAMPLE

       #include "mutnnn.h"      /* mbk utilities */
       #include "logmmm.h"
       pNode nodeA,nodeB;
       pNode res;

       initializeBdd(SMALL_BDD);
       nodeA = createNodeTermBdd(3);
       nodeB = createNodeTermBdd(3);
       res = applyBinBdd(OR,nodeA,nodeB); /* res = (OR a b)
       res = upVarBdd(res,2,4);
       displayBdd(res,1);

       /* it will display
       @res     INDEX 4    LOW = @nodeB     HIGH = ONE
       @nodeB   INDEX 3    LOW = ZERO       HIGH = ONE
       */

       destroyBdd(1);

ERROR

       "upVarBdd : error - newIndex <= oldIndex"
       The new index must be higher than the old index.

SEE ALSO

       log(1), bdd(1), applyBdd(3), notBdd(3), constraintBdd(3),  composeBdd(3),  applyBinBdd(3),
       addListBdd(3), displayBdd(3), createNodeTermBdd(3).