CONVERTBDDINDEXABL(3)

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

πŸ’– convertbddindexabl β€” bestie edition πŸ’–

okay so real quick, this page is from the BDD FUNCTIONS manual section (section 3, the library-call girlies) and the whole thing is about convertbddindexabl πŸ’…


✨ NAME ✨

convertbddindexabl β€” converts a bdd index to an abl expression. that's it, that's the job, no cap πŸŽ€


🌸 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. iconic academic lineage fr fr πŸ‘‘


πŸ¦‹ SYNOPSIS πŸ¦‹

#include "bdd101.h"
chain_list *convertbddnodeabl( BddSystem, NameArray, IndexArray, BddNode )
  bddsystem βˆ—BddSystem;
  char     βˆ—βˆ—NameArray;
  bddindex  βˆ—IndexArray;
  bddindex      Index;
bestie i KNOW the function in the synopsis says convertbddnodeabl and not convertbddindexabl. that is genuinely what the page says, so that's what i'm giving you. copy-paste it exactly, don't be clever πŸ™ˆ

πŸŽ€ PARAMETERS πŸŽ€

  • BddSystem β€” the bdd system. literally just the system, she's the main character here ✨
  • NameArray β€” the array of names 🏷️
  • IndexArray β€” the array of indexes πŸ”’
  • Index β€” the bdd index you wanna convert πŸ’«

πŸ’œ DESCRIPTION πŸ’œ

convertbddindexabl converts the bdd index Index to an abl expression in the bdd system BddSystem. πŸͺ„

If a null pointer is given, the default bdd system is used. no system? no problem, she'll pick one for you πŸ’…

The NameArray, and IndexArray parameters are used to translate the variable nodes into atomic expressions. so they're the little translators in this whole operation 🧚

  • The array NameArray is list of names.
  • The array IndexArray does the correspondence between a bdd index and a slot in the NameArray.

If the IndexArray parameter is a null pointer, then the name of the bdd index BDD_INDEX_MIN is assumed to be the first slot of the NameArray, and so on. πŸ” so like, it just starts at the beginning and keeps going, vibe check passed βœ…


πŸ”₯ RETURN VALUE πŸ”₯

convertbddindexabl returns a pointer to the abl expression translated. she ate and left no crumbs 🍽️✨


🌈 EXAMPLE 🌈

#include "bdd101.h"
   bddsystem  βˆ—BddSystem;
   bddnode    βˆ—BddNode;
   chain_list βˆ—Expr;
   char       βˆ—NameArray[ 1 ];
   BddSystem = createbddsystem( 100, 1000, 100, 50000 );
   BddNode   = addbddvarlast( BddSystem );
   NameArray[ 0 ] = namealloc( "i0" );
   Expr = convertbddindexabl( BddSystem, NameArray, (bddindex βˆ—)0,  BddNode->INDEX );
   /* displays i0 */
   viewablexpr( Expr, ABL_VIEW_VHDL );
   freeablexpr( Expr );
   destroybddsystem( (bddsystem βˆ—)0 );

see how she makes the system, adds a var at the end, names it i0, converts the index, displays i0, frees the expr, destroys the system? that's the whole little lifecycle arc 😭 so satisfying


πŸ‘‘ 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. 🫢 like genuinely, they're asking, pls tell them what's broken bestie


and that's the page!! πŸŽ€ written by the ASIM/LIP6 girlies, dated October 1, 1997 (yes she's vintage, yes she's still serving), from the CONVERTBDDINDEXABL(3) page in section 3. mwah πŸ’–βœ¨