ADDBDDNODEASSOC(3)

๐Ÿ“ฆ version 5.1.1-unstable-2025-02, in nixos 26.05, nixpkgs unstable

๐Ÿ’… ADDBDDNODEASSOC(3) โ€” addbddnodeassoc

okay so bestie, this page is part of BDD FUNCTIONS (manual section 3), and it's literally about adding a BDD node into a variable association. slay. ๐ŸŽ€


โœจ NAME โœจ

addbddnodeassoc โ€” adds a bdd node in a variable association. ๐Ÿฆ‹

๐ŸŒ 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.

๐Ÿ“œ SYNOPSIS ๐Ÿ“œ

       #include "bdd101.h"
       bddassoc โˆ—addbddnodeassoc( BddSystem, BddAssoc, Variable, BddNode )
         bddsystem  โˆ—BddSystem;
         bddassoc   โˆ—BddAssoc;
         bddvar      Variable;
         bddnode    โˆ—BddNode;

๐Ÿงธ PARAMETERS ๐Ÿงธ

  • BddSystem โ€” the bdd system.
  • BddAssoc โ€” the variable association.
  • Variable โ€” the variable number.
  • BddNode โ€” the bdd node to add.

๐Ÿ’– DESCRIPTION ๐Ÿ’–

addbddnodeassoc adds the bdd node BddNode, associated to the variable number Variable, in the variable association BddAssoc, in the bdd system BddSystem.

If a null pointer is given, the default bdd system is used.

The number of external reference of BddNode is incremented. ๐Ÿ’…

๐Ÿซถ RETURN VALUE ๐Ÿซถ

addbddnodeassoc returns a pointer to the variable association.

๐Ÿ˜ญ ERRORS ๐Ÿ˜ญ

  • "variable xxx out of range, error !" โ€” the Variable parameter must be less or equal to the BddSystem->NUMBER_VAR field.
bestie, that's the error to watch for: if the variable is out of range, it's giving error-message energy. ๐Ÿ™ˆ

๐ŸŒˆ EXAMPLE ๐ŸŒˆ

       #include "bdd101.h"
          bddsystem  โˆ—BddSystem;
          bddcircuit โˆ—BddCircuit;
          bddnode    โˆ—BddNode;
          bddnode    โˆ—BddSubst;
          bddnode    โˆ—BddVariable;
          bddassoc   โˆ—Assoc;
          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 );
          Expr = createablbinexpr( ABL_OR,
                                   createablatom( "i2" ),
                                   createablatom( "i3" ) );
          BddSubst = addbddcircuitabl( BddCircuit, Expr );
          freeablexpr( Expr );
          BddVariable = searchbddcircuitin( (bddcircuit โˆ—)0, "i0" );
          Variable = getbddvarbyindex( (bddsystem โˆ—)0, BddVariable->INDEX );
          Assoc = addbddassoc( (bddsystem โˆ—)0 );
          addbddnodeassoc( (bddsystem โˆ—)0, Assoc, Variable, BddSubst );
          BddNode = substbddnodeassoc( (bddsystem โˆ—)0, BddSubst, Assoc );
          Expr = convertbddcircuitabl( BddCircuit, BddNode );
          /* displays ((i3 or i2) and i1) */
          viewablexpr( Expr, ABL_VIEW_VHDL );
          freeablexpr( Expr );
          destroybddassoc( (bddsystem โˆ—)0 );
          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. ๐Ÿซถ


xoxo, bestie โ€” this page came from ASIM/LIP6, dated October 1, 1997, and its manual name is ADDBDDNODEASSOC(3). slay. ๐Ÿ’–โœจ

๐Ÿ“ฆ where this page comes from