DOKK / manpages / debian 10 / alliance / upVarBdd.3.en
UPVARBDD(3) BDD functions UPVARBDD(3)

See the file buster/alliance/alc_origin.1.en.gz.

upVarBdd - brings up an index in a BDD

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

BDD in wich index is came up
index to come up
new index

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

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

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

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

See the file buster/alliance/alc_bug_report.1.en.gz.

October 1, 1997 ASIM/LIP6