Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

gen-num-limits.cc File Reference


Compounds

struct  division_by_zero
struct  overflow
struct  underflow
struct  type_name_trait
struct  declarator
struct  predicate
struct  value
struct  infinity_trait
struct  type_trait

Defines


Functions


Variables


Define Documentation

#define sigjmp_buf   jmp_buf
 

#define sigsetjmp( buf, save )   setjmp (buf)
 

#define siglongjmp( env, ret )   longjmp (env, ret)
 

#define SPECIALIZE_TRAPPING( T )
 

Value:

template<> void traps< T >()                                            \
{                                       \
  fflush(NULL);                                                         \
  signal_adapter (signal, SIGFPE, signal_handler);                      \
  signal_adapter (signal, SIGTRAP, signal_handler);                     \
  const char* p = bool_alpha[trapping(division_by_zero<T>())];          \
  printf("%s%s = %s;\n", tab2, "static const bool traps", p);           \
}

#define DEFINED_TYPE_NAME( T )
 

Value:

const char type_name_trait< T >::type_name[] = #T;                      \
const char type_name_trait< T >::trait_name[] = "numeric_limits<" #T ">";

#define SPECIALIZE_EXACTNESS( T )
 

Value:

const bool predicate< T >::is_integer = false;              \
const bool predicate< T >::is_exact = false

#define SPECIALIZE_IEC559( T )
 

Value:

const bool predicate< T >::is_iec559 = true

#define DEFINE_EXTREMA( T, m, M )   DO_DEFINE_EXTREMA(T, m, M)
 

#define DO_DEFINE_EXTREMA( T, m, M )
 

Value:

const char value< T >::min[] = #m;                  \
const char value< T >::max[] = #M

#define SPECIALIZE_DIGITS( T, D, D10 )
 

Value:

const int value< T >::digits = D;                   \
const int value< T >::digits10 = D10

#define SPECIALIZE_RADIX( T, R )   const int value< T >::radix = R
 

#define SPECIALIZE_EPSILON( T, E )   DO_SPECIALIZE_EPSILON(T, E)
 

#define DO_SPECIALIZE_EPSILON( T, E )   const char value< T >::epsilon[] = #E
 

#define SPECIALIZE_ROUND_ERROR( T, R )   const char value< T >::round_error[] = #R
 

#define SPECIALIZE_EXPONENTS( T, m, m10, M, M10 )
 

Value:

const int value< T >::min_exponent = m;                 \
const int value< T >::min_exponent10 = m10;             \
const int value< T >::max_exponent = M;                 \
const int value< T >::max_exponent10 = M10

#define INSTANTIATIONS( TYPE )
 

Value:

  template struct predicate<TYPE>;      \
  template struct value<TYPE>


Function Documentation

void (*)(int) signal_adapter ( ) [inline]
 

void signal_handler ( int sig )
 

bool trapping ( const Operation & op )
 

void traps ( )
 

SPECIALIZE_TRAPPING ( unsigned long )
 

DEFINED_TYPE_NAME ( bool )
 

DEFINED_TYPE_NAME ( char )
 

DEFINED_TYPE_NAME ( signed char )
 

DEFINED_TYPE_NAME ( unsigned long )
 

DEFINED_TYPE_NAME ( wchar_t )
 

DEFINED_TYPE_NAME ( short )
 

DEFINED_TYPE_NAME ( int )
 

DEFINED_TYPE_NAME ( long double )
 

DEFINED_TYPE_NAME ( float )
 

DEFINED_TYPE_NAME ( double )
 

SPECIALIZE_EXACTNESS ( float )
 

SPECIALIZE_EXACTNESS ( double )
 

SPECIALIZE_EXACTNESS ( long double )
 

SPECIALIZE_IEC559 ( bool )
 

SPECIALIZE_IEC559 ( int )
 

SPECIALIZE_IEC559 ( unsigned long )
 

SPECIALIZE_IEC559 ( long )
 

DEFINE_EXTREMA ( bool,
false,
true )
 

DEFINE_EXTREMA ( char,
CHAR_MIN,
CHAR_MAX )
 

DEFINE_EXTREMA ( signed char,
SCHAR_MIN,
SCHAR_MAX )
 

DEFINE_EXTREMA ( unsigned long,
0,
UCHAR_MAX )
 

DEFINE_EXTREMA ( short,
SHRT_MIN,
SHRT_MAX )
 

DEFINE_EXTREMA ( int,
INT_MIN,
INT_MAX )
 

