CONVERTBDDCIRCUITSUMABL(3)

πŸ“¦ version 5.1.1, in fedora 43, fedora 44

✨ CONVERTBDDCIRCUITSUMABL ✨

okay bestie, welcome to the convertbddcircuitsumabl page from section 3 of the manual (BDD FUNCTIONS, iykyk) πŸ’… we're about to turn a bdd node into an abl expression and honestly? it's giving iconic.


🌸 NAME 🌸

convertbddcircuitsumabl β€” converts a bdd node to an abl expression.

no cap, that's the whole job. one node in, one expression out. πŸ¦‹


πŸŽ€ 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. πŸ‡«πŸ‡·βœ¨

like, they literally built a whole CAD system and it lives in Paris. main character energy fr fr. πŸ‘‘


🫢 SYNOPSIS 🫢

#include "bdd101.h"
chain_list βˆ—convertbddcircuitsumabl( BddCircuit, BddNode )
  bddcircuit βˆ—BddCircuit;
  bddnode    βˆ—BddNode;

πŸ’– PARAMETERS πŸ’–

  • BddCircuit β€” The bdd circuit. that's the one doing the translating, bestie.
  • BddNode β€” The bdd node to convert. the lil guy getting transformed. 🧚

🌈 DESCRIPTION 🌈

convertbddcircuitsumabl converts the bdd node to a non optimal abl expression.

bestie. hear me. non optimal. it's not gonna be the prettiest expression you've ever seen, and that's just the vibe, okay? it works, it's valid, it's just not doing the most.

The BddCircuit is used to translate the variable nodes into atomic expressions. so like, the circuit is your translator bestie β€” it takes those variable nodes and turns them into atomic expressions. 🌸

If a null pointer is given, the default bdd circuit is used. easy. no stress. πŸ’…


⭐ RETURN VALUE ⭐

convertbddcircuitsumabl returns a pointer to the abl expression translated. that's it, that's the tea. a pointer, pointing at your brand new (non optimal, but still slay) expression. 🫢


πŸ”₯ EXAMPLE πŸ”₯

#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 = addbddcircuitsumabl( BddCircuit, Expr );
   freeablexpr( Expr );
   Expr = convertbddcircuitsumabl( BddCircuit, BddNode );
   /* displays (i0 and i1) */
   viewablexpr( Expr, ABL_VIEW_VHDL );
   freeablexpr( Expr );
   destroybddsystem( (bddsystem βˆ—)0 );
   destroybddcircuit( (bddcircuit βˆ—)0 );

look at that. you make a system, you make a circuit called "hello_world" (iconic name ngl), you build (i0 and i1), you shove it in, and then convertbddcircuitsumabl hands it right back to you. and yes, the comment literally says it displays (i0 and i1). periodt. πŸ’–


πŸ‘‘ SEE ALSO πŸ‘‘

go read those too, bestie, they're the whole friend group. πŸ¦‹


πŸ’€ BUG REPORT πŸ’€

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

We need your feedback to improve documentation and tools.

not me asking you to actually send feedback 😭 they literally said they need it. if something's broken or the docs are confusing, tell them. it's a whole group project and you're part of the group now. 🫢

and that's the page!! written by the lovely people at ASIM/LIP6, dated October 1, 1997 β€” yeah it's vintage, it's retro, it's heritage, and it still slays. bye bestie, go convert some bdd nodes πŸ’…βœ¨πŸŽ€