COFACTORBDDNODE(3)
β¨ NAME β¨
okay so bestie, this page is COFACTORBDDNODE(3), living in the BDD FUNCTIONS manual, and it's the whole glow-up story of one function: cofactorbddnode β she computes the generalized cofactor. that's it, that's the vibe. π
π ORIGIN π
This software belongs to the ALLIANCE CAD SYSTEM, which was developed by the ASIM team at the 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
π SYNOPSIS π
#include "bdd101.h"
bddnode *cofactorbddnode( BddSystem, BddNode1, BddNode2 )
bddsystem *BddSystem;
bddnode *BddNode1;
bddnode *BddNode2;
π PARAMETERS π
BddSystemβ the bdd system. that's her home base πBddNode1β the first bdd node.BddNode2β the second bdd node.
π« DESCRIPTION π«
cofactorbddnode computes the generalized cofactor of BddNode1 by BddNode2, inside the bdd system BddSystem. π§ β¨
and here's the little plot twist: if a null pointer is given, the default bdd system gets used instead. no cap. π
π«Ά RETURN VALUE π«Ά
cofactorbddnode returns the resulting bdd node. iconic behavior, honestly. π
π ERRORS π
"index xxx out of range"β theBddNode2parameter must be different to the zero bdd node. so likeβ¦ don't hand her a zero node, she will simply not be okay with it. π
π EXAMPLE π
#include "bdd101.h"
bddsystem *BddSystem;
bddcircuit *BddCircuit;
bddnode *BddNode1;
bddnode *BddNode2;
bddnode *BddNode;
chain_list *Expr;
BddSystem = createbddsystem( 100, 1000, 100, 50000 );
BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
Expr = createablbinexpr( ABL_OR,
createablatom( "i0" ),
createablatom( "i1" ) );
BddNode1 = addbddcircuitabl( BddCircuit, Expr );
freeablexpr( Expr );
Expr = createablbinexpr( ABL_AND,
createablatom( "i0" ),
createablatom( "i1" ) );
BddNode2 = addbddcircuitabl( BddCircuit, Expr );
freeablexpr( Expr );
BddNode = cofactorbddnode( (bddsystem *)0, BddNode1, BddNode2 );
Expr = convertbddcircuitabl( BddCircuit, BddNode );
/* displays '1' */
viewablexpr( Expr, ABL_VIEW_VHDL );
freeablexpr( Expr );
destroybddsystem( (bddsystem *)0 );
destroybddcircuit( (bddcircuit *)0 );
lowkey obsessed with the fact that this whole thing exists just to print a 1. and yet. she ate. π₯
π 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, please send thoughts, bestie, they're literally asking ππ
and that's the whole page!! this one came from ASIM/LIP6, dated October 1, 1997, and yes the footer really does say COFACTORBDDNODE(3) β we love a full circle moment. mwah πβ¨
π¦ 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