upVarBdd(2)

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

NAME
upVarBdd - brings up an index in a BDD

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

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