GARBAGEBDDSYSTEM(3)

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

✨ GARBAGEBDDSYSTEM ✨

okay bestie, welcome to the garbagebddsystem(3) page β€” yes it's a section 3 BDD function, yes it lives in the BDD FUNCTIONS crew, and yes it's about to be your new fave lil janitor πŸ’…


🌸 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. πŸ‡«πŸ‡·βœ¨


πŸŽ€ SYNOPSIS πŸŽ€

#include "bdd101.h"
void garbagebddsystem( BddSystem )
  bddsystem *BddSystem;

πŸ¦‹ PARAMETERS πŸ¦‹

  • BddSystem β€” the bdd system, bestie. that's it, that's the whole parameter. πŸ‘‘

πŸ’– DESCRIPTION πŸ’–

so here's the tea: garbagebddsystem frees all the unused bdd nodes in the system BddSystem. it's giving spring cleaning, it's giving "we're letting go of what no longer serves us." ✨

if you hand it a null pointer</>, it just uses the default bdd system instead β€” no stress, no drama, she knows what to do. πŸ™ˆ

and what counts as "unused"?? a bdd node is unused if its number of reference is null. literally zero refs = zero vibes = bye bye. πŸ’€


⭐ RETURN VALUE ⭐

garbagebddsystem returns nothing. not a value, not a status, nothing. she does the work and she leaves. main character energy, no receipts. 🫢


🌈 EXAMPLE 🌈

#include "bdd101.h"
   bddsystem  *BddSystem;
   bddcircuit *BddCircuit;
   bddnode    *BddNode;
   chain_list *Expr;
   BddSystem  = createbddsystem( 100, 1000, 100, 50000 );
   BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
   addbddcircuitin( (bddcircuit *)0, "i0", 0, BDD_IN_MODE_FIRST );
   addbddcircuitin( (bddcircuit *)0, "i1", 0, BDD_IN_MODE_FIRST );
   BddNode = applybddnode( (bddsystem *)0,
                           ABL_AND,
                           searchbddcircuitin( (bddcircuit *)0, "i0" ),
                           searchbddcircuitin( (bddcircuit *)0, "i1" ) );
   decbddrefext( BddNode );
   garbagebddsystem( (bddsystem *)0 );
   destroybddsystem( (bddsystem *)0 );
   destroybddcircuit( (bddcircuit *)0 );

see how she drops the ref with decbddrefext( BddNode ) and then calls garbagebddsystem( (bddsystem *)0 )? that's the whole point, that node is now unused and she's coming to collect. 🧹✨


πŸ‘‘ SEE ALSO πŸ‘‘


πŸ’œ BUG REPORT πŸ’œ

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

We need your feedback to improve documentation and tools. fr fr, tell them what's broken β€” they're asking nicely and they mean it. πŸ™


ASIM/LIP6 Β· October 1, 1997 β€” yeah she's an icon from the 90s and she's still serving. mwah, stan forever. πŸ’–πŸŽ€πŸ¦‹βœ¨