#include <bits/c++config.h>
#include <limits.h>
#include <float.h>
#include <stdio.h>
#include <signal.h>
#include <setjmp.h>
#include <math.h>
Include dependency graph for gen-num-limits.cc:
Go to the source code of this file.
Compounds | |
struct | declarator |
struct | division_by_zero |
struct | infinity_trait |
struct | overflow |
struct | predicate |
struct | type_name_trait |
struct | type_trait |
struct | underflow |
struct | value |
Defines | |
#define | sigjmp_buf jmp_buf |
#define | sigsetjmp(buf, save) setjmp (buf) |
#define | siglongjmp(env, ret) longjmp (env, ret) |
#define | SPECIALIZE_TRAPPING(T) |
#define | DEFINED_TYPE_NAME(T) |
#define | SPECIALIZE_EXACTNESS(T) |
#define | SPECIALIZE_IEC559(T) |
#define | DEFINE_EXTREMA(T, m, M) DO_DEFINE_EXTREMA(T, m, M) |
#define | DO_DEFINE_EXTREMA(T, m, M) |
#define | SPECIALIZE_DIGITS(T, D, 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) |
#define | INSTANTIATIONS(TYPE) |
Functions | |
void (*)(int) | signal_adapter (signal_handler_type(*signal_func)(signal_number_type, signal_handler_type), signal_number_type arg, void(*handler)(int)) |
void | signal_handler (int sig) |
bool | trapping (const Operation &op) |
void | traps () |
SPECIALIZE_TRAPPING (unsigned char) | |
DEFINED_TYPE_NAME (bool) | |
DEFINED_TYPE_NAME (char) | |
DEFINED_TYPE_NAME (signed char) | |
DEFINED_TYPE_NAME (unsigned char) | |
DEFINED_TYPE_NAME (wchar_t) | |
DEFINED_TYPE_NAME (short) | |
DEFINED_TYPE_NAME (int) | |
DEFINED_TYPE_NAME (long) | |
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 int) | |
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 char, 0, UCHAR_MAX) | |
DEFINE_EXTREMA (short, SHRT_MIN, SHRT_MAX) | |
DEFINE_EXTREMA (int, INT_MIN, INT_MAX) | |
DEFINE_EXTREMA (long, 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 char, 0) | |
SPECIALIZE_EPSILON (signed char, 0) | |
SPECIALIZE_EPSILON (wchar_t, 0) | |
SPECIALIZE_EPSILON (short, 0) | |
SPECIALIZE_EPSILON (int, 0) | |
SPECIALIZE_EPSILON (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 char, 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, 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 char) | |
INSTANTIATIONS (short) | |
INSTANTIATIONS (int) | |
INSTANTIATIONS (long) | |
INSTANTIATIONS (float) | |
INSTANTIATIONS (double) | |
Variables | |
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 |
|
Value: const char type_name_trait< T >::type_name[] = #T; \ const char type_name_trait< T >::trait_name[] = "numeric_limits<" #T ">"; Definition at line 218 of file gen-num-limits.cc. |
|
Definition at line 360 of file gen-num-limits.cc. |
|
Value: const char value< T >::min[] = #m; \ const char value< T >::max[] = #M Definition at line 361 of file gen-num-limits.cc. |
|
Definition at line 431 of file gen-num-limits.cc. |
|
Value: template struct predicate<TYPE>; \ template struct value<TYPE> Definition at line 816 of file gen-num-limits.cc. |
|
Value: const int value< T >::digits = D; \ const int value< T >::digits10 = D10 Definition at line 399 of file gen-num-limits.cc. |
|
Definition at line 430 of file gen-num-limits.cc. |
|
Value: const bool predicate< T >::is_integer = false; \ const bool predicate< T >::is_exact = false Definition at line 291 of file gen-num-limits.cc. |
|
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 Definition at line 507 of file gen-num-limits.cc. |
|
Value: const bool predicate< T >::is_iec559 = true Definition at line 323 of file gen-num-limits.cc. |
|
Definition at line 410 of file gen-num-limits.cc. |
|
Definition at line 470 of file gen-num-limits.cc. |
|
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); \ } Definition at line 191 of file gen-num-limits.cc. |
|
Definition at line 72 of file gen-num-limits.cc. |
|
Definition at line 74 of file gen-num-limits.cc. Referenced by signal_handler(). |
|
Definition at line 73 of file gen-num-limits.cc. Referenced by trapping(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 568 of file gen-num-limits.cc. |
|
Definition at line 575 of file gen-num-limits.cc. |
|
Definition at line 589 of file gen-num-limits.cc. |
|
Definition at line 654 of file gen-num-limits.cc. |
|
Definition at line 633 of file gen-num-limits.cc. |
|
Definition at line 640 of file gen-num-limits.cc. |
|
Definition at line 647 of file gen-num-limits.cc. |
|
Definition at line 561 of file gen-num-limits.cc. |
|
Definition at line 703 of file gen-num-limits.cc. |
|
Definition at line 554 of file gen-num-limits.cc. |
|
Definition at line 533 of file gen-num-limits.cc. |
|
Definition at line 526 of file gen-num-limits.cc. |
|
Definition at line 773 of file gen-num-limits.cc. |
|
Definition at line 547 of file gen-num-limits.cc. Referenced by _CPP_BITS_FSTREAM_TCC(), _CPP_BITS_SSTREAM_TCC(), std::vector< bool, _Alloc >::_M_fill_insert(), std::vector< bool, _Alloc >::_M_insert_range(), allocator::init_page_size(), allocator::max_size(), std::operator>>(), and std::basic_stringbuf::str(). |
|
Definition at line 619 of file gen-num-limits.cc. |
|
Definition at line 626 of file gen-num-limits.cc. |
|
Definition at line 540 of file gen-num-limits.cc. Referenced by _CPP_BITS_STREAMBUF_TCC(), std::basic_streambuf::_M_pback_create(), std::_S_string_copy(), std::basic_string::compare(), and std::numeric_limits< unsigned char >::round_style(). |
|
Definition at line 605 of file gen-num-limits.cc. |
|
Definition at line 612 of file gen-num-limits.cc. |
|
Definition at line 582 of file gen-num-limits.cc. |
|
Definition at line 597 of file gen-num-limits.cc. |
|
Definition at line 718 of file gen-num-limits.cc. |
|
Definition at line 114 of file gen-num-limits.cc. Referenced by signal_handler(), and traps(). |
|
Definition at line 131 of file gen-num-limits.cc. |
|
Definition at line 711 of file gen-num-limits.cc. |
|
Definition at line 143 of file gen-num-limits.cc. Referenced by traps(). |
|
Definition at line 178 of file gen-num-limits.cc. |
|
Definition at line 81 of file gen-num-limits.cc. |
|
Definition at line 79 of file gen-num-limits.cc. |
|
Definition at line 109 of file gen-num-limits.cc. |
|
Definition at line 82 of file gen-num-limits.cc. |
|
Definition at line 80 of file gen-num-limits.cc. |
|
Definition at line 77 of file gen-num-limits.cc. |
|
Definition at line 78 of file gen-num-limits.cc. |