COFACTORBDDNODE(3)

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

✨ NAME ✨

cofactorbddnode β€” computes the generalized cofactor. πŸ¦‹ okay so bestie, this page is COFACTORBDDNODE(3) from the BDD FUNCTIONS manual, and yes, the whole main-character job is computing the generalized cofactor. periodt. πŸ’…

🌍 ORIGIN 🌍

okay so 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. iconic. πŸ—Ό

✨ SYNOPSIS ✨

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

πŸŽ€ PARAMETERS πŸŽ€

  • BddSystem β€” the bdd system. literally the system it lives in. πŸ’»
  • BddNode1 β€” the first bdd node. first up. πŸ₯‡
  • BddNode2 β€” the second bdd node. second up. πŸ₯ˆ

πŸ’« DESCRIPTION πŸ’«

cofactorbddnode computes the generalized cofactor of BddNode1 by BddNode2, in the bdd system BddSystem. if a null pointer is given, the default bdd system is used. no cap. 🫢

🌈 RETURN VALUE 🌈

cofactorbddnode returns the resulting bdd node. that's it. that's the tea. πŸ“

πŸ’€ ERRORS πŸ’€

  • "index xxx out of range" β€” the BddNode2 parameter must be different to the zero bdd node. so do not hand it the zero bdd node, bestie; that's the error vibe. πŸ™ˆ

🧚 EXAMPLE 🧚

here's the full example, with the code kept exactly as it needs to be:

#include "bdd101.h"
   bddsystem  βˆ—BddSystem;
   bddcircuit βˆ—BddCircuit;
   bddnode    βˆ—BddNode1;
   bddnode    βˆ—BddNode2;
   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" ) );
   BddNode1 = addbddcircuitabl( BddCircuit, Expr );
   freeablexpr( Expr );
   Expr = createablbinexpr( ABL_AND,
                            createablatom( "i0" ),
                            createablatom( "i1" ) );
   BddNode2 = addbddcircuitabl( BddCircuit, Expr );
   freeablexpr( Expr );
   BddNode = cofactorbddnode( (bddsystem βˆ—)0, BddNode1, BddNode2 );
   Expr = convertbddcircuitabl( BddCircuit, BddNode );
   /* displays '1' */
   viewablexpr( Expr, ABL_VIEW_VHDL );
   freeablexpr( Expr );
   destroybddsystem( (bddsystem βˆ—)0 );
   destroybddcircuit( (bddcircuit βˆ—)0 );

πŸ‘€ SEE ALSO πŸ‘€

πŸ› BUG REPORT πŸ›

this tool is under development at the ASIM department of the LIP6 laboratory. we need your feedback to improve documentation and tools. bestie, please send the feedback β€” the docs and tools need the glow-up. πŸ’–


~ ASIM/LIP6 Β· October 1, 1997 Β· COFACTORBDDNODE(3) ~ πŸ’…βœ¨

πŸ“¦ where this page comes from