DELBDDASSOC(3)
π NAME π
Bestie, meet delbddassoc(3) β it's the BDD FUNCTIONS girly whose whole job is deleting a variable association. That's it. That's the gig. And she ate. π
πΈ ORIGIN πΈ
Okay so 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!! Iconic behavior. π₯
- Web:
http://asim.lip6.fr/recherche/alliance/ - E-mail:
alliance-users@asim.lip6.fr
β¨ SYNOPSIS β¨
#include "bdd101.h"
int delbddassoc( BddSystem, BddAssoc )
bddsystem βBddSystem;
bddassoc βBddAssoc;
π PARAMETERS π
BddSystemβ the bdd system, your main character. πBddAssocβ the variable association you're about to delete. Say bye bestie π«Ά
π¦ DESCRIPTION π¦
So delbddassoc deletes the variable association BddAssoc inside the bdd system BddSystem. No cap.
If you hand it a null pointer, it just uses the default bdd system instead. Very "don't worry about it, I got you" of it. π
And here's the lowkey important part: for all the bdd nodes of the variable association BddAssoc, the number of external reference is decremented. Every single one. It's giving responsible cleanup energy fr fr. π§
β RETURN VALUE β
delbddassoc returns 1 if the variable association is found, and 0 otherwise. Boom. Binary. Periodt. π
π₯ EXAMPLE π₯
#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 = delbddassoc( (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, it really does display ((i3 or i2) and i1) β the comment said so, so we said so. π
π SEE ALSO π
Go read it, bestie, it's the whole universe this page lives in. iykyk.
π 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, they're asking nicely, don't leave them on read. π
This page came straight out of the ASIM/LIP6 era, dated October 1, 1997 (yes, before most of us could walk), and it lives in section 3 of the manual as DELBDDASSOC(3). Stay slay, decrement responsibly, and always free your expr. πβ¨
π¦ where this page comes from
- fedora 43: alliance-devel 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- fedora 43: alliance-devel 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- fedora 44: alliance-devel 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- fedora 44: alliance-devel 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms