GARBAGEBDDSYSTEM(3)

πŸ“¦ version 5.1.1-unstable-2025-02, in nixos 26.05, nixpkgs unstable

🌸 GARBAGEBDDSYSTEM(3) β€” bdd functions, aka the cleanup crew πŸ’…

okay so bestie, you found the page for garbagebddsystem β€” it's a section 3 manual (that's "library function" territory, iykyk) and it lives in the BDD FUNCTIONS family. Let's get into it ✨


πŸŽ€ ORIGIN

Real talk, 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. Paris!! main character city fr πŸ‡«πŸ‡·


✨ SYNOPSIS

#include "bdd101.h"
void garbagebddsystem( BddSystem )
  bddsystem βˆ—BddSystem;

πŸ¦‹ PARAMETERS

  • BddSystem β€” the bdd system. that's it, that's the whole parameter. one (1) thing. 🫢

πŸ’– DESCRIPTION

So here's the vibe: garbagebddsystem frees all the unused bdd nodes in the system BddSystem. genuine spring cleaning energy 🧹✨

If a null pointer is given, the default bdd system is used β€” no need to stress about passing the right one, it'll just pick the default for you πŸ’…

And what counts as "unused"? A bdd node is unused if its number of reference is null. that's the whole test, no cap.


πŸ‘‘ RETURN VALUE

garbagebddsystem returns nothing. literally nothing. void. it does the thing and dips πŸ™ˆ


πŸ“ EXAMPLE

here's a whole lil program showing it off β€” copying it exactly because we don't do typos in this house:

#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 );

like, build a system, build a circuit called "hello_world", add two inputs "i0" and "i1", AND them together, drop the external ref with decbddrefext, then sweep up with garbagebddsystem, then destroy everything. clean exit, iconic behavior 🌈


πŸ’œ 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, they're asking β€” send the feedback bestie, it's giving helpful 🫢


ngl this one's short and sweet β€” one function, one job, zero drama. take the free win πŸ’…

signed, sealed, delivered by ASIM/LIP6, dated October 1, 1997 β€” yeah she's a vintage icon πŸ‘‘βœ¨

πŸ“¦ where this page comes from