DECBDDREFINT(3)

πŸ“¦ version 5.1.1-unstable-2025-02, in nixos 26.05, nixpkgs unstable

okay so this is DECBDDREFINT(3), from the BDD FUNCTIONS manual, and we're about to talk about decrementing the internal reference of a bdd node. Bestie, it's giving tiny-but-important πŸ”₯

πŸ’– NAME πŸ’–

decbddrefint β€” decrements the internal reference of a bdd node. That's the whole name, no cap πŸ’…

🌸 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. Slay.

✨ SYNOPSIS ✨

#include "bdd101.h"
bddnode βˆ—decbddrefint( BddNode )
  bddnode βˆ—BddNode;

πŸŽ€ PARAMETERS πŸŽ€

  • BddNode β€” the bdd node. Yes, that one, bestie 🫢

πŸ¦‹ DESCRIPTION πŸ¦‹

decbddrefint decrements the number of internal reference of the bdd node BddNode. That's it. That's the vibe. πŸ’…

πŸ’… RETURN VALUE πŸ’…

decbddrefint returns the BddNode pointer. It's giving return-the-pointer energy ✨

😭 ERRORS 😭

If the node doesn't have a positive number of internal reference, you get:

"negative reference, index xxx error !"

The BddNode must have a positive number of internal reference. No cap 🫢

πŸ”₯ EXAMPLE πŸ”₯

Okay bestie, here's the example exactly as it lives in the manual β€” don't let the pointer casts scare you, they're just doing their thing πŸ’–

#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 ALSO ⭐

  • bdd(1) β€” literally go see it, 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're literally asking 🫢


xoxo, ASIM/LIP6 Β· October 1, 1997 Β· DECBDDREFINT(3) πŸ’…

πŸ“¦ where this page comes from