SUPPORTCHAIN_LISTBDD(3)

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

πŸ’– SUPPORTCHAIN_LISTBDD πŸ’– (that's a section 3 manual page, bestie)

okay so before we even get into it β€” this little cutie lives in the BDD functions corner of the man pages, and it's part of something way bigger. let me set the scene first.


🌍 ORIGIN 🌍

This software belongs to the ALLIANCE CAD SYSTEM developed by the ASIM team at LIP6 laboratory of Université Pierre et Marie CURIE, in Paris, France. ✨ (yes, the Paris. iconic behavior.)


πŸŽ€ NAME πŸŽ€

supportChain_listBdd β€” returns a chained list of nodes that are used in a given BDD. fr fr that's the whole job. she's a list-maker. πŸ’…


✨ SYNOPSIS ✨

#include "logmmm.h"
chain_list *supportChain_listBdd(pBdd)
pNode pBdd;

πŸ¦‹ PARAMETER πŸ¦‹

  • pBdd β€” a BDD. that's it, that's the vibe. she takes one BDD and she's happy. 🌸

πŸ’œ DESCRIPTION πŸ’œ

supportChain_listBdd() creates a chained list in which all the nodes of pBdd are represented. like, every single one. no node left behind, periodt. πŸ‘‘


🌈 EXAMPLE 🌈

okay bestie here's the actual code, copying it exactly because I do NOT play with syntax:

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

initializeBdd(SMALL_BDD);
nodeA = createNodeTermBdd(3);
nodeB = createNodeTermBdd(3);
nodeC = createNodeTermBdd(4);
pt = NULL;
pt = addListBdd(pt,nodeA);
pt = addListBdd(pt,nodeB);
pt = addListBdd(pt,nodeC);
res = applyBdd(OR,pt);
pt = supportChain_listBdd(res);

while (pt)
   {
   printf("--- ");
   displayBdd((pNode) pt->DATA,0);    /* displays the node */
   pt = pt->NEXT;
   }
/* it will display

--- @nodeA   index = 2  LOW = ZERO    HIGH = ONE
--- @inter   index = 3  LOW = @nodeA  HIGH = ONE
--- @res     index = 4  LOW = @inter  HIGH = ONE
*/

destroyBdd(1);

so you build your nodes, you addListBdd them onto a list, you applyBdd(OR,pt) that thing, then supportChain_listBdd(res) hands you back the chain and you walk it with pt = pt->NEXT printing each pt->DATA. and the output? literally the output above, exactly as written. no cap. πŸ”₯


πŸ‘€ SEE ALSO πŸ‘€

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

go read those too, they're all part of the same friend group. 🫢


πŸ’€ BUG REPORT πŸ’€

This tool is under development at the ASIM department of the LIP6 laboratory.

We need your feedback to improve documentation and tools.

not me asking you to actually send feedback... please do, they're literally asking, and the docs will get better because of you. main character move. πŸ’–

and that's the whole page, babe. πŸ’… this one came from ASIM/LIP6, dated October 1, 1997 β€” a vintage queen, honestly. take care of her and she'll hand you a perfectly chained list of BDD nodes every single time. πŸŽ€πŸ¦‹πŸ’–