UNSETBDDREFEXT(3)
π
unsetbddrefext β BDD FUNCTIONS, section 3, bestie edition π
π NAME π
Okay so this is unsetbddrefext from the BDD FUNCTIONS manual, section 3 β aka UNSETBDDREFEXT(3). Itβs the function that increments the internal reference and decrements the external reference of a bdd node. Slay. π
π¦ ORIGIN π¦
This software belongs to the ALLIANCE CAD SYSTEM developed by the ASIM team at the LIP6 laboratory of UniversitΓ© Pierre and Marie CURIE, in Paris, France. Ooh la la. π«π·β¨
- Web :
http://asim.lip6.fr/recherche/alliance/ - E-mail :
alliance-users@asim.lip6.fr
β¨ SYNOPSIS β¨
#include "bdd101.h"
bddnode βunsetbddrefext( BddNode )
bddnode βBddNode;
π«Ά PARAMETERS π«Ά
BddNodeβ the bdd node, bestie. Thatβs the node whose ref counts are getting adjusted.
π DESCRIPTION π
unsetbddrefext increments the number of internal reference of the bdd node BddNode and decrements its number of external reference. Thatβs the whole move: internal goes up, external goes down. Iconic. π
π RETURN VALUE π
unsetbddrefext returns the BddNode pointer. Yup, it hands you back the same pointer. π«Ά
π ERRORS π
Error alert, bestie: you can get this exact message:
"negative reference, index xxx error !"
The BddNode must have a positive number of external reference. So keep that external ref count positive, okay? π
πΈ EXAMPLE πΈ
Hereβs the example in all its glory β copy it exactly, no cap:
#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 );
BddNode = addbddcircuitin( (bddcircuit β)0, "i0", 0, BDD_IN_MODE_FIRST );
BddNode = addbddnode( (bddsystem β)0, BddNode->INDEX, BddNode->LOW, BddNode->HIGH );
Expr = convertbddcircuitabl( (bddcircuit β)0, BddNode );
incbddrefext( BddNode );
unsetbddrefext( BddNode );
/* displays Node VAR: 0 INDEX: 2 MARK: 0 REF_EXT: 0 REF_INT: 1 */
viewbddnode( (bddsystem β)0, BddNode );
/* displays (not i0) */
viewablexpr( Expr, ABL_VIEW_VHDL );
freeablexpr( Expr );
destroybddsystem( (bddsystem β)0 );
destroybddcircuit( (bddcircuit β)0 );
And thatβs the example, periodt. π
π SEE ALSO π
bdd(1)β go see that page too, bestie.
π§ 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 if youβve got notes, send them β they literally need your feedback. π«Ά
Sign-off cuteness: this page is from ASIM/LIP6, dated October 1, 1997, and itβs the UNSETBDDREFEXT(3) page. Periodt. π
β¨
π¦ 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