ISBDDVARINSUPPORT(3)

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

πŸ’– ISBDDVARINSUPPORT(3) πŸ’–

okay so bestie, welcome to isbddvarinsupport from the BDD FUNCTIONS crew β€” this is the manual page for it and we're gonna read it together like it's a group chat, except every single fact is staying exactly where it is. no cap. 🫢


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

like, the whole thing was born in Paris. it's giving chic. it's giving academia. πŸ’…


✨ SYNOPSIS ✨

#include "bdd101.h"
int isbddvarinsupport( BddSystem, BddNode, Variable )
  bddsystem βˆ—BddSystem;
  bddnode   βˆ—BddNode;
  bddvar     Variable;

three args, one int back, that's the whole vibe. πŸŽ€


πŸ¦‹ PARAMETERS πŸ¦‹

  • BddSystem β€” the bdd system. the whole lil universe we're working in.
  • BddNode β€” the bdd node. the main character of this operation.
  • Variable β€” the variable number. the one we're asking about.

πŸ’œ DESCRIPTION πŸ’œ

okay so here's the tea: isbddvarinsupport tests if the variable number Variable appears in the support of the bdd node BddNode, inside the bdd system BddSystem. πŸ”

and here's the cute part β€” if a null pointer is given, the default bdd system is used. so like, you don't have to name a system. she's flexible. she's low maintenance. 🧚


πŸ‘‘ RETURN VALUE πŸ‘‘

isbddvarinsupport returns 1 if Variable appears, and 0 otherwise. binary. iconic. no in-between. ✨


πŸ’€ ERRORS πŸ’€

"variable xxx out of range, error !" The Variable parameter must be less or equal to the BddSystem->NUMBER_VAR field.

so like, don't come in here with a variable number that's too big, bestie, she WILL call you out. 😭


🌈 EXAMPLE 🌈

#include "bdd101.h"
   bddsystem  βˆ—BddSystem;
   bddcircuit βˆ—BddCircuit;
   bddnode    βˆ—BddNode;
   bddnode    βˆ—BddVariable;
   chain_list βˆ—Expr;
   bddvar         Variable;
   BddSystem  = createbddsystem( 100, 1000, 100, 50000 );
   BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
   Expr = createablbinexpr( ABL_AND,
                            createablatom( "i0" ),
                            createablatom( "i1" ) );
   BddNode = addbddcircuitabl( BddCircuit, Expr );
   freeablexpr( Expr );
   BddVariable = searchbddcircuitin( (bddcircuit βˆ—)0, "i0" );
   Variable = getbddvarbyindex( (bddsystem βˆ— 0), BddVariable->INDEX ) );
   /* displays 1 */
   printf( "%d", isbddvarinsupport( (bddsystem βˆ—)0, BddNode, Variable ) );
   destroybddsystem( (bddsystem βˆ—)0 );
   destroybddcircuit( (bddcircuit βˆ—)0 );

and yeah β€” that printf displays 1. we love a predictable ending. πŸ”₯


πŸŽ€ 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, fr fr, they're asking. send the feedback. it's giving community. 🫢


and that's a wrap on ISBDDVARINSUPPORT(3), brought to you by ASIM/LIP6 β€” this version is dated October 1, 1997 ⭐ so she's an elder but she's still serving. slay, bestie, go test those variables. πŸ’…πŸŒΈ