SIMPBDDNODEDCOFF(3)

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

πŸ’… SIMPBDDNODEDCOFF(3) β€” the bdd functions era, bestie

okay so this is a bdd functions man page, and no, I'm not gonna make you read the boring version. sit down, hydrate, and let's get into it 🫢


✨ NAME ✨

simpbddnodedcoff β€” literally simplifies a bdd with don't cares sitting on its off-set part. that's the whole gig. no cap.


🌸 ORIGIN 🌸

bestie this software has main character energy from way back β€” it belongs to the ALLIANCE CAD SYSTEM, developed by the ASIM team at the LIP6 laboratory of UniversitΓ© Pierre et Marie CURIE, in Paris, France πŸ‡«πŸ‡·βœ¨

like, the lore is real. respect the ancestors πŸ’œ


πŸŽ€ SYNOPSIS πŸŽ€

#include "bdd101.h"
bddnode βˆ—simpbddnodedcoff( BddSystem, BddOff, BddDc )
  bddsystem βˆ—BddSystem;
  bddnode   βˆ—BddOff;
  bddnode   βˆ—BddDc;

yes the βˆ— is doing its own thing, that's just how they wrote it back in the day, don't come for her πŸ’…


πŸ¦‹ PARAMETERS πŸ¦‹

  • BddSystem β€” the bdd system. the whole vibe container, if you will πŸ«™
  • BddOff β€” the first bdd node. the one getting simplified.
  • BddDc β€” the second bdd node. the don't-care icon doing the simplifying.

πŸ”₯ DESCRIPTION πŸ”₯

simpbddnodedcoff simplifies the bdd node BddOff with BddDc, inside the bdd system BddSystem. it's giving "glow-up, but make it boolean" ✨

if you hand it a null pointer, it just uses the default bdd system β€” lowkey convenient, honestly.

⚠️ important, fr fr: the bdd node BddDc must be included imperatively in the off-set part of the bdd node BddOff. like, that's not a suggestion, that's the assignment. do not test her.

πŸ’– RETURN VALUE πŸ’–

simpbddnodedcoff returns the simplified bdd node. slay. that's it. that's the return value πŸ‘‘


🌈 EXAMPLE 🌈

here's the whole flex, verbatim, because I would never do you dirty by paraphrasing code:

#include "bdd101.h"
   bddsystem  βˆ—BddSystem;
   bddcircuit βˆ—BddCircuit;
   bddnode    βˆ—BddOff;
   bddnode    βˆ—BddDc;
   bddnode    βˆ—BddNode;
   chain_list βˆ—Expr;
   BddSystem  = createbddsystem( 100, 1000, 100, 50000 );
   BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
   Expr = createablbinexpr( ABL_OR,
                            createablatom( "i0" ),
                            createablatom( "i1" ) );
   BddOff = addbddcircuitabl( BddCircuit, Expr );
   freeablexpr( Expr );
   Expr = createablbinexpr( ABL_NOR,
                            createablatom( "i0" ),
                            createablatom( "i1" ) );
   BddDc = addbddcircuitabl( BddCircuit, Expr );
   freeablexpr( Expr );
   BddNode = simpbddnodedcoff( (bddsystem βˆ—)0, BddOff, BddDc );
   Expr = convertbddcircuitabl( BddCircuit, BddNode );
   /* displays '1' */
   viewablexpr( Expr, ABL_VIEW_VHDL );
   freeablexpr( Expr );
   destroybddsystem( (bddsystem βˆ—)0 );
   destroybddcircuit( (bddcircuit βˆ—)0 );

okay and notice the comment in there β€” /* displays '1' */ β€” because after all that work she really does just print 1. iconic behavior honestly πŸŽ€


🧚 SEE ALSO 🧚

  • bdd(1) β€” go read it, bestie, iykyk πŸ“–

πŸ™ˆ BUG REPORT πŸ™ˆ

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

they need your feedback to improve documentation and tools. so like… if something's cursed, tell them. constructive vibes only, but tell them πŸ’€πŸ«Ά


and that's the page!! footer says ASIM/LIP6, dated October 1, 1997, and the page is SIMPBDDNODEDCOFF(3) β€” mwah, historical. go simplify something, bestie πŸ’œβœ¨

πŸ“¦ where this page comes from