UPVARBDD(3)

πŸ“¦ version 5.1.1-unstable-2025-02, in nixos 26.05, nixpkgs unstable

okay so bestie, this is upVarBdd(3) from the BDD functions page β€” yes, the one about bringing up an index in a BDD. πŸ’…

πŸ¦‹ ORIGIN πŸ¦‹

okay so this software belongs to the ALLIANCE CAD SYSTEM, developed by the ASIM team at the LIP6 laboratory of UniversitΓ© Pierre et Marie CURIE, in Paris, France. πŸ’–

✨ 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 β€” the BDD where the index is getting brought up. πŸŽ€
  • oldIndex β€” the index to come up.
  • newIndex β€” the new index.

🌸 DESCRIPTION 🌸

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

πŸ”₯ EXAMPLE πŸ”₯

here's the whole cute little run, bestie:

#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 πŸ’€

if you hit this:

"upVarBdd : error - newIndex <= oldIndex"

then the rule is simple: The new index must be higher than the old index. periodt. πŸ’€

πŸ‘‘ SEE ALSO πŸ‘‘

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

🫢 BUG REPORT 🫢

This tool is under development at the ASIM department of the LIP6 laboratory. We need your feedback to improve documentation and tools. 🫢


this cute lil page comes from ASIM/LIP6, dated October 1, 1997, and it's UPVARBDD(3) β€” mwah, bye bestie! πŸ’‹πŸŽ€

πŸ“¦ where this page comes from