EXISTBDDNODEASSOCON(3)
π EXISTBDDNODEASSOCON(3) β like, the BDD FUNCTIONS manual, bestie π
okay so you opened the manual for existbddnodeassocon and honestly? it's giving "small function, big brain energy". let's get into it π¦
β¨ NAME β¨
existbddnodeassocon β computes an existential quantification. that's the whole job, she's focused, she's booked, periodt π
π ORIGIN π
bestie, 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. yes, Paris. iconic. π«π·β¨
- Web :
http://asim.lip6.fr/recherche/alliance/ - E-mail :
alliance-users@asim.lip6.fr
like, actual humans, actual lab, actual city of lights. we love to see it π«Ά
π SYNOPSIS π
#include "bdd101.h"
bddnode βexistbddnodeassocon( BddSystem, BddNode, BddAssoc )
bddsystem βBddSystem;
bddnode βBddNode;
bddassoc βBddAssoc;
three args, one node, zero drama (well, mostly) π
πΈ PARAMETERS πΈ
BddSystemβ the bdd system. your whole world, basically.BddNodeβ the bdd node to treat. the main character of this operation, no cap.BddAssocβ the variable association. this is the list of who's getting evicted.
π DESCRIPTION π
okay so here's the tea β: existbddnodeassocon suppresses, inside BddNode, all the variables associated with something in the variable association BddAssoc, in the bdd system BddSystem.
and if you hand her a null pointer? she doesn't spiral, she just uses the default bdd system. lowkey considerate of her tbh π
β RETURN VALUE β
existbddnodeassocon returns the computed bdd node. that's your prize, bestie, take it π
π¨ ERRORS π¨
"bad variable association xxx, error !"β theBddAssocparameter must a valid variable association. so like, give her a real one, not a vibe. π
π§ EXAMPLE π§
fr fr, here's the whole thing, verbatim, don't touch a character:
#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 );
BddVariable = searchbddcircuitin( (bddcircuit β)0, "i0" );
Variable = getbddvarbyindex( (bddsystem β)0, BddVariable->INDEX );
Assoc = addbddassoc( (bddsystem β)0 );
addbddnodeassoc( (bddsystem β)0, Assoc, Variable, BddSystem->ONE );
BddNode = existbddnodeassocon( (bddsystem β)0, BddNode, Assoc );
Expr = convertbddcircuitabl( BddCircuit, BddNode );
/* displays i1 */
viewablexpr( Expr, ABL_VIEW_VHDL );
freeablexpr( Expr );
destroybddassoc( (bddsystem β)0 );
destroybddsystem( (bddsystem β)0 );
destroybddcircuit( (bddcircuit β)0 );
and yes, the /* displays i1 */ comment is the payoff β i0 got existentially quantified away and i1 is the one still standing. she ate. π
π₯ SEE ALSO π₯
bdd(1)β go read it, iykyk π
π BUG REPORT π
this tool is under development at the ASIM department of the LIP6 laboratory. they need your feedback to improve documentation and tools β so like, if something's off, tell them! they're literally asking π₯Ί
reminder bestie: every option, every pointer, every β stays exactly where it is. the vibe is new, the facts are not. periodt. π
β¨
this page came to you from ASIM/LIP6, dated October 1, 1997 β yes, 1997, she's vintage, she's a classic, and she's still serving. mwah πππ¦πΈ
π¦ 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