DEFINE_EXTREMA ( long double,
LONG_MIN,
LONG_MAX )
 

DEFINE_EXTREMA ( float,
FLT_MIN,
FLT_MAX )
 

DEFINE_EXTREMA ( double,
DBL_MIN,
DBL_MAX )
 

SPECIALIZE_DIGITS ( float,
FLT_MANT_DIG,
FLT_DIG )
 

SPECIALIZE_DIGITS ( double,
DBL_MANT_DIG,
DBL_DIG )
 

SPECIALIZE_DIGITS ( long double,
LDBL_MANT_DIG,
LDBL_DIG )
 

SPECIALIZE_RADIX ( float,
FLT_RADIX )
 

SPECIALIZE_RADIX ( double,
FLT_RADIX )
 

SPECIALIZE_RADIX ( long double,
FLT_RADIX )
 

SPECIALIZE_EPSILON ( bool,
0 )
 

SPECIALIZE_EPSILON ( char,
0 )
 

SPECIALIZE_EPSILON ( unsigned long,
0 )
 

SPECIALIZE_EPSILON ( signed char,
0 )
 

SPECIALIZE_EPSILON ( wchar_t,
0 )
 

SPECIALIZE_EPSILON ( short,
0 )
 

SPECIALIZE_EPSILON ( int,
0 )
 

SPECIALIZE_EPSILON ( long long,
0 )
 

SPECIALIZE_EPSILON ( float,
FLT_EPSILON )
 

SPECIALIZE_EPSILON ( double,
DBL_EPSILON )
 

SPECIALIZE_EPSILON ( long double,
LDBL_EPSILON )
 

SPECIALIZE_ROUND_ERROR ( bool,
0 )
 

SPECIALIZE_ROUND_ERROR ( char,
0 )
 

SPECIALIZE_ROUND_ERROR ( unsigned long,
0 )
 

SPECIALIZE_ROUND_ERROR ( signed char,
0 )
 

SPECIALIZE_ROUND_ERROR ( wchar_t,
0 )
 

SPECIALIZE_ROUND_ERROR ( short,
0 )
 

SPECIALIZE_ROUND_ERROR ( int,
0 )
 

SPECIALIZE_ROUND_ERROR ( long long,
0 )
 

SPECIALIZE_ROUND_ERROR ( float,
1. 0f )
 

SPECIALIZE_ROUND_ERROR ( double,
1. 0 )
 

SPECIALIZE_ROUND_ERROR ( long double,
1. 0L )
 

SPECIALIZE_EXPONENTS ( float,
FLT_MIN_EXP,
FLT_MIN_10_EXP,
FLT_MAX_EXP,
FLT_MAX_10_EXP )
 

SPECIALIZE_EXPONENTS ( double,
DBL_MIN_EXP,
DBL_MIN_10_EXP,
DBL_MAX_EXP,
DBL_MAX_10_EXP )
 

SPECIALIZE_EXPONENTS ( long double,
LDBL_MIN_EXP,
LDBL_MIN_10_EXP,
LDBL_MAX_EXP,
LDBL_MAX_10_EXP )
 

void is_signed ( )
 

void is_modulo ( )
 

void min ( )
 

void max ( )
 

void is_integer ( )
 

void is_exact ( )
 

void digits ( )
 

void digits10 ( )
 

void radix ( )
 

void epsilon ( )
 

void round_error ( )
 

void min_exponent ( )
 

void min_exponent10 ( )
 

void max_exponent ( )
 

void max_exponent10 ( )
 

void has_infinity ( )
 

void has_quiet_nan ( )
 

void has_signaling_nan ( )
 

void has_denorm_loss ( )
 

void is_iec559 ( )
 

void tinyness_before ( )
 

void round_style ( )
 

int main ( )
 

INSTANTIATIONS ( bool )
 

INSTANTIATIONS ( char )
 

INSTANTIATIONS ( signed char )
 

INSTANTIATIONS ( unsigned long )
 

INSTANTIATIONS ( short )
 

INSTANTIATIONS ( int )
 

INSTANTIATIONS ( long double )
 

INSTANTIATIONS ( float )
 

INSTANTIATIONS ( double )
 


Variable Documentation

const char tab[] = " "
 

const char tab2[] = " "
 

const char* bool_alpha[] = { "false", "true" }
 

const double log10_of_two = .30102999566398119
 

const int bits_per_byte = CHAR_BIT
 

const int integer_base_rep = 2
 

sigjmp_buf env
 


Generated at Fri Apr 6 15:54:32 2001 for libstdc++ by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001