APPLYBDDNODELIST(3)
π
APPLYBDDNODELIST β¨ β the applybddnodelist(3) page, bestie edition
okay so you're in the BDD FUNCTIONS corner of the manual and you found applybddnodelist(3). slay. let's get into it π«Ά
πΈ NAME πΈ
applybddnodelist β applies an opertor to a bdd nodes list.
(yes bestie, "opertor". we keep the typo, it's canon now, it's part of the lore π)
ποΈ ORIGIN ποΈ
This software belongs to the ALLIANCE CAD SYSTEM developed by the ASIM team at 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
like, actual French academic royalty, no cap π
π SYNOPSIS π
#include "bdd101.h"
bddnode βapplybddnodelist( BddSystem, Oper, BddList )
bddsystem βBddSystem;
long Oper;
chain_list βBddList;
π¦ PARAMETERS π¦
BddSystemβ the bdd system. the whole vibe lives here β¨Operβ the operator. the thing doing the doing πBddListβ the bdd nodes list. the guest list π
π DESCRIPTION π
applybddnodelist applies the boolean operator Oper to the bdd nodes list BddList in the bdd system BddSystem.
the way that it just... does the boolean operation on the whole list?? iconic.
and listen β if a null pointer is given, the default bdd system is used. so you can be lazy and it still works, we love a flexible queen π
π RETURN VALUE π
applybddnodelist returns a pointer to the resulting bdd node, with its number of external reference incremented. β
so like, it hands you the node and bumps the refcount. you didn't even have to ask. that's service.
π ERRORS π
"bad operator xxx error !"β theOperparameter must be a valid binary operator. if it's not, we're not doing this today bestie π"bad list !"β theBddListparameter must be a valid list. give it a real list or give it nothing fr fr
π EXAMPLE π
#include "bdd101.h"
bddsystem βBddSystem;
bddcircuit βBddCircuit;
bddnode βBddNode;
chain_list βBddList;
chain_list βExpr;
BddSystem = createbddsystem( 100, 1000, 100, 50000 );
BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
BddList = (chain_list β)0;
BddList = addbddnodelist( (bddsystem β)0, BddList,
addbddcircuitin( (bddcircuit β)0,
"i0", 0, BDD_IN_MODE_FIRST ) );
BddList = addbddnodelist( (bddsystem β)0, BddList,
addbddcircuitin( (bddcircuit β)0,
"i1", 0, BDD_IN_MODE_FIRST );
BddList = addbddnodelist( (bddsystem β)0, BddList,
addbddcircuitin( (bddcircuit β)0,
"i2", 0, BDD_IN_MODE_FIRST );
BddNode = applybddnodelist( (bddsystem β)0, ABL_AND, BddList );
Expr = convertbddcircuitabl( (bddcircuit β)0, BddNode );
/* displays (i0 and i1 and i2) */
viewablexpr( Expr, ABL_VIEW_VHDL );
freeablexpr( Expr );
destroybddsystem( (bddsystem β)0 );
destroybddcircuit( (bddcircuit β)0 );
so you make a system, make a circuit named "hello_world" (adorable), stack up "i0", "i1" and "i2" as inputs, hit it with ABL_AND, convert to ABL, and viewablexpr displays (i0 and i1 and i2). main character behavior. then you free and destroy everything because we're responsible and we clean up after ourselves periodt π§Ήβ¨
π«Ά SEE ALSO π«Ά
go read it, iykyk π
π BUG REPORT π
This tool is under development at the ASIM department of the LIP6 laboratory.
We need your feedback to improve documentation and tools.
so like, tell them what's broken. they literally asked. constructive criticism is self care bestie π
ASIM/LIP6 Β· October 1, 1997 β that's the source, the version and the date, and that's a wrap π thanks for reading the applybddnodelist(3) page with me, ily, go increment a reference counter responsibly πβ¨π¦
π¦ 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