APPLYBDDNODELIST(3)
πΈ APPLYBDDNODELIST π
okay so bestie, welcome to the applybddnodelist page from the BDD FUNCTIONS section of the manual β section 3, library-call girlies rise β¨
π 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 pedigree tbh π
Web: http://asim.lip6.fr/recherche/alliance/ E-mail: alliance-users@asim.lip6.fr
β¨ SYNOPSIS
#include "bdd101.h"
bddnode βapplybddnodelist( BddSystem, Oper, BddList )
bddsystem βBddSystem;
long Oper;
chain_list βBddList;
π¦ PARAMETERS
BddSystemβ the bdd system. yes, that one πOperβ the operator. the vibe-setter, the moment πBddListβ the bdd nodes list. the whole squad π
πΈ DESCRIPTION
okay so applybddnodelist literally applies the boolean operator Oper to the bdd nodes list BddList, inside the bdd system BddSystem. that's the whole gig, and she ate π₯
and listen β if a null pointer is given, the default bdd system is used. no cap, she'll pick up the default for you π«Ά
π RETURN VALUE
applybddnodelist returns a pointer to the resulting bdd node, with its number of external reference incremented. so like, she incremented the reference count before handing it to you β don't forget that π₯
π ERRORS
"bad operator xxx error !"β theOperparameter must be a valid binary operator. like, it has to be an actual operator, bestie π"bad list !"β theBddListparameter must be a valid list. give her a real list please π
π 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 );
like, this whole example is giving "build a system, make a circuit, add three inputs, AND them together, convert to an expression, view it in VHDL, then clean up after yourself." main character energy from start to finish π (and yes, the i1 block is missing a closing paren in the source β we're keeping it exactly as written, copy-paste girlies beware π)
π§ SEE ALSO
bdd(1) β 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. fr fr, your feedback is the moment π«Ά
bestie reminder: keep your operators binary and valid, keep your lists valid, and remember the reference count got incremented β she's not doing that for fun π
sign-off time π β this page came to you from ASIM/LIP6, dated October 1, 1997, under the title APPLYBDDNODELIST(3). oldie but a goodie, and she still slays β¨π¦π
π¦ 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