APPLYBDDNODETERM(3)
π APPLYBDDNODETERM(3) β BDD FUNCTIONS π
okay bestie, welcome to applybddnodeterm from the BDD FUNCTIONS corner of the manual universe β¨
πΈ NAME πΈ
applybddnodeterm β applies an operator on two bdd nodes. literally that's the whole gig π«Ά
ποΈ ORIGIN ποΈ
so 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. trΓ¨s chic, no cap π«π·π
- Web : http://asim.lip6.fr/recherche/alliance/
- E-mail : alliance-users@asim.lip6.fr
β¨ SYNOPSIS β¨
#include "bdd101.h"
bddnode βapplybddnodeterm( BddSystem, Oper, Index, BddNode )
bddsystem βBddSystem;
long Oper;
bddindex Index;
bddnode βBddNode;
π PARAMETERS π
BddSystemβ the bdd system, bestie. your whole little universe of nodes.Operβ the binary operator. the vibe you're applying.Indexβ the index of the terminal bdd node.BddNodeβ the bdd node itself, the main character.
π DESCRIPTION π
so applybddnodeterm computes the boolean function BddNode Oper and the terminal node corresponding to Index in the bdd system BddSystem. that's it, that's the function π§
the Index parameter can take only the two following values: BDD_INDEX_ONE and BDD_INDEX_ZERO. that's the whole menu, don't get creative π
and if a null pointer is given, the default bdd system is used. convenient β¨
π RETURN VALUE π
applybddnodeterm returns a pointer to the resulting bdd node with its number of external reference incremented. so like, it's giving you a node and bumping its ref count. obsessed π
π ERRORS π
"bad operator xxx error !"β theOperparameter must be a valid binary operator. if it's not, you get this. periodt.
π₯ 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 );
addbddcircuitin( (bddcircuit β)0, "i0", 0, BDD_IN_MODE_FIRST );
BddNode = applybddnodeterm( (bddsystem β)0,
ABL_XOR, BDD_INDEX_ONE,
searchbddcircuitin( (bddcircuit β)0, "i0" ) );
Expr = convertbddcircuitabl( (bddcircuit β)0, BddNode );
/* displays (not i0) */
viewablexpr( Expr, ABL_VIEW_VHDL );
freeablexpr( Expr );
destroybddsystem( (bddsystem β)0 );
destroybddcircuit( (bddcircuit β)0 );
notice that /* displays (not i0) */ comment? that's the actual output, bestie. it ate. π₯
π SEE ALSO π
π¦ BUG REPORT π¦
this tool is under development at the ASIM department of the LIP6 laboratory. they need your feedback to improve documentation and tools β so like, tell them things, they're literally asking π
and that's the page!! written by ASIM/LIP6, dated October 1, 1997 β yes it's older than most of us and it still slays π β¨ bye bestie, go apply some operators π
π¦ 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