PPL  1.2
Parma_Polyhedra_Library::Checked_Number_Transparent_Policy< T > Struct Template Reference

#include <checked_defs.hh>

Public Member Functions

 const_bool_nodef (check_overflow, false)
 Do not check for overflowed result. More...
 
 const_bool_nodef (check_inf_add_inf, false)
 Do not check for attempts to add infinities with different sign. More...
 
 const_bool_nodef (check_inf_sub_inf, false)
 Do not check for attempts to subtract infinities with same sign. More...
 
 const_bool_nodef (check_inf_mul_zero, false)
 Do not check for attempts to multiply infinities by zero. More...
 
 const_bool_nodef (check_div_zero, false)
 Do not check for attempts to divide by zero. More...
 
 const_bool_nodef (check_inf_div_inf, false)
 Do not check for attempts to divide infinities. More...
 
 const_bool_nodef (check_inf_mod, false)
 Do not check for attempts to compute remainder of infinities. More...
 
 const_bool_nodef (check_sqrt_neg, false)
 Do not check for attempts to take the square root of a negative number. More...
 
 const_bool_nodef (has_nan, std::numeric_limits< T >::has_quiet_NaN)
 Handle not-a-number special value if T has it. More...
 
 const_bool_nodef (has_infinity, std::numeric_limits< T >::has_infinity)
 Handle infinity special values if T have them. More...
 
 const_bool_nodef (convertible, true)
 The checked number can always be safely converted to the underlying type T and vice-versa. More...
 
 const_bool_nodef (fpu_check_inexact, false)
 Do not honor requests to check for FPU inexact results. More...
 
 const_bool_nodef (fpu_check_nan_result, false)
 Do not make extra checks to detect FPU NaN results. More...
 

Static Public Member Functions

static void handle_result (Result r)
 Handles r: called by all constructors, operators and functions that do not return a Result value. More...
 

Static Public Attributes

static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_NATIVE
 For constructors, by default use the same rounding used by underlying type. More...
 
static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_NATIVE
 For overloaded operators (operator+(), operator-(), ...), by default use the same rounding used by the underlying type. More...
 
static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_NATIVE
 For input functions, by default use the same rounding used by the underlying type. More...
 
static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_NATIVE
 For output functions, by default use the same rounding used by the underlying type. More...
 
static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_NATIVE
 For all other functions, by default use the same rounding used by the underlying type. More...
 

Detailed Description

template<typename T>
struct Parma_Polyhedra_Library::Checked_Number_Transparent_Policy< T >

Definition at line 616 of file checked_defs.hh.

Member Function Documentation

template<typename T >
Parma_Polyhedra_Library::Checked_Number_Transparent_Policy< T >::const_bool_nodef ( check_overflow  ,
false   
)

Do not check for overflowed result.

template<typename T >
Parma_Polyhedra_Library::Checked_Number_Transparent_Policy< T >::const_bool_nodef ( check_inf_add_inf  ,
false   
)

Do not check for attempts to add infinities with different sign.

template<typename T >
Parma_Polyhedra_Library::Checked_Number_Transparent_Policy< T >::const_bool_nodef ( check_inf_sub_inf  ,
false   
)

Do not check for attempts to subtract infinities with same sign.

template<typename T >
Parma_Polyhedra_Library::Checked_Number_Transparent_Policy< T >::const_bool_nodef ( check_inf_mul_zero  ,
false   
)

Do not check for attempts to multiply infinities by zero.

template<typename T >
Parma_Polyhedra_Library::Checked_Number_Transparent_Policy< T >::const_bool_nodef ( check_div_zero  ,
false   
)

Do not check for attempts to divide by zero.

template<typename T >
Parma_Polyhedra_Library::Checked_Number_Transparent_Policy< T >::const_bool_nodef ( check_inf_div_inf  ,
false   
)

Do not check for attempts to divide infinities.

template<typename T >
Parma_Polyhedra_Library::Checked_Number_Transparent_Policy< T >::const_bool_nodef ( check_inf_mod  ,
false   
)

Do not check for attempts to compute remainder of infinities.

template<typename T >
Parma_Polyhedra_Library::Checked_Number_Transparent_Policy< T >::const_bool_nodef ( check_sqrt_neg  ,
false   
)

Do not check for attempts to take the square root of a negative number.

template<typename T >
Parma_Polyhedra_Library::Checked_Number_Transparent_Policy< T >::const_bool_nodef ( has_nan  ,
std::numeric_limits< T >::has_quiet_NaN   
)

Handle not-a-number special value if T has it.

template<typename T >
Parma_Polyhedra_Library::Checked_Number_Transparent_Policy< T >::const_bool_nodef ( has_infinity  ,
std::numeric_limits< T >::has_infinity   
)

Handle infinity special values if T have them.

template<typename T >
Parma_Polyhedra_Library::Checked_Number_Transparent_Policy< T >::const_bool_nodef ( convertible  ,
true   
)

The checked number can always be safely converted to the underlying type T and vice-versa.

template<typename T >
Parma_Polyhedra_Library::Checked_Number_Transparent_Policy< T >::const_bool_nodef ( fpu_check_inexact  ,
false   
)

Do not honor requests to check for FPU inexact results.

template<typename T >
Parma_Polyhedra_Library::Checked_Number_Transparent_Policy< T >::const_bool_nodef ( fpu_check_nan_result  ,
false   
)

Do not make extra checks to detect FPU NaN results.

template<typename T >
void Parma_Polyhedra_Library::Checked_Number_Transparent_Policy< T >::handle_result ( Result  r)
inlinestatic

Handles r: called by all constructors, operators and functions that do not return a Result value.

Definition at line 61 of file Checked_Number_inlines.hh.

61  {
62 }

Member Data Documentation

template<typename T >
const Rounding_Dir Parma_Polyhedra_Library::Checked_Number_Transparent_Policy< T >::ROUND_DEFAULT_CONSTRUCTOR = ROUND_NATIVE
static

For constructors, by default use the same rounding used by underlying type.

Definition at line 663 of file checked_defs.hh.

template<typename T >
const Rounding_Dir Parma_Polyhedra_Library::Checked_Number_Transparent_Policy< T >::ROUND_DEFAULT_FUNCTION = ROUND_NATIVE
static

For all other functions, by default use the same rounding used by the underlying type.

Definition at line 687 of file checked_defs.hh.

template<typename T >
const Rounding_Dir Parma_Polyhedra_Library::Checked_Number_Transparent_Policy< T >::ROUND_DEFAULT_INPUT = ROUND_NATIVE
static

For input functions, by default use the same rounding used by the underlying type.

Definition at line 675 of file checked_defs.hh.

template<typename T >
const Rounding_Dir Parma_Polyhedra_Library::Checked_Number_Transparent_Policy< T >::ROUND_DEFAULT_OPERATOR = ROUND_NATIVE
static

For overloaded operators (operator+(), operator-(), ...), by default use the same rounding used by the underlying type.

Definition at line 669 of file checked_defs.hh.

template<typename T >
const Rounding_Dir Parma_Polyhedra_Library::Checked_Number_Transparent_Policy< T >::ROUND_DEFAULT_OUTPUT = ROUND_NATIVE
static

For output functions, by default use the same rounding used by the underlying type.

Definition at line 681 of file checked_defs.hh.


The documentation for this struct was generated from the following files: