12 #ifndef ECL_TYPE_TRAITS_NUMERIC_LIMITS_HPP_ 13 #define ECL_TYPE_TRAITS_NUMERIC_LIMITS_HPP_ 21 #include <ecl/config/portable_types.hpp> 73 static const char one = 1;
76 static const char minimum = CHAR_MIN;
77 static const char maximum = CHAR_MAX;
79 typedef float Precision;
80 static const Precision dummy_precision;
91 static const unsigned char one = 1U;
94 static const unsigned char minimum = 0U;
95 static const unsigned char maximum = UCHAR_MAX;
97 typedef float Precision;
98 static const Precision dummy_precision;
109 static const short one = 1;
112 static const short minimum = SHRT_MIN;
113 static const short maximum = SHRT_MAX;
115 typedef float Precision;
116 static const Precision dummy_precision;
125 class ecl_type_traits_PUBLIC numeric_limits<unsigned short> :
public std::numeric_limits<unsigned short> {
127 static const unsigned short one = 1U;
130 static const unsigned short minimum = 0U;
131 static const unsigned short maximum = USHRT_MAX;
133 typedef float Precision;
134 static const Precision dummy_precision;
145 static const int one = 1;
148 static const int minimum = INT_MIN;
149 static const int maximum = INT_MAX;
151 typedef float Precision;
152 static const Precision dummy_precision;
163 static const unsigned int one = 1U;
166 static const unsigned int minimum = 0U;
167 static const unsigned int maximum = UINT_MAX;
169 typedef float Precision;
170 static const Precision dummy_precision;
182 static const long one = 1L;
185 static const long minimum = LONG_MIN;
186 static const long maximum = LONG_MAX;
188 typedef float Precision;
189 static const Precision dummy_precision;
200 static const unsigned long one = 1UL;
203 static const unsigned long minimum = 0UL;
204 static const unsigned long maximum = ULONG_MAX;
206 typedef float Precision;
207 static const Precision dummy_precision;
218 static const long long one = 1LL;
221 static const long long minimum = LLONG_MIN;
222 static const long long maximum = LLONG_MAX;
224 typedef float Precision;
225 static const Precision dummy_precision;
234 class ecl_type_traits_PUBLIC numeric_limits<unsigned long long> :
public std::numeric_limits<unsigned long long> {
236 static const unsigned long long one = 1ULL;
239 static const unsigned long long minimum = 0ULL;
240 static const unsigned long long maximum = ULLONG_MAX;
242 typedef float Precision;
243 static const Precision dummy_precision;
257 typedef float Precision;
258 static const float dummy_precision;
260 static const float minimum;
261 static const float maximum;
275 typedef double Precision;
276 static const double dummy_precision;
278 static const double minimum;
279 static const double maximum;
293 typedef long double Precision;
294 static const long double dummy_precision;
296 static const long double minimum;
297 static const long double maximum;
#define ECL_SIZE_OF_CHAR
Defines the number of bytes for a char type.
#define ECL_SIZE_OF_LONG
Defines the number of bytes for a long type.
#define ECL_SIZE_OF_LONG_DOUBLE
Defines the number of bytes for a long double type.
#define ecl_type_traits_PUBLIC
#define ECL_SIZE_OF_SHORT
Defines the number of bytes for a short type.
#define ECL_SIZE_OF_INT
Defines the number of bytes for a int type.
#define ECL_SIZE_OF_LONG_LONG
Defines the number of bytes for a long long type.
#define ECL_SIZE_OF_FLOAT
Defines the number of bytes for a float type.
#define ECL_SIZE_OF_DOUBLE
Defines the number of bytes for a double type.