GETBDDNODESUPPORT(3)
๐ GETBDDNODESUPPORT(3) โ BDD FUNCTIONS
okay bestie, gather round, we're reading a GETBDDNODESUPPORT(3) man page together and honestly? it's giving "niche but iconic." no cap. ๐
โจ NAME โจ
getbddnodesupport โ gives the variable support of a bdd node.
like, it hands you the variables your bdd node actually depends on. that's the whole vibe. ๐ฆ
๐ธ ORIGIN ๐ธ
bestie this software is old old. it belongs to the ALLIANCE CAD SYSTEM, developed by the ASIM team at the LIP6 laboratory of Universit๏ฟฝ Pierre et Marie CURIE, in Paris, France. ๐ซ๐ทโจ
the deets, exactly as they were left for us:
- Web :
http://asim.lip6.fr/recherche/alliance/ - E-mail :
alliance-users@asim.lip6.fr
๐ SYNOPSIS ๐
#include "bdd101.h"
void โgetbddnodesupport( BddSystem, BddNode, Mode )
bddsystem โBddSystem;
bddnode โBddNode;
int Mode;
that's it. that's the whole call. short and slay. ๐
๐ PARAMETERS ๐
BddSystemโ the bdd system. your whole little bdd universe lives here.BddNodeโ the bdd node. the one we're snooping on to find its support.Modeโ the type of support. this is the personality switch, lowkey.
๐ซถ DESCRIPTION ๐ซถ
so getbddnodesupport gives the support of the bdd node BddNode in the bdd system BddSystem. that's the main character move. ๐
if you pass a null pointer, no stress โ the default bdd system gets used instead. comfy.
now here's the part you gotta remember: if Mode is BDD_SUPPORT_CHAIN, the support comes back to you as a chain_list โจ else it comes back as a ptype_list. two different lewks, same support, iykyk.
โ ๏ธ important, bestie: the support must be freed using thefreechainorfreeptypefunctions. do NOT leave it hanging, that's not cute. memory leaks are the opposite of slay. ๐
โญ RETURN VALUE โญ
getablexprsupport returns a pointer to a chain_list or a ptype_list. (yes, the page really does say getablexprsupport there โ we are reporting the facts exactly as they were handed to us, no editing. ๐ ngl it's a typo era, but it's their typo era.)
๐ EXAMPLE ๐
here's a full lil demo, verbatim, because copying code is the one place we do NOT freestyle:
#include "bdd101.h"
bddsystem โBddSystem;
bddcircuit โBddCircuit;
bddnode โBddNode;
chain_list โExpr;
chain_list โSupport;
chain_list โScanSupport;
bddindex Index;
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 );
Support = getablbddnodesupport( (bddsystem โ0), BddNode, BDD_SUPPORT_CHAIN );
for ( ScanSupport = Support;
ScanSupport != (chain_list โ)0;
ScanSupport = ScanSupport->NEXT )
{
Index = (bddnode โ)ScanSupport->INDEX;
printf( "%s ", BddCircuit->NAME_IN[ Index - BDD_INDEX_MIN ] );
}
freechain( Support );
destroybddsystem( (bddsystem โ)0 );
destroybddcircuit( (bddcircuit โ)0 );
notice how it calls getablbddnodesupport โ again, exactly what the page says, no touchy. โ and see that freechain( Support ); at the end? that's the cleanup we were literally just yelling about. ate. ๐
๐ง SEE ALSO ๐ง
๐ฅ BUG REPORT ๐ฅ
heads up from the team:
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 off, tell them โ feedback is a love language fr fr. ๐ซถ
and that's the whole page, bestie! source/version and date, as promised: this one's the ASIM/LIP6 page, dated October 1, 1997, and yes it's still serving looks. โจ๐๐ฆ
๐ฆ where this page comes from
- nixos 26.05: alliance 5.1.1-unstable-2025-02-24
- nixpkgs unstable: alliance 5.1.1-unstable-2025-02-24
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms