Global variables


Enumerations

enum  RobProb::JacobianType { RobProb::Exact, RobProb::Lookup, RobProb::Approx }
 Defines methods of correcting the Jacobian approximation. More...
enum  RobProb::MatrixType { RobProb::Horizontal, RobProb::Vertical }
 Defines methods of representing pvalue_frames and lvalue_frames as IT++ matrices. More...

Variables

JacobianType RobProb::jacobian_type
 Specifies the default method of correcting the Jacobian approximation.
MatrixType RobProb::matrix_type
 Specifies the default method of representing pvalue_frames and lvalue_frames as IT++ matrices.
double RobProb::infinity
 Specifies the default absolute value used to represent infinity when converting to and from the double data type.
long unsigned int RobProb::acs_count
 Increments with each add-compare-select (ACS) operation.

Enumeration Type Documentation

enum RobProb::JacobianType

Defines methods of correcting the Jacobian approximation.

Enumerator:
Exact  Correct the Jacobian approximation.

$A\&B = \max(A,B) + \log(1 + e^{-|A-B|})$, where $A\&B$ is the Jacobian operation applied to two lvalues, $A$ and $B$.

Lookup  Pseudo-correct the Jacobian approximation using an eight-entry lookup table.

$A\&B = \max(A,B) + \log(1 + e^{-|A-B|})$, where $A\&B$ is the Jacobian operation applied to two lvalues, $A$ and $B$ and the value of $\log(1 + e^{-|A-B|})$ is obtained by consulting the lookup table.
$|A-B|$$\log(1 + e^{-|A-B|})$
$0\to0.2$0.65
$0.2\to0.43$0.55
$0.43\to0.7$0.45
$0.7\to1.05$0.35
$1.05\to1.5$0.25
$1.5\to2.25$0.15
$2.25\to3.7$0.05
$>3.7$0

Approx  Do not correct the Jacobian approximation.

$A\&B = \max(A,B)$, where $A\&B$ is the Jacobian operation applied to two lvalues, $A$ and $B$.

enum RobProb::MatrixType

Defines methods of representing pvalue_frames and lvalue_frames as IT++ matrices.

Enumerator:
Horizontal  Each column in the matrix represents a different symbol in the frame, whilst the possible values of the symbols are represented in rows.
Vertical  Each row in the matrix represents a different symbol in the frame, whilst the possible values of the symbols are represented in columns.


Variable Documentation

JacobianType RobProb::jacobian_type

Specifies the default method of correcting the Jacobian approximation.

This is considered when applying the Jacobian operation to two lvalues. This is also considered when adding two pvalues, since this operation is actually performed by applying the Jacobian operation in the logarithmic-domain behind the scenes. By default the Jacobian approximation is corrected so that the expected operation of pvalue additions is maintained.

MatrixType RobProb::matrix_type

Specifies the default method of representing pvalue_frames and lvalue_frames as IT++ matrices.

By default a vertical representation is used so that out-of-the-box compatibility with Michael's symbol-level EXIT chart code is achieved.

double RobProb::infinity

Specifies the default absolute value used to represent infinity when converting to and from the double data type.

All values with a magnitude greater than this limit are clipped and assumed to be infinite. If a value of 0.0 is specified, no clipping is employed. In this case, an error is generated in the event of converting a value with an infinite magnitude to the double data type. This is the default case, since clipping could lead to unpredictable effects.

long unsigned int RobProb::acs_count

Increments with each add-compare-select (ACS) operation.

Each normal-domain multiplication and division and each logarithmic-domain addition and subtraction and each comparison counts as a single ACS operation. Each normal-domain addition and each logarithmic-domain jacobian operation counts as 1, 3-10 and 10 ACS operations for the approximate, lookup-based and exact jacobian, respectively. Each normal-domain subtraction counts as 10 ACS operations.


Generated on Mon Sep 1 14:41:39 2008 for RobProb by  doxygen 1.5.3