DECBDDREFINT(3)
π DECBDDREFINT(3) β BDD FUNCTIONS π
okay bestie, welcome to the BDD FUNCTIONS section of the manual, page 3, and today's main character is decbddrefint. buckle up, it's a short one but she's important π
β¨ NAME β¨
decbddrefint β decrements the internal reference of a bdd node. that's it. that's the whole vibe. she takes a ref count down by one, no cap π
πΈ 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. Paris!! the iconique-est of labs, we love to see it π«π·β¨
- Web :
http://asim.lip6.fr/recherche/alliance/ - E-mail :
alliance-users@asim.lip6.fr
π¦ SYNOPSIS π¦
#include "bdd101.h"
bddnode βdecbddrefint( BddNode )
bddnode βBddNode;
π PARAMETERS π
BddNodeβ the bdd node. that's the one. the girl. the node we're about to un-reference π«Ά
π DESCRIPTION π
decbddrefint decrements the number of internal reference of the bdd node BddNode.
so like, the node's internal ref count goes down by one. that's the whole plot of this episode. lowkey simple, highkey essential π§
β RETURN VALUE β
decbddrefint returns the BddNode pointer. she gives you the node right back, like "here bestie, same node, different ref count" π«
π ERRORS π
"negative reference, index xxx error !"β TheBddNodemust have a positive number of internal reference.
fr fr, if you try to decrement a node that's already sitting at zero internal refs, she WILL call you out. don't do it. the error message is not a suggestion π
π 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 );
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 );
incbddrefint( BddNode );
decbddrefint( BddNode );
/* displays Node VAR: 0 INDEX: 2 MARK: 0 REF_EXT: 1 REF_INT: 0 */
viewbddnode( (bddsystem β)0, BddNode );
/* displays (not i0) */
viewablexpr( Expr, ABL_VIEW_VHDL );
freeablexpr( Expr );
destroybddsystem( (bddsystem β)0 );
destroybddcircuit( (bddcircuit β)0 );
see how she does incbddrefint first and then decbddrefint? balance, babes. β¨ and notice the REF_INT: 0 in the comment β that's her whole job, right there on display π
π 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.
bestie they are literally asking for your feedback. slide into their inbox, they're begging (politely) ππ
ASIM/LIP6 Β· October 1, 1997 Β· DECBDDREFINT(3)
and that's the whole page, bestie β written by the LIP6/ASIM girlies back on October 1, 1997, still serving BDD realness to this very day. 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