COMPOSEBDD(3)

πŸ“¦ version 5.1.1, in fedora 43, fedora 44

πŸ’– ORIGIN πŸ’–

okay so bestie, before we get into it, let's give credit where credit is due, because 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 🌸

composeBdd β€” substitutes an index by a BDD in another BDD. it's giving "swap out the placeholder, bestie" energy πŸ’…


✨ SYNOPSIS ✨

#include "logmmm.h"
pNode composeBdd(pBdd1,pBdd2,index)
pNode pBdd1;
pNode pBdd2;
short index;

πŸŽ€ PARAMETERS πŸŽ€

  • pBdd1 β€” the BDD where the substitution happens, i.e. the one in which index gets substituted. it's the main character of this operation 🫢
  • pBdd2 β€” the BDD that replaces index. the glow-up replacement ✨
  • index β€” the index to substitute. yes girl, this is the one getting swapped out πŸ™ˆ

πŸ¦‹ DESCRIPTION πŸ¦‹

composeBdd() constructs the graph for the function you get by composing pBdd1 and pBdd2. literally building the graph, no cap.

and like, when would you even need this? bestie, it's for when an auxiliary variable has been mistaken for a primary input. we've all been there πŸ’€ this function is the fix.


🌈 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 = composeBdd(res,notBdd(nodeB),2);  /* composition : a = (NOT B) */
displayBdd(res,1);

/* it will display
@res   ONE
*/

destroyBdd(1);

and that's it, that's the whole vibe. it will display @res ONE and you're done, periodt. πŸ‘‘


πŸ”₯ SEE ALSO πŸ”₯

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

go read those too, iykyk πŸ“šπŸ’œ


πŸ’€ BUG REPORT πŸ’€

ngl, this tool is under development at the ASIM department of the LIP6 laboratory. so yeah, it's a work in progress, be nice πŸ₯Ί

we need your feedback to improve documentation and tools. fr fr, send the feedback, it's the whole point 🫢


that's the tea, bestie πŸ’– this was COMPOSEBDD(3) from the ASIM/LIP6 era, dated October 1, 1997 β€” yes, iconic vintage, we love a classic βœ¨πŸŽ€πŸ¦‹