DELBDDNODEASSOC(3)
π DELBDDNODEASSOC π
okay bestie, we're looking at delbddnodeassoc from the BDD FUNCTIONS manual (section 3 ofc, we're library girlies today) and it's literally so much simpler than it looks, i promise π«Ά
β¨ NAME β¨
delbddnodeassoc β deletes a bdd node in a variable association. yeah. that's the whole job. she's a deleter, she's an icon, she shows up, she removes one (1) association, she leaves π
πΈ ORIGIN πΈ
So this software is part of the ALLIANCE CAD SYSTEM, which was developed by the ASIM team over at the LIP6 laboratory of UniversitΓ© Pierre and Marie CURIE, in Paris, France. oui oui baguette, academic royalty fr fr π
- Web :
http://asim.lip6.fr/recherche/alliance/ - E-mail :
alliance-users@asim.lip6.fr
like they really said "here's the link, here's the email, come hang out" and honestly? slay.
π SYNOPSIS π
#include "bdd101.h"
int delbddnodeassoc( BddSystem, BddAssoc, Variable )
bddsystem βBddSystem;
bddassoc βBddAssoc;
bddvar Variable;
three args, one int back, no drama. the way that this signature is just clean π
π¦ PARAMETERS π¦
BddSystemβ The bdd system. the whole universe she's living in πBddAssocβ The variable association. the little buddy getting a glow-down (a node removed, not a haircut) βοΈVariableβ The variable number. the specific lil number we're pointing at π’
π DESCRIPTION π
okay so here's the tea, bestie: delbddnodeassoc deletes the bdd node associated to the variable number Variable, in the variable association BddAssoc, in the bdd system BddSystem. one node, one association, gone. poof. π«§
and listen β if a null pointer is given, the default bdd system is used. so like, you don't have to name your system, she'll just assume the default one. lowkey convenient ngl.
also important, don't skip this part: the number of external reference of the associated bdd node is incremented. so yeah, the node gets deleted from the assoc but the refcount goes up, not down. no cap, that's what it says, write it in your notes π
β RETURN VALUE β
delbddnodeassoc returns 1 if the variable is found, and 0 otherwise.
that's it. that's the return value. binary queen, no in-between, no "maybe", no "it depends". 1 or 0 and she means it π
π ERRORS π
"variable xxx out of range, error !"β TheVariableparameter must be less or equal to theBddSystem->NUMBER_VARfield. so if you're out here passing a variable number that's too big, she WILL yell that exact string at you. not me getting read to filth by a C function π
π₯ EXAMPLE π₯
here's the whole vibe in code, copy-paste-able and everything:
#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 );
delbddnodeassoc( (bddsystem β)0, Assoc, Variable );
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, that comment in the middle literally says it displays ((i3 or i2) and i1) β so if you run this, that's what you should see. ate and left no crumbs π
π 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. so like, if something's weird, TELL THEM. they literally asked. constructive feedback is self care fr fr π«Ά
and that's the page bestie!! ASIM/LIP6, dated October 1, 1997 β so this manual is older than most of us and still serving β¨ go delete that node, you've got this π
π¦ 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