applybddnodeite(3)

applybddnodeite3

Computes the if-then-else logical operation.

Synopsys

#include "bdd101.h"
bddnode ∗applybddnodeite( BddSystem, BddIf, BddThen, BddElse )
  bddnode   ∗BddSystem;
  bddnode   ∗BddIf;
  bddnode   ∗BddThen;
  bddnode   ∗BddElse;

Parameters

BddSystem

The bdd system.

BddIf

The IF bdd node.

BddThen

The THEN bdd node.

BddElse

The ELSE bdd node.

Overview

applybddnodeite computes the following logical function (BddIf AND BddThen) OR ((NOT BddIf) AND BddElse) in the bdd system BddSystem. If a null pointer is given, the default bdd system is used.

Return value

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

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 );
   addbddcircuitin( (bddcircuit ∗)0, "i0", 0, BDD_IN_MODE_FIRST );
   addbddcircuitin( (bddcircuit ∗)0, "i1", 0, BDD_IN_MODE_FIRST );
   addbddcircuitin( (bddcircuit ∗)0, "i2", 0, BDD_IN_MODE_FIRST );
   BddNode = applybddnodeite( (bddsystem ∗)0,
                              searchbddcircuitin( (bddcircuit ∗)0, "i0" ),
                              searchbddcircuitin( (bddcircuit ∗)0, "i1" ),
                              searchbddcircuitin( (bddcircuit ∗)0, "i2" ) );
   Expr = convertbddcircuitabl( (bddcircuit ∗)0, BddNode );
   /* displays ((i0 and i1) or ((not i0) and i2) */
   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.