addbddnode(3)

addbddnode3

Adds a new bdd node in the bdd system.

Synopsys

#include "bdd101.h"
bddnode ∗addbddnode( BddSystem, Index, High, Low  )
  bddsystem ∗BddSystem;
  bddindex   Index;
  bddnode   ∗High;
  bddnode   ∗Low;

Parameters

BddSystem

The bdd system.

Index

The bdd index.

High

The bdd high pointer.

Low

The bdd low pointer.

Overview

addbddnode adds a new node with the index Index, High as HIGH pointer, and Low as LOW pointer in the bdd system BddSystem. If the bdd node exist already addbddnode return its pointer. If a null pointer is given, the default bdd system is used.

Return value

addbddnode returns a pointer to the resulting bdd node with its number of external reference incremented.

Errors

"index xxx out of range"

The Index parameter must be a valid index.

Examples

#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 );
   BddNode = addbddcircuitin( (bddcircuit ∗)0, "i0", 0, BDD_IN_MODE_FIRST );
   BddNode = addbddnode( (bddsystem ∗)0, BddNode->INDEX, BddNode->LOW, BddNode->HIGH );
   Expr = convertbddcircuitabl( (bddcircuit ∗)0, BddNode );
   /* displays (not i0) */
   viewablexpr( Expr, ABL_VIEW_VHDL );
   freeablexpr( Expr );
   destroybddsystem( (bddsystem ∗)0 );
   destroybddcircuit( (bddcircuit ∗)0 );

Releases

4 releases since Debian 7 (Wheezy); the text changed 1 time.

  1. 7–8
  2. 9–10

From alliance 5.1.1-3 in Debian 10 (Buster). Parsed by carta from the page's man source.