#include <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 | overflow |
struct | predicate |
struct | type_name_trait |
struct | underflow |
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) |
#define | SPECIALIZE_EPSILON(T, E) DO_SPECIALIZE_EPSILON(T, E) |
#define | DO_SPECIALIZE_EPSILON(T, E) |
#define | SPECIALIZE_ROUND_ERROR(T, R) |
#define | SPECIALIZE_EXPONENTS(T, m, m10, M, M10) |
#define | INSTANTIATIONS(TYPE) |
Functions | |
template<typename signal_handler_type, typename signal_number_type> 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) |
template<typename Operation> bool | trapping (const Operation &op) |
void | set_signals_handler () |
template<typename T> 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) | |
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: template<> \ const char type_name_trait< T >::type_name[] = #T; \ template<> \ const char type_name_trait< T >::trait_name[] = "numeric_limits<" #T ">"; Definition at line 208 of file gen-num-limits.cc. |
|
Value: template<> \ const char value< T >::min[] = #m; \ template<> \ const char value< T >::max[] = #M |
|
Value: template<> \ const char value< T >::epsilon[] = #E |
|
Value: template struct predicate<TYPE>; \ template struct value<TYPE> |
|
Definition at line 55 of file gen-num-limits.cc. |
|
Definition at line 57 of file gen-num-limits.cc. Referenced by signal_handler(). |
|
Definition at line 56 of file gen-num-limits.cc. Referenced by trapping(). |
|
Value: template<> \ const int value< T >::digits = D; \ template<> \ const int value< T >::digits10 = D10 |
|
|
|
Value: template<> \ const bool predicate< T >::is_integer = false; \ template<> \ const bool predicate< T >::is_exact = false |
|
Value: template<> \ const int value< T >::min_exponent = m; \ template<> \ const int value< T >::min_exponent10 = m10; \ template<> \ const int value< T >::max_exponent = M; \ template<> \ const int value< T >::max_exponent10 = M10 |
|
Value: template<> \ const bool predicate< T >::is_iec559 = true |
|
Value: template<> \ const int value< T >::radix = R |
|
Value: template<> \ const char value< T >::round_error[] = #R |
|
Value: template<> void traps< T >() \ { \ fflush(NULL); \ set_signals_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 182 of file gen-num-limits.cc. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 162 of file gen-num-limits.cc. References signal_adapter(), and signal_handler(). Referenced by traps(). |
|
Definition at line 97 of file gen-num-limits.cc. References std::arg(), and signal_adapter(). Referenced by set_signals_handler(), signal_adapter(), and signal_handler(). |
|
Definition at line 114 of file gen-num-limits.cc. References env, siglongjmp, signal_adapter(), and signal_handler(). Referenced by set_signals_handler(), and signal_handler(). |
|
|
|
Definition at line 126 of file gen-num-limits.cc. References env, and sigsetjmp. Referenced by traps(). |
|
Definition at line 171 of file gen-num-limits.cc. References bool_alpha, set_signals_handler(), tab2, and trapping(). |
|
Definition at line 64 of file gen-num-limits.cc. |
|
Definition at line 62 of file gen-num-limits.cc. Referenced by traps(). |
|
Definition at line 92 of file gen-num-limits.cc. Referenced by signal_handler(), and trapping(). |
|
Definition at line 65 of file gen-num-limits.cc. |
|
Definition at line 63 of file gen-num-limits.cc. |
|
Definition at line 60 of file gen-num-limits.cc. Referenced by declarator< T >::end(), and declarator< T >::start(). |
|
Definition at line 61 of file gen-num-limits.cc. Referenced by traps(). |