LocARNA-1.8.11
|
#include <infty_int.hh>
Public Member Functions | |
InftyInt () | |
Construct empty. | |
InftyInt (const base_type &x) | |
Construct from base type. More... | |
InftyInt (const FiniteInt &x) | |
Construct from finite int. More... | |
InftyInt (const TaintedInftyInt &x) | |
Construct from potentially tainted. More... | |
InftyInt & | operator= (TaintedInftyInt &x) |
Assignment from potentially tainted infty int. More... | |
InftyInt & | operator+= (const FiniteInt &x) |
InftyInt & | operator-= (const FiniteInt &x) |
Public Member Functions inherited from LocARNA::TaintedInftyInt | |
TaintedInftyInt () | |
Construct empty. | |
TaintedInftyInt (const base_type &x) | |
Construct from base type. More... | |
bool | is_neg_infty () const |
bool | is_pos_infty () const |
bool | is_finite () const |
bool | is_normal () const |
base_type | finite_value () const |
Convert finite value to base type. More... | |
TaintedInftyInt & | operator= (const FiniteInt &x) |
Assignment. More... | |
Static Public Attributes | |
static const InftyInt | neg_infty |
normalized negative infinity More... | |
static const InftyInt | pos_infty |
normalized positive infinity More... | |
Friends | |
InftyInt | operator+ (const InftyInt &x, const FiniteInt &y) |
InftyInt | operator- (const InftyInt &x, const FiniteInt &y) |
Additional Inherited Members | |
Public Types inherited from LocARNA::TaintedInftyInt | |
typedef long int | base_type |
the base type | |
Static Public Member Functions inherited from LocARNA::TaintedInftyInt | |
static base_type | min_finite () |
minimum finite value More... | |
static base_type | max_finite () |
maximum finite value More... | |
Protected Attributes inherited from LocARNA::TaintedInftyInt | |
base_type | val |
value | |
Static Protected Attributes inherited from LocARNA::TaintedInftyInt | |
static const base_type | min_finity = std::numeric_limits<TaintedInftyInt::base_type>::min()/5 |
minimum finite value | |
static const base_type | max_finity = -(std::numeric_limits<TaintedInftyInt::base_type>::min()/5)-1 |
maximum finite value | |
static const base_type | min_normal_neg_infty = std::numeric_limits<TaintedInftyInt::base_type>::min()/5 * 3 |
minimum normal infinite value | |
static const base_type | max_normal_pos_infty = -(std::numeric_limits<TaintedInftyInt::base_type>::min()/5 * 3) -1 |
maximum normal infinite value | |
Potentially infinite value where finite values are integer. The representation of infinite values is normalized. Due to the normalization it is safe to add or subtract a second normal potentially infinite integer (thereby generating an non-normalized potentially infinite integer).
|
inlineexplicit |
Construct from base type.
x | value of base type |
|
inlineexplicit |
Construct from finite int.
x | value |
|
inline |
Construct from potentially tainted.
x | value |
Add in place
x | operand |
Subtract in place
x | operand |
|
inline |
Assignment from potentially tainted infty int.
x | value |
Add
x | operand 1 |
y | operand 2 |
Subtract
x | operand 1 |
y | operand 2 |
|
static |
normalized negative infinity
|
static |
normalized positive infinity