APPLYBDDNODEITE(3)
π APPLYBDDNODEITE β the bdd bestie page π
okay so this is applybddnodeite, from the BDD FUNCTIONS section of the manual (section 3, library calls, we love that for her). She computes an IF-THEN-ELSE logical operation and honestly? she ate. Let's get into it π¦
πΈ NAME πΈ
applybddnodeite β computes the IF-THEN-ELSE logical operation.
β¨ 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. French. Academic. We stan π«π·π
- Web :
http://asim.lip6.fr/recherche/alliance/ - E-mail :
alliance-users@asim.lip6.fr
π SYNOPSIS π
#include "bdd101.h"
bddnode βapplybddnodeite( BddSystem, BddIf, BddThen, BddElse )
bddnode βBddSystem;
bddnode βBddIf;
bddnode βBddThen;
bddnode βBddElse;
like, four pointers in, one pointer out. simple. elegant. no cap. π«Ά
π PARAMETERS π
BddSystemβ the bdd system. the whole vibe, the whole setup, the main character of the data structures.BddIfβ the IF bdd node. the question being asked.BddThenβ the THEN bdd node. what happens when the answer is yes.BddElseβ the ELSE bdd node. what happens when it's a no. the plan b. we respect her.
π₯ DESCRIPTION π₯
so applybddnodeite computes this whole logical function:
(BddIf AND BddThen) OR ((NOT BddIf) AND BddElse)
β¦inside the bdd system BddSystem. it's giving "if this then that else the other thing" but make it boolean algebra β¨
lowkey important: if you hand her a null pointer, the default bdd system gets used instead. bestie will just pick one for you. periodt.
π RETURN VALUE π
applybddnodeite returns a pointer to the resulting bdd node β and she's got her number of external reference incremented. so like, she's counting on you. literally. keep track of that ref count, bestie π
π EXAMPLE π
here's the whole little glow-up, verbatim:
#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 );
addbddcircuitin( (bddcircuit β)0, "i2", 0, BDD_IN_MODE_FIRST );
BddNode = applybddnodeite( (bddsystem β)0,
searchbddcircuitin( (bddcircuit β)0, "i0" ),
searchbddcircuitin( (bddcircuit β)0, "i1" ),
searchbddcircuitin( (bddcircuit β)0, "i2" ) );
Expr = convertbddcircuitabl( (bddcircuit β)0, BddNode );
/* displays ((i0 and i1) or ((not i0) and i2) */
viewablexpr( Expr, ABL_VIEW_VHDL );
freeablexpr( Expr );
destroybddsystem( (bddsystem β)0 );
destroybddcircuit( (bddcircuit β)0 );
notice the "hello_world" circuit name?? she's a hello world girlie fr fr π and yes, the comment in there says /* displays ((i0 and i1) or ((not i0) and i2) */ β that's the output you get, keep it exact.
π SEE ALSO π
that's it, that's the whole friend group. go read bdd(1) next, iykyk π§
π BUG REPORT π
This tool is under development at the ASIM department of the LIP6 laboratory. She's a work in progress, and that's okay β we're all growing π
We need your feedback to improve documentation and tools. so likeβ¦ email them. please. they literally asked. do it for the plot π«Ά
β sign-off β
that's the whole page bestie!! brought to you by ASIM/LIP6, dated October 1, 1997 β yes, 1997, she's vintage, she's an elder statesman of EDA, and she still slays π β¨π
π¦ 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