ADDBDDNODE(3)
π ADDBDDNODE(3) β BDD FUNCTIONS π
okay bestie, gather round, because we're about to talk about addbddnode from the BDD FUNCTIONS crew (that's section 3 of the manual, iykyk) π¦
β¨ NAME β¨
addbddnode β adds a new bdd node in the bdd system. periodt.
πΈ ORIGIN πΈ
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. π«π· iconic academic behaviour, no cap.
- Web : http://asim.lip6.fr/recherche/alliance/
- E-mail : alliance-users@asim.lip6.fr
π SYNOPSIS π
#include "bdd101.h"
bddnode βaddbddnode( BddSystem, Index, High, Low )
bddsystem βBddSystem;
bddindex Index;
bddnode βHigh;
bddnode βLow;
π PARAMETERS π
BddSystemβ the bdd system. like, the whole vibe container.Indexβ the bdd index.Highβ the bdd high pointer.Lowβ the bdd low pointer.
π«Ά DESCRIPTION π«Ά
so addbddnode adds a new node with the index Index, High as HIGH pointer, and Low as LOW pointer in the bdd system BddSystem. the way it's just doing exactly what it says on the tin, we love a transparent king π
and here's the cute part: if the bdd node exist already, addbddnode return its pointer. it's not gonna make a whole duplicate, it's giving efficient πβ¨
also, if a null pointer is given, the default bdd system is used. so if you're feeling lazy and pass nothing, it's got you π₯°
β RETURN VALUE β
addbddnode returns a pointer to the resulting bdd node, with its number of external reference incremented. yes bestie, the refcount goes up, that's the whole point π
π ERRORS π
- "index xxx out of range" β the
Indexparameter must be a valid index. no skipping the vibe check on this one fr fr.
π EXAMPLE π
#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 );
/* displays (not i0) */
viewablexpr( Expr, ABL_VIEW_VHDL );
freeablexpr( Expr );
destroybddsystem( (bddsystem β)0 );
destroybddcircuit( (bddcircuit β)0 );
look at that swap of LOW and HIGH β main character energy honestly, it's giving "not i0" and the comment literally says so π
π₯ 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. bestie they are literally asking, please send the feedback, do it for the plot π«Ά
and that's the whole page!! π this was ASIM/LIP6, dated October 1, 1997 β yeah it's vintage but it ate and left no crumbs, slay πβ¨
π¦ 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