DELBDDNODE(3)
π DELBDDNODE(3) β a lil' page from the BDD FUNCTIONS girlies
okay so bestie, welcome to delbddnode β it's a C function from the BDD FUNCTIONS family, and today we're gonna learn how to yeet an unused bdd node into the void ποΈβ¨
πΈ ORIGIN πΈ
so this software belongs to the ALLIANCE CAD SYSTEM, which was developed by the ASIM team over at the LIP6 laboratory of UniversitΓ© Pierre et Marie Curie, in Paris, France π«π·π₯ (yes, that Paris, the main character city)
- Web :
http://asim.lip6.fr/recherche/alliance/ - E-mail :
alliance-users@asim.lip6.fr
β¨ SYNOPSIS β¨
#include "bdd101.h"
void delbddnode( BddSystem, BddNode )
bddsystem βBddSystem;
bddnode βBddNode;
π PARAMETERS π
BddSystemβ the bdd system, obvi. it's the whole vibe.BddNodeβ the bdd node itself. the little guy we're deleting.
π DESCRIPTION π
okay so here's the tea β β delbddnode tries to delete the bdd node BddNode and its children, but only if they don't have external references, all inside the bdd system BddSystem. key word: tries. it's giving "I'll do my best" energy.
if you hand it a null pointer, it just uses the default bdd system instead β no cap, that's the fallback. π«Ά
β οΈ and now for the serious part, bestie: the use of this function is not recommended, because it takes time. π like, it's slow. it's highkey not the move. instead, the better glow-up is to call thedecbddrefextfunction, and then do a garbage collection with thegarbagebddsystemfunction. periodt. that's the way. π
π¦ RETURN VALUE π¦
delbddnode returns nothing. literally. void. it does the thing and leaves. no receipts, no notes. π
π EXAMPLE π
here's the whole vibe in action, copy-paste blessed:
#include "bdd101.h"
bddsystem βBddSystem;
bddcircuit βBddCircuit;
bddnode βBddNode;
chain_list βExpr;
BddSystem = createbddsystem( 100, 1000, 100, 50000 );
BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
BddNode = addbddcircuitin( (bddcircuit β)0, "i0", 0, BDD_IN_MODE_FIRST );
BddNode = addbddnode( (bddsystem β)0, BddNode->INDEX, BddNode->LOW, BddNode->HIGH );
Expr = convertbddcircuitabl( (bddcircuit β)0, BddNode );
delbddnode( (bddsystem β)0, decbddrefext( BddNode ) );
/* displays (not i0) */
viewablexpr( Expr, ABL_VIEW_VHDL );
freeablexpr( Expr );
destroybddsystem( (bddsystem β)0 );
destroybddcircuit( (bddcircuit β)0 );
see that /* displays (not i0) */ comment? that's what you get, and it ate. π₯
π SEE ALSO π
bdd(1)β go read it, bestie, iykyk π
π BUG REPORT π
this tool is under development at the ASIM department of the LIP6 laboratory π οΈ β so yeah, it's a work in progress, be nice to it.
they need your feedback to improve documentation and tools! so if something's weird, say something. we love a feedback loop πβ¨
πΈ that's the whole page, babe β brought to you by ASIM/LIP6, dated October 1, 1997 (yes she's an icon, she's been iconic since the 90s π). now go forth and don't use delbddnode unless you have to, mwah π«Άπ
π¦ 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