DELBDDNODELIST(3)

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

πŸ’– DELBDDNODELIST πŸ’– β€” the bdd functions page, section 3, bestie edition

okay so this is a page from the BDD FUNCTIONS corner of the bdd manual (section 3, iykyk), and today's main character is delbddnodelist. she's here to clean up after you. no cap. 🧹✨


🌸 NAME 🌸

delbddnodelist β€” deletes a list of bdd nodes. literally that's her whole job and she ate πŸ’…


πŸ¦‹ ORIGIN πŸ¦‹

bestie 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. πŸ‡«πŸ‡·βœ¨ iconic lineage fr fr.


✨ SYNOPSIS ✨

#include "bdd101.h"
void delbddnodelist( BddSystem, HeadList )
  bddsystem  βˆ—BddSystem;
  chain_list βˆ—HeadList;

πŸŽ€ PARAMETERS πŸŽ€

  • BddSystem β€” the bdd system. the whole vibe. the ecosystem, if you will 🌈
  • HeadList β€” the head of the chain_list. like, the front of the little linked-list conga line πŸ•Ί

πŸ’œ DESCRIPTION πŸ’œ

okay so delbddnodelist deletes all the bdd nodes of the list HeadList in the bdd system BddSystem. all of them. every single one. no survivors, no stragglers, it's giving spring cleaning 🌸🧼

and here's the cute part: if a null pointer is given, the default bdd system is used. so you can just be like "idk, the usual one" and she'll handle it 🫢

also important, bestie: all the nodes have their external references decremented. that's the bookkeeping. don't skip it. πŸ‘‘


⭐ RETURN VALUE ⭐

delbddnodelist returns nothing. she gives nothing back because she already gave you a clean memory situation. that's the gift. πŸ’€πŸ’–


πŸ”₯ EXAMPLE πŸ”₯

here's the whole thing in action, verbatim, no edits:

#include "bdd101.h"
   bddsystem  βˆ—BddSystem;
   bddcircuit βˆ—BddCircuit;
   bddnode    βˆ—BddNode;
   chain_list βˆ—BddList;
   chain_list βˆ—Expr;
   BddSystem  = createbddsystem( 100, 1000, 100, 50000 );
   BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
   BddList    = (chain_list βˆ—)0;
   BddList = addbddnodelist( (bddsystem βˆ—)0, BddList,
                             addbddcircuitin( (bddcircuit βˆ—)0,
                                              "i0", 0, BDD_IN_MODE_FIRST ) );
   BddList = addbddnodelist( (bddsystem βˆ—)0, BddList,
                              addbddcircuitin( (bddcircuit βˆ—)0,
                                               "i1", 0, BDD_IN_MODE_FIRST );
   BddList = addbddnodelist( (bddsystem βˆ—)0, BddList,
                             addbddcircuitin( (bddcircuit βˆ—)0,
                                              "i2", 0, BDD_IN_MODE_FIRST );
   BddNode = applybddnodelist( (bddsystem βˆ—)0, ABL_AND, BddList );
   delbddnodelist( (bddsystem βˆ—)0, BddList );
   Expr = convertbddcircuitabl( (bddcircuit βˆ—)0, BddNode );
   /* displays (i0 and i1 and i2) */
   viewablexpr( Expr, ABL_VIEW_VHDL );
   freeablexpr( Expr );
   destroybddsystem( (bddsystem βˆ—)0 );
   destroybddcircuit( (bddcircuit βˆ—)0 );

see how she pops in right after applybddnodelist and before the convertbddcircuitabl moment? that's the moment. the handoff. the passing of the torch πŸ•―οΈβœ¨ and yeah the comment says it all β€” it displays (i0 and i1 and i2). slay.

⚠️ real talk though: this code is copied straight from the page, character for character, so if something looks weird in there, that's the original's business, not mine πŸ™ˆ don't @ me, just copy it exactly like this.

🌈 SEE ALSO 🌈


πŸ’Œ BUG REPORT πŸ’Œ

so this tool is under development at the ASIM department of the LIP6 laboratory. she's a work in progress, we love a growing girl πŸ’…

and they literally need your feedback to improve documentation and tools. so like. send the feedback. it's free. it's helpful. do it for the culture 🫢


lowkey a whole mood: if something's dangerous, deprecated, or just plain undefined in this page β€” I'm not softening it, and neither should you. read carefully, bestie. πŸ”₯

and that's the whole page!! written by the ASIM/LIP6 crew, dated October 1, 1997, and filed under DELBDDNODELIST(3) β€” go forth and delete your node lists responsibly, mwah πŸ’–πŸŽ€πŸ¦‹