ADDLISTBDD(3)

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

πŸ’– ADDLISTBDD(3) πŸ’– β€” BDD functions πŸ¦‹

okay bestie, sit down, hydrate, because we're talking about addListBdd β€” a lil function from the BDD functions manual, and she is lowkey a whole icon. ✨


🌍 ORIGIN 🌍

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. πŸ‡«πŸ‡·βœ¨ (yes, Paris. the main character city. of course.)


✨ NAME ✨

addListBdd β€” adds a BDD to a chained list of BDDs πŸ’…

it's giving "one more node in the group chat," fr fr.


πŸŽ€ SYNOPSIS πŸŽ€

#include "logmmm.h"
chain_list *addListBdd(pt,pBdd)
chain_list *pt;
pNode pBdd;

🫢 PARAMETERS 🫢

  • pt β€” the old chain_list pointer 🧚 (the list you already had, before you showed up with a new BDD)
  • pBdd β€” the BDD to add 🌸

πŸ’… DESCRIPTION πŸ’…

so addListBdd() adds pBdd to pt. periodt. πŸŽ€

and the way that it also computes an optimal reordering on pt that minimizes the number of nodes when the applyBdd() function is called?? no cap, she's doing the most so future-you doesn't have to. πŸ‘‘


🌈 EXAMPLE 🌈

#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);
displayBdd(res,1);

/* it will display
@res    INDEX = 4   LOW = @inter   HIGH = ONE
@inter  INDEX = 3   LOW = @nodeA   HIGH = ONE
@nodeA  INDEX = 2   LOW = ZERO        HIGH = ONE
*/
/* total number of nodes = 5 */

destroyBdd(1);

like, look at her go. πŸ¦‹ starting from pt = NULL, stacking up nodeA, nodeB, nodeC, then applyBdd(OR,pt) hits and she ate. πŸ”₯

and yes bestie, the comments are load-bearing β€” the display output and that total number of nodes = 5 are literally part of the page. don't skip them. πŸ™ˆ

πŸ’œ SEE ALSO πŸ’œ

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

not me noticing addListBdd(3) is listed twice 😭 iconic behavior honestly, keeping it exactly as written. she contains multitudes. πŸ‘‘

πŸ› BUG REPORT πŸ›

This tool is under development at the ASIM department of the LIP6 laboratory. πŸ› οΈ

We need your feedback to improve documentation and tools. 🫢 so like… tell them things. they're asking nicely. fr fr.


okay that's the whole page, you're so welcome. πŸ’– this one came from ASIM/LIP6 and it's dated October 1, 1997 β€” yes, an elder. a vintage queen. 🌸 and remember: addListBdd(3) is the move, always. bye bestie! πŸŽ€βœ¨πŸ¦‹