APPLYBDDNODENOT(3)
β¨ APPLYBDDNODENOT(3) β the bdd-glow-up page β¨
okay bestie, this is a page from the BDD FUNCTIONS manual, and it's literally the applybddnodenot page, section 3, and yes it's giving "tiny function, huge main character energy". π
π NAME π
applybddnodenot β complements a bdd.
like. it takes a bdd node and just. complements it. that's the whole vibe. no cap. β¨
πΈ 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. π«π·
- Web :
http://asim.lip6.fr/recherche/alliance/ - E-mail :
alliance-users@asim.lip6.fr
so it's French, it's academic, it's iconic, it's been here since forever. periodt. π
π¦ SYNOPSIS π¦
#include "bdd101.h"
bddnode βapplybddnodenot( BddSystem, BddNode )
bddsystem βBddSystem;
bddnode βBddNode;
(yes the signature is that short, and honestly? she's efficient. we respect it. π)
π PARAMETERS π
BddSystemβ the bdd system. like, the whole system you're working in, bestie.BddNodeβ the bdd node to complement. the one getting the glow-up. β¨
π DESCRIPTION π
So, applybddnodenot complements BddNode in the bdd system BddSystem.
And here's the little plot twist, the lowkey important part: if a null pointer is given, the default bdd system is used. so if you pass (bddsystem β)0 you're not being chaotic, you're just saying "use the default one". she understands. she's got you. π«Ά
π RETURN VALUE π
applybddnodenot returns a pointer to the resulting bdd node β and its number of external reference is incremented. so, like, you got a new node AND the ref count went up. that's the deal. π
π EXAMPLE π
here's the whole little story, verbatim, no notes:
#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 );
addbddcircuitin( (bddcircuit β)0, "i0", 0, BDD_IN_MODE_FIRST );
addbddcircuitin( (bddcircuit β)0, "i1", 0, BDD_IN_MODE_FIRST );
BddNode = applybddnode( (bddsystem β)0,
ABL_AND,
searchbddcircuitin( (bddcircuit β)0, "i0" ),
searchbddcircuitin( (bddcircuit β)0, "i1" ) );
BddNode = applybddnodenot( (bddsystem β)0, decbddrefext( BddNode ) );
Expr = convertbddcircuitabl( (bddcircuit β)0, BddNode );
/* displays (i0 nand i1) */
viewablexpr( Expr, ABL_VIEW_VHDL );
freeablexpr( Expr );
destroybddsystem( (bddsystem β)0 );
destroybddcircuit( (bddcircuit β)0 );
and yes, the /* displays (i0 nand i1) */ comment is the whole flex. ABL_AND plus a complement = nand. the math ate and left no crumbs. π₯ (also can we talk about hello_world being the circuit name, so cute π₯Ί)
π 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 for feedback, so if you found a typo or a confusing bit, TELL THEM. it's not snitching, it's contributing. π
π§ cute lil sign-off π§
That's the page, bestie β from ASIM/LIP6, dated October 1, 1997, and it lives under APPLYBDDNODENOT(3). mwah. π stay complemented. π
β¨π¦
π¦ 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