ADDBDDNODE(3)

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

πŸ’– addbddnode πŸ’– β€” a BDD FUNCTIONS moment from the ADDBDDNODE(3) manual, bestie

okay so like, this is the page for addbddnode, and it's lowkey iconic for anyone building bdd stuff. Let's get into it ✨

✨ NAME ✨

addbddnode β€” adds a new bdd node in the bdd system.

🌈 ORIGIN 🌈

This software belongs to the ALLIANCE CAD SYSTEM, developed by the ASIM team at 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 βˆ—addbddnode( BddSystem, Index, High, Low  )
  bddsystem βˆ—BddSystem;
  bddindex   Index;
  bddnode   βˆ—High;
  bddnode   βˆ—Low;

πŸŽ€ PARAMETERS πŸŽ€

  • BddSystem β€” the bdd system. yes bestie, the whole system.
  • Index β€” the bdd index.
  • High β€” the bdd high pointer.
  • Low β€” the bdd low pointer.

πŸ’… DESCRIPTION πŸ’…

So addbddnode adds a new node with the index Index, High as the HIGH pointer, and Low as the LOW pointer in the bdd system BddSystem. It's giving "new node, who dis" energy πŸ’–

If that bdd node already exists, addbddnode returns its pointer instead. No duplicate drama, no cap.

If a null pointer is given, the default bdd system is used. Slay, defaults. 🫢

πŸ”₯ RETURN VALUE πŸ”₯

addbddnode returns a pointer to the resulting bdd node, with its number of external reference incremented. That's the whole return-value vibe. πŸ‘‘

πŸ’€ ERRORS πŸ’€

  • "index xxx out of range" β€” the Index parameter must be a valid index. fr fr, it has to be valid.

🌸 EXAMPLE 🌸

Here's the example in all its exact, character-for-character glory, bestie:

#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 );
   /* displays (not i0) */
   viewablexpr( Expr, ABL_VIEW_VHDL );
   freeablexpr( Expr );
   destroybddsystem( (bddsystem βˆ—)0 );
   destroybddcircuit( (bddcircuit βˆ—)0 );

πŸ‘‘ SEE ALSO πŸ‘‘

  • bdd(1) β€” the only see-also on this page, and it's serving.

πŸ› BUG REPORT πŸ›

This tool is under development at the ASIM department of the LIP6 laboratory.

We need your feedback to improve documentation and tools. 🫢


xoxo, footer vibes: ASIM/LIP6 Β· October 1, 1997 Β· ADDBDDNODE(3) β€” that's the sign-off, bestie πŸ’…

πŸ“¦ where this page comes from