DESTROYBDDASSOC(3)

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

πŸ’– DESTROYBDDASSOC πŸ’–

okay bestie, welcome to destroybddassoc(3) β€” it lives in the BDD FUNCTIONS section of the manual and it's literally the cleanup queen of variable associations. no cap. 🧹✨


🌸 ORIGIN 🌸

this software belongs to the ALLIANCE CAD SYSTEM, developed by the ASIM team at the LIP6 laboratory of UniversitΓ© Pierre and Marie CURIE, in Paris, France. πŸ‡«πŸ‡·


✨ SYNOPSIS ✨

#include "bdd101.h"
bddassoc βˆ—destroybddassoc( BddSystem )
  bddsystem  βˆ—BddSystem;

πŸŽ€ PARAMETERS πŸŽ€

  • BddSystem β€” the bdd system. that's it. that's the whole parameter. iconic minimalism. πŸ’…

πŸ¦‹ DESCRIPTION πŸ¦‹

destroybddassoc frees all the variable associations in the bdd system BddSystem. like, all of them. every last one. gone. periodt.

and if you hand it a null pointer? no stress, bestie β€” the default bdd system gets used instead. 🫢


⭐ RETURN VALUE ⭐

destroybddassoc returns nothing. she gives you absolutely nothing back and that's on purpose. it's giving "my job here is done" energy. 😌


πŸ’€ ERRORS πŸ’€

(nothing listed here, bestie β€” this section is empty, so no error drama to report) πŸ™ˆ


πŸ”₯ EXAMPLE πŸ”₯

okay so here's the whole vibe in action, fr fr:

#include "bdd101.h"
   bddsystem  βˆ—BddSystem;
   bddcircuit βˆ—BddCircuit;
   bddnode    βˆ—BddNode;
   bddnode    βˆ—BddSubst;
   bddnode    βˆ—BddVariable;
   bddassoc   βˆ—Assoc;
   chain_list βˆ—Expr;
   bddvar         Variable;
   BddSystem  = createbddsystem( 100, 1000, 100, 50000 );
   BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
   Expr = createablbinexpr( ABL_AND,
                            createablatom( "i0" ),
                            createablatom( "i1" ) );
   BddNode = addbddcircuitabl( BddCircuit, Expr );
   freeablexpr( Expr );
   Expr = createablbinexpr( ABL_OR,
                            createablatom( "i2" ),
                            createablatom( "i3" ) );
   BddSubst = addbddcircuitabl( BddCircuit, Expr );
   freeablexpr( Expr );
   BddVariable = searchbddcircuitin( (bddcircuit βˆ—)0, "i0" );
   Variable = getbddvarbyindex( (bddsystem βˆ—)0, BddVariable->INDEX );
   Assoc = addbddassoc( (bddsystem βˆ—)0 );
   addbddnodeassoc( (bddsystem βˆ—)0, Assoc, Variable, BddSubst );
   BddNode = substbddnodeassoc( (bddsystem βˆ—)0, BddSubst, Assoc );
   delbddassoc( (bddsystem βˆ—)0, Assoc );
   Expr = convertbddcircuitabl( BddCircuit, BddNode );
   /* displays ((i3 or i2) and i1) */
   viewablexpr( Expr, ABL_VIEW_VHDL );
   freeablexpr( Expr );
   destroybddassoc( (bddsystem βˆ—)0 );
   destroybddsystem( (bddsystem βˆ—)0 );
   destroybddcircuit( (bddcircuit βˆ—)0 );

and yes, the comment says it displays ((i3 or i2) and i1) β€” that's the moment. main character behavior honestly. πŸ‘‘


🌈 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. like genuinely, bestie, we're asking nicely. πŸ₯Ί send the thoughts, we're obsessed with hearing them.


okay that's the whole page!! this one came from ASIM/LIP6, dated October 1, 1997, and it's the destroybddassoc(3) of the BDD FUNCTIONS collection. stay clean, free your associations, and slay πŸ’…βœ¨πŸŽ€