UNMARKBDDNODE(3)

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

πŸŽ€ unmarkbddnode(3) β€” BDD FUNCTIONS πŸŽ€

okay bestie, we are officially in UNMARKBDDNODE(3) territory, and the whole vibe is β€œtake a mask off a bdd node and count the newly unmarked nodes.” No cap, it’s niche but iconic.

✨ NAME ✨

unmarkbddnode β€” unmarks bdd node with a specified mask. Periodt.

🌈 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.

πŸ’– SYNOPSIS πŸ’–

#include "bdd101.h"
long unmarkbddnode( BddSystem, BddNode, Mark )
  bddsystem βˆ—BddSystem;
  bddnode   βˆ—BddNode;
  bddunmark    Mark;

πŸŽ€ PARAMETERS πŸŽ€

  • BddSystem β€” the bdd system.
  • BddNode β€” the bdd node to unmark.
  • Mark β€” the bit mask.

πŸ¦‹ DESCRIPTION πŸ¦‹

unmarkbddnode unmarks the bdd node BddNode with the bit mask Mark, in the bdd system BddSystem. If a null pointer is given, the default bdd system is used. This function does a AND with the field MARK of the bdd node BddNode, and the complemented bit mask Mark. That’s the whole mechanic, bestie β€” lowkey elegant.

⭐ RETURN VALUE ⭐

unmarkbddnode returns the number of the different unmarked nodes. Yes, it counts them. Slay.

πŸ”₯ EXAMPLE πŸ”₯

Here’s the example, kept exactly as the original gives it:

#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 );
   Expr = createablbinexpr( ABL_AND,
                            createablatom( "i0" ),
                            createablatom( "i1" ) );
   BddNode = addbddcircuitabl( BddCircuit, Expr );
   freeablexpr( Expr );
   printf( "Number nodes: %ld0,
           markbddnode( (bddsystem βˆ—)0, BddNode, 0x0001 ) );
   unmarkbddnode( (bddsystem βˆ—)0, BddNode, 0x0001 );
   destroybddsystem( (bddsystem βˆ—)0 );
   destroybddcircuit( (bddcircuit βˆ—)0 );

πŸ‘‘ SEE ALSO πŸ‘‘

bdd(1) β€” that’s the reference, bestie. Go give it a read. πŸ‘‘

πŸ’€ 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 pls, send the feedback β€” the docs and tools wanna glow up. 🫢

πŸ’Œ cute sign-off: source/version ASIM/LIP6, date October 1, 1997, manual UNMARKBDDNODE(3) β€” that’s the footer, but make it fashion. πŸ’…
πŸ“¦ where this page comes from