CONVERTBDDMUXABL(3)
π CONVERTBDDMUXABL(3) π
okay bestie, welcome to the glow-up of convertbddmuxabl from the BDD FUNCTIONS manual (section 3, obviously). it's giving very much "niche library function that absolutely ate". let's get into it π¦
β¨ NAME β¨
convertbddmuxabl β converts two bdd nodes to an abl multiplexor expression.
no cap, that's literally the whole job description and she does it flawlessly π
π 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 academic behavior, honestly π«π·β¨
- Web :
http://asim.lip6.fr/recherche/alliance/ - E-mail :
alliance-users@asim.lip6.fr
π SYNOPSIS π
#include "bdd101.h"
chain_list *convertbddmuxabl( BddSystem, NameArray, IndexArray, Equation, BddHigh, BddLow )
bddsystem ΞddSystem;
char (*NameArray;
bddindex ΞndexArray;
chain_list Ξquation;
bddnode ΞddHigh;
bddnode ΞddLow;
π PARAMETERS π
BddSystemβ the bdd system. your girl's whole world basically.NameArrayβ the array of names.IndexArrayβ the array of indexes.Equationβ the multiplexor command.BddHighβ the first bdd node.BddLowβ the second bdd node.
π¦ DESCRIPTION π¦
so convertbddmuxabl creates the following abl expression:
( BddHigh AND Equation ) OR ( BddLow AND (NOT Equation ) )
...inside the bdd system BddSystem. if a null pointer is given, the default bdd system is used β she's flexible like that, lowkey a queen π«Ά
the NameArray and IndexArray parameters are used to translate the variable nodes into atomic expressions. the array NameArray is a list of names. the array IndexArray does the correspondence between a bdd node index and a slot in the NameArray. if the IndexArray parameter is a null pointer, then the name of the bdd index BDD_INDEX_MIN is assumed to be the first slot of the NameArray, and so on. periodt. π«
β RETURN VALUE β
convertbddmuxabl returns a pointer to the abl expression translated. that's it, that's the tea β
πΈ EXAMPLE πΈ
#include "bdd101.h"
bddsystem βBddSystem;
bddnode βBddNode1;
bddnode βBddNode2;
chain_list βExpr;
char βNameArray[ 2 ];
BddSystem = createbddsystem( 100, 1000, 100, 50000 );
BddNode1 = addbddvarlast( BddSystem );
BddNode2 = addbddvarlast( BddSystem );
NameArray[ 0 ] = namealloc( "i0" );
NameArray[ 1 ] = namealloc( "i1" );
Expr = convertbddmuxabl( BddSystem, NameArray, (bddindex β)0,
createablatom( "C" ), BddNode1, BddNode2 );
/* displays (i0 and C) or (i1 and (not C)) */
viewablexpr( Expr, ABL_VIEW_VHDL );
freeablexpr( Expr );
destroybddsystem( (bddsystem β)0 );
look at that demo run. she built the whole system, allocated the vars, and cleaned up after herself. main character energy fr fr π
π₯ 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. so likeβ¦ pls send thoughts and prayers (and bug reports) bestie, we're literally begging ππ
okay and that's the whole page, we ate and left absolutely no crumbs π
signing off with love from ASIM/LIP6, dated October 1, 1997 β yeah she's vintage, she's archival, she's still slaying π β¨π
π¦ 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