IMPLYBDDNODE(3)

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

okay bestie, welcome to IMPLYBDDNODE(3) from the BDD FUNCTIONS manual πŸ’…βœ¨ this page is about computing a bdd that implies a conjunction of two bdd nodes, and we're gonna get into every little detail together 🫢

πŸŽ€ NAME πŸŽ€

implybddnode β€” computes a bdd that implies a conjonction of two bdd nodes. (that's the page's spelling, bestie β€” French moment πŸ’…)

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

Web: http://asim.lip6.fr/recherche/alliance/

E-mail: alliance-users@asim.lip6.fr

✨ SYNOPSIS ✨

#include "bdd101.h"
bddnode βˆ—implybddnode( BddSystem, BddNode1, BddNode2 )
  bddsystem βˆ—BddSystem;
  bddnode   βˆ—BddNode1;
  bddnode   βˆ—BddNode2;

🧚 PARAMETERS 🧚

  • BddSystem β€” the bdd system 😌
  • BddNode1 β€” the first bdd node πŸ’–
  • BddNode2 β€” the second bdd node πŸ¦‹

πŸ’« DESCRIPTION πŸ’«

implybddnode tests if the intersection of BddNode1 and not BddNode2 exists, in the bdd system BddSystem. If a null pointer is given, the default bdd system is used 🌸

That's the whole vibe check: intersection existence, no cap ✨

πŸ‘‘ RETURN VALUE πŸ‘‘

implybddnode returns the bdd node zero if there is no intersection, and a computed bdd node otherwise πŸ’€ so: no intersection β†’ node zero; otherwise β†’ computed bdd node πŸ‘‘

πŸ“ EXAMPLE πŸ“

here's the example exactly as the page serves it, hello_world and all 🫢

#include "bdd101.h"
   bddsystem  βˆ—BddSystem;
   bddcircuit βˆ—BddCircuit;
   bddnode    βˆ—BddNode1;
   bddnode    βˆ—BddNode2;
   bddnode    βˆ—BddImply;
   chain_list βˆ—Expr;
   BddSystem  = createbddsystem( 100, 1000, 100, 50000 );
   BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
   Expr = createablbinexpr( ABL_OR,
                            createablatom( "i0" ),
                            createablatom( "i1" ) );
   BddNode1 = addbddcircuitabl( BddCircuit, Expr );
   freeablexpr( Expr );
   Expr = createablbinexpr( ABL_AND,
                            createablatom( "i0" ),
                            createablatom( "i1" ) );
   BddNode1 = addbddcircuitabl( BddCircuit, Expr );
   freeablexpr( Expr );
   BddImply = implybddnode( (bddsystem βˆ—)0, BddNode1, BddNode2 );
   Expr = convertbddcircuitabl( BddCircuit, BddNode );
   /* displays (i0 and (not i1)) */
   viewablexpr( Expr, ABL_VIEW_VHDL );
   freeablexpr( Expr );
   destroybddsystem( (bddsystem βˆ—)0 );
   destroybddcircuit( (bddcircuit βˆ—)0 );

πŸ¦‹ SEE ALSO πŸ¦‹

bdd(1) β€” go look at that one too, iykyk πŸ’œ

πŸ’€ BUG REPORT πŸ’€

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

We need your feedback to improve documentation and tools 🫢 yes, you, bestie β€” feedback is the moment πŸ’–


that's the whole page ✨ source/version: ASIM/LIP6; date: October 1, 1997; manual: IMPLYBDDNODE(3) πŸ’– bye bestie!

πŸ“¦ where this page comes from