ReactOS  0.4.14-dev-376-gaedba84
_limits.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 1997
3  * Silicon Graphics Computer Systems, Inc.
4  *
5  * Copyright (c) 1999
6  * Boris Fomitchev
7  *
8  * This material is provided "as is", with absolutely no warranty expressed
9  * or implied. Any use is at your own risk.
10  *
11  * Permission to use or copy this software for any purpose is hereby granted
12  * without fee, provided the above notices are retained on all copies.
13  * Permission to modify the code and to distribute modified code is granted,
14  * provided the above notices are retained, and a notice that the code was
15  * modified is included with the above copyright notice.
16  *
17  */
18 
19 /* NOTE: This may be not portable code. Parts of numeric_limits<> are
20  * inherently machine-dependent. At present this file is suitable
21  * for the MIPS, SPARC, Alpha and ia32 architectures.
22  */
23 
24 #ifndef _STLP_INTERNAL_LIMITS
25 #define _STLP_INTERNAL_LIMITS
26 
27 #ifndef _STLP_CLIMITS
28 # include <climits>
29 #endif
30 
31 #ifndef _STLP_CFLOAT
32 # include <cfloat>
33 #endif
34 
35 #if defined (_STLP_HAS_WCHAR_T) && !defined (_STLP_INTERNAL_CWCHAR)
36 # include <stl/_cwchar.h>
37 #endif
38 
40 
47 };
48 
53 };
54 
55 #ifdef min
56 # undef min
57 #endif
58 #ifdef max
59 # undef max
60 #endif
61 
63 
64 // Base class for all specializations of numeric_limits.
65 template <class __number>
67 public:
68 
69  static __number _STLP_CALL min() _STLP_NOTHROW { return __number(); }
70  static __number _STLP_CALL max() _STLP_NOTHROW { return __number(); }
71 
72  _STLP_STATIC_CONSTANT(int, digits = 0);
73  _STLP_STATIC_CONSTANT(int, digits10 = 0);
74  _STLP_STATIC_CONSTANT(int, radix = 0);
75  _STLP_STATIC_CONSTANT(int, min_exponent = 0);
76  _STLP_STATIC_CONSTANT(int, min_exponent10 = 0);
77  _STLP_STATIC_CONSTANT(int, max_exponent = 0);
78  _STLP_STATIC_CONSTANT(int, max_exponent10 = 0);
79 
82 
83  _STLP_STATIC_CONSTANT(bool, is_specialized = false);
84  _STLP_STATIC_CONSTANT(bool, is_signed = false);
85  _STLP_STATIC_CONSTANT(bool, is_integer = false);
86  _STLP_STATIC_CONSTANT(bool, is_exact = false);
87  _STLP_STATIC_CONSTANT(bool, has_infinity = false);
88  _STLP_STATIC_CONSTANT(bool, has_quiet_NaN = false);
89  _STLP_STATIC_CONSTANT(bool, has_signaling_NaN = false);
90  _STLP_STATIC_CONSTANT(bool, has_denorm_loss = false);
91  _STLP_STATIC_CONSTANT(bool, is_iec559 = false);
92  _STLP_STATIC_CONSTANT(bool, is_bounded = false);
93  _STLP_STATIC_CONSTANT(bool, is_modulo = false);
94  _STLP_STATIC_CONSTANT(bool, traps = false);
95  _STLP_STATIC_CONSTANT(bool, tinyness_before = false);
96 
97  static __number _STLP_CALL epsilon() _STLP_NOTHROW { return __number(); }
98  static __number _STLP_CALL round_error() _STLP_NOTHROW { return __number(); }
99 
100  static __number _STLP_CALL infinity() _STLP_NOTHROW { return __number(); }
101  static __number _STLP_CALL quiet_NaN() _STLP_NOTHROW { return __number(); }
102  static __number _STLP_CALL signaling_NaN() _STLP_NOTHROW { return __number(); }
103  static __number _STLP_CALL denorm_min() _STLP_NOTHROW { return __number(); }
104 };
105 
106 // Base class for integers.
107 
108 #ifdef _STLP_LIMITED_DEFAULT_TEMPLATES
109 # ifdef _STLP_LONG_LONG
110 # define _STLP_LIMITS_MIN_TYPE _STLP_LONG_LONG
111 # define _STLP_LIMITS_MAX_TYPE unsigned _STLP_LONG_LONG
112 # else
113 # define _STLP_LIMITS_MIN_TYPE long
114 # define _STLP_LIMITS_MAX_TYPE unsigned long
115 # endif
116 #else
117 # define _STLP_LIMITS_MIN_TYPE _Int
118 # define _STLP_LIMITS_MAX_TYPE _Int
119 #endif /* _STLP_LIMITED_DEFAULT_TEMPLATES */
120 
121 template <class _Int,
122  _STLP_LIMITS_MIN_TYPE __imin,
123  _STLP_LIMITS_MAX_TYPE __imax,
124  int __idigits, bool __ismod>
125 class _Integer_limits : public _Numeric_limits_base<_Int> {
126 public:
127 
128  static _Int _STLP_CALL min () _STLP_NOTHROW { return (_Int)__imin; }
129  static _Int _STLP_CALL max () _STLP_NOTHROW { return (_Int)__imax; }
130 
131  _STLP_STATIC_CONSTANT(int, digits = (__idigits < 0) ? ((int)((sizeof(_Int) * (CHAR_BIT))) - ((__imin == 0) ? 0 : 1)) : (__idigits));
132  _STLP_STATIC_CONSTANT(int, digits10 = (digits * 301UL) / 1000);
133  _STLP_STATIC_CONSTANT(int, radix = 2);
134  _STLP_STATIC_CONSTANT(bool, is_specialized = true);
135  _STLP_STATIC_CONSTANT(bool, is_signed = (__imin != 0));
136  _STLP_STATIC_CONSTANT(bool, is_integer = true);
137  _STLP_STATIC_CONSTANT(bool, is_exact = true);
138  _STLP_STATIC_CONSTANT(bool, is_bounded = true);
139  _STLP_STATIC_CONSTANT(bool, is_modulo = __ismod);
140 };
141 
142 // Base class for floating-point numbers.
143 template <class __number,
144  int __Digits, int __Digits10,
145  int __MinExp, int __MaxExp,
146  int __MinExp10, int __MaxExp10,
147  bool __IsIEC559,
148  float_denorm_style __DenormStyle,
149  float_round_style __RoundStyle>
150 class _Floating_limits : public _Numeric_limits_base<__number> {
151 public:
152 
153  _STLP_STATIC_CONSTANT(int, digits = __Digits);
154  _STLP_STATIC_CONSTANT(int, digits10 = __Digits10);
155  _STLP_STATIC_CONSTANT(int, radix = FLT_RADIX);
156  _STLP_STATIC_CONSTANT(int, min_exponent = __MinExp);
157  _STLP_STATIC_CONSTANT(int, max_exponent = __MaxExp);
158  _STLP_STATIC_CONSTANT(int, min_exponent10 = __MinExp10);
159  _STLP_STATIC_CONSTANT(int, max_exponent10 = __MaxExp10);
160 
161  _STLP_STATIC_CONSTANT(float_denorm_style, has_denorm = __DenormStyle);
162  _STLP_STATIC_CONSTANT(float_round_style, round_style = __RoundStyle);
163 
164  _STLP_STATIC_CONSTANT(bool, is_specialized = true);
165  _STLP_STATIC_CONSTANT(bool, is_signed = true);
166 
167  _STLP_STATIC_CONSTANT(bool, has_infinity = true);
168 #if (!defined (_STLP_MSVC) || (_STLP_MSVC > 1300)) && \
169  (!defined (__BORLANDC__) || (__BORLANDC__ >= 0x590)) && \
170  (!defined (_CRAY) || defined (_CRAYIEEE))
171  _STLP_STATIC_CONSTANT(bool, has_quiet_NaN = true);
172  _STLP_STATIC_CONSTANT(bool, has_signaling_NaN = true);
173 #else
174  _STLP_STATIC_CONSTANT(bool, has_quiet_NaN = false);
175  _STLP_STATIC_CONSTANT(bool, has_signaling_NaN = false);
176 #endif
177 
178  _STLP_STATIC_CONSTANT(bool, is_iec559 = __IsIEC559 && has_infinity && has_quiet_NaN && has_signaling_NaN && (has_denorm == denorm_present));
179  _STLP_STATIC_CONSTANT(bool, has_denorm_loss = false);
180  _STLP_STATIC_CONSTANT(bool, is_bounded = true);
181  _STLP_STATIC_CONSTANT(bool, traps = true);
182  _STLP_STATIC_CONSTANT(bool, tinyness_before = false);
183 };
184 
186 
187 // Class numeric_limits
188 
189 // The unspecialized class.
190 
191 template<class _Tp>
193 
194 // Specializations for all built-in integral types.
195 
196 #if !defined (_STLP_NO_BOOL)
199  : public _STLP_PRIV _Integer_limits<bool, false, true, 1, false>
200 {};
201 #endif /* _STLP_NO_BOOL */
202 
205  : public _STLP_PRIV _Integer_limits<char, CHAR_MIN, CHAR_MAX, -1, true>
206 {};
207 
208 #if !defined (_STLP_NO_SIGNED_BUILTINS)
211  : public _STLP_PRIV _Integer_limits<signed char, SCHAR_MIN, SCHAR_MAX, -1, true>
212 {};
213 #endif
214 
216 class numeric_limits<unsigned char>
217  : public _STLP_PRIV _Integer_limits<unsigned char, 0, UCHAR_MAX, -1, true>
218 {};
219 
220 #if !(defined (_STLP_NO_WCHAR_T) || defined (_STLP_WCHAR_T_IS_USHORT))
221 
224  : public _STLP_PRIV _Integer_limits<wchar_t, WCHAR_MIN, WCHAR_MAX, -1, true>
225 {};
226 
227 #endif
228 
231  : public _STLP_PRIV _Integer_limits<short, SHRT_MIN, SHRT_MAX, -1, true>
232 {};
233 
235 class numeric_limits<unsigned short>
236  : public _STLP_PRIV _Integer_limits<unsigned short, 0, USHRT_MAX, -1, true>
237 {};
238 
239 #if defined (__xlC__) && (__xlC__ == 0x500)
240 # undef INT_MIN
241 # define INT_MIN -2147483648
242 #endif
243 
246  : public _STLP_PRIV _Integer_limits<int, INT_MIN, INT_MAX, -1, true>
247 {};
248 
250 class numeric_limits<unsigned int>
251  : public _STLP_PRIV _Integer_limits<unsigned int, 0, UINT_MAX, -1, true>
252 {};
253 
256  : public _STLP_PRIV _Integer_limits<long, LONG_MIN, LONG_MAX, -1, true>
257 {};
258 
260 class numeric_limits<unsigned long>
261  : public _STLP_PRIV _Integer_limits<unsigned long, 0, ULONG_MAX, -1, true>
262 {};
263 
264 #if defined (_STLP_LONG_LONG)
265 
266 # if defined (_STLP_MSVC) || defined (__BORLANDC__)
267 # define LONGLONG_MAX 0x7fffffffffffffffi64
268 # define LONGLONG_MIN (-LONGLONG_MAX-1i64)
269 # define ULONGLONG_MAX 0xffffffffffffffffUi64
270 # else
271 # ifndef LONGLONG_MAX
272 # define LONGLONG_MAX 0x7fffffffffffffffLL
273 # endif
274 # ifndef LONGLONG_MIN
275 # define LONGLONG_MIN (-LONGLONG_MAX-1LL)
276 # endif
277 # ifndef ULONGLONG_MAX
278 # define ULONGLONG_MAX 0xffffffffffffffffULL
279 # endif
280 # endif
281 
282 # if !defined (__GNUC__) || (__GNUC__ == 2 && __GNUC_MINOR__ <= 96) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 3)
283 
286  : public _STLP_PRIV _Integer_limits<_STLP_LONG_LONG, LONGLONG_MIN, LONGLONG_MAX, -1, true>
287 {};
288 
290 class numeric_limits<unsigned _STLP_LONG_LONG>
291  : public _STLP_PRIV _Integer_limits<unsigned _STLP_LONG_LONG, 0, ULONGLONG_MAX, -1, true>
292 {};
293 # else /* gcc 2.97 (after 2000-11-01), 2.98, 3.0 */
294 /*
295  newest gcc has new mangling scheme, that has problem
296  with generating name [instantiated] of template specialization like
297  _Integer_limits<_STLP_LONG_LONG, LONGLONG_MIN, LONGLONG_MAX, -1, true>
298  ~~~~~~~~~~~~ ~~~~~~~~~~~~
299  Below is code that solve this problem.
300  - ptr
301  */
304  : public _STLP_PRIV _Numeric_limits_base<_STLP_LONG_LONG> {
305 public:
306 
309 
310  _STLP_STATIC_CONSTANT(int, digits = ((int)((sizeof(_STLP_LONG_LONG) * (CHAR_BIT))) - 1));
311  _STLP_STATIC_CONSTANT(int, digits10 = (digits * 301UL) / 1000);
312  _STLP_STATIC_CONSTANT(int, radix = 2);
313  _STLP_STATIC_CONSTANT(bool, is_specialized = true);
314  _STLP_STATIC_CONSTANT(bool, is_signed = true);
315  _STLP_STATIC_CONSTANT(bool, is_integer = true);
316  _STLP_STATIC_CONSTANT(bool, is_exact = true);
317  _STLP_STATIC_CONSTANT(bool, is_bounded = true);
318  _STLP_STATIC_CONSTANT(bool, is_modulo = true);
319 };
320 
322 class numeric_limits<unsigned _STLP_LONG_LONG>
323  : public _STLP_PRIV _Numeric_limits_base<unsigned _STLP_LONG_LONG> {
324 public:
325 
326  static unsigned _STLP_LONG_LONG (_STLP_CALL min) () _STLP_NOTHROW { return 0ULL; }
327  static unsigned _STLP_LONG_LONG (_STLP_CALL max) () _STLP_NOTHROW { return ULONGLONG_MAX; }
328 
329  _STLP_STATIC_CONSTANT(int, digits = ((int)((sizeof(unsigned _STLP_LONG_LONG) * (CHAR_BIT)))));
330  _STLP_STATIC_CONSTANT(int, digits10 = (digits * 301UL) / 1000);
331  _STLP_STATIC_CONSTANT(int, radix = 2);
332  _STLP_STATIC_CONSTANT(bool, is_specialized = true);
333  _STLP_STATIC_CONSTANT(bool, is_signed = false);
334  _STLP_STATIC_CONSTANT(bool, is_integer = true);
335  _STLP_STATIC_CONSTANT(bool, is_exact = true);
336  _STLP_STATIC_CONSTANT(bool, is_bounded = true);
337  _STLP_STATIC_CONSTANT(bool, is_modulo = true);
338 };
339 
340 # endif /* __GNUC__ > 2000-11-01 */
341 
342 #endif /* _STLP_LONG_LONG */
343 
345 
346 // Specializations for all built-in floating-point types.
347 template <class __dummy>
348 class _LimG {
349 public:
350  static float _STLP_CALL get_F_inf();
351  static float _STLP_CALL get_F_qNaN();
352  static float _STLP_CALL get_F_sNaN();
353  static float _STLP_CALL get_F_denormMin();
354  static double _STLP_CALL get_D_inf();
355  static double _STLP_CALL get_D_qNaN();
356  static double _STLP_CALL get_D_sNaN();
357  static double _STLP_CALL get_D_denormMin();
358 
359 #if !defined (_STLP_NO_LONG_DOUBLE)
360  static long double _STLP_CALL get_LD_inf();
361  static long double _STLP_CALL get_LD_qNaN();
362  static long double _STLP_CALL get_LD_sNaN();
363  static long double _STLP_CALL get_LD_denormMin();
364 #endif
365 };
366 
367 #if defined (_STLP_USE_TEMPLATE_EXPORT)
369 #endif
370 
371 #if defined (__GNUC__)
372 # if defined (__FLT_DENORM_MIN__)
373 # define _STLP_FLT_DENORM_MIN __FLT_DENORM_MIN__
374 # else
375 # define _STLP_FLT_DENORM_STYLE denorm_absent
376 # endif
377 # if defined (__DBL_DENORM_MIN__)
378 # define _STLP_DBL_DENORM_MIN __DBL_DENORM_MIN__
379 # else
380 # define _STLP_DBL_DENORM_STYLE denorm_absent
381 # endif
382 # if defined (__LDBL_DENORM_MIN__)
383 # define _STLP_LDBL_DENORM_MIN __LDBL_DENORM_MIN__
384 # else
385 # define _STLP_LDBL_DENORM_STYLE denorm_absent
386 # endif
387 #endif
388 
389 /* If compiler do not expose thanks to some macro its status regarding
390  * denormalized floating point numbers, we consider that denormalization
391  * is present. Unit tests will tell us if compiler do not support them. */
392 #if !defined (_STLP_FLT_DENORM_STYLE)
393 # define _STLP_FLT_DENORM_STYLE denorm_present
394 #endif
395 
396 #if !defined (_STLP_DBL_DENORM_STYLE)
397 # define _STLP_DBL_DENORM_STYLE denorm_present
398 #endif
399 
400 #if !defined (_STLP_LDBL_DENORM_STYLE)
401 # define _STLP_LDBL_DENORM_STYLE denorm_present
402 #endif
403 
405 
407 class numeric_limits<float>
408  : public _STLP_PRIV _Floating_limits<float,
409  FLT_MANT_DIG, // Binary digits of precision
410  FLT_DIG, // Decimal digits of precision
411  FLT_MIN_EXP, // Minimum exponent
412  FLT_MAX_EXP, // Maximum exponent
413  FLT_MIN_10_EXP, // Minimum base 10 exponent
414  FLT_MAX_10_EXP, // Maximum base 10 exponent
415  true,
416  _STLP_FLT_DENORM_STYLE,
417  round_to_nearest> {
418 public:
419  static float (_STLP_CALL min) () _STLP_NOTHROW { return FLT_MIN; }
421 #if defined (_STLP_FLT_DENORM_MIN)
422  { return _STLP_FLT_DENORM_MIN; }
423 #else
425 #endif
426  static float (_STLP_CALL max) () _STLP_NOTHROW { return FLT_MAX; }
427  static float _STLP_CALL epsilon() _STLP_NOTHROW { return FLT_EPSILON; }
428  static float _STLP_CALL round_error() _STLP_NOTHROW { return 0.5f; } // Units: ulps.
432 };
433 
434 #undef _STLP_FLT_DENORM_MIN
435 #undef _STLP_FLT_DNORM_STYLE
436 
439  : public _STLP_PRIV _Floating_limits<double,
440  DBL_MANT_DIG, // Binary digits of precision
441  DBL_DIG, // Decimal digits of precision
442  DBL_MIN_EXP, // Minimum exponent
443  DBL_MAX_EXP, // Maximum exponent
444  DBL_MIN_10_EXP, // Minimum base 10 exponent
445  DBL_MAX_10_EXP, // Maximum base 10 exponent
446  true,
447  _STLP_DBL_DENORM_STYLE,
448  round_to_nearest> {
449 public:
450  static double (_STLP_CALL min)() _STLP_NOTHROW { return DBL_MIN; }
452 #if defined (_STLP_DBL_DENORM_MIN)
453  { return _STLP_DBL_DENORM_MIN; }
454 #else
456 #endif
457  static double (_STLP_CALL max)() _STLP_NOTHROW { return DBL_MAX; }
458  static double _STLP_CALL epsilon() _STLP_NOTHROW { return DBL_EPSILON; }
459  static double _STLP_CALL round_error() _STLP_NOTHROW { return 0.5; } // Units: ulps.
463 };
464 
465 #if !defined (_STLP_NO_LONG_DOUBLE)
466 
469  : public _STLP_PRIV _Floating_limits<long double,
470  LDBL_MANT_DIG, // Binary digits of precision
471  LDBL_DIG, // Decimal digits of precision
472  LDBL_MIN_EXP, // Minimum exponent
473  LDBL_MAX_EXP, // Maximum exponent
474  LDBL_MIN_10_EXP,// Minimum base 10 exponent
475  LDBL_MAX_10_EXP,// Maximum base 10 exponent
476  false, // do not conform to iec559
477  _STLP_LDBL_DENORM_STYLE,
478  round_to_nearest> {
479 public:
480  static long double (_STLP_CALL min) () _STLP_NOTHROW { return LDBL_MIN; }
481  static long double _STLP_CALL denorm_min() _STLP_NOTHROW
482 #if defined (_STLP_LDBL_DENORM_MIN)
483  { return _STLP_LDBL_DENORM_MIN; }
484 #else
486 #endif
487  _STLP_STATIC_CONSTANT(bool, is_iec559 = false);
488  static long double (_STLP_CALL max) () _STLP_NOTHROW { return LDBL_MAX; }
489  static long double _STLP_CALL epsilon() _STLP_NOTHROW { return LDBL_EPSILON; }
490  static long double _STLP_CALL round_error() _STLP_NOTHROW { return 0.5l; }
491  static long double _STLP_CALL infinity() _STLP_NOTHROW
492  //For MSVC, long double is nothing more than an alias for double.
493 #if !defined (_STLP_MSVC)
494  { return _STLP_PRIV _LimG<bool>::get_LD_inf(); }
495 #else
496  { return _STLP_PRIV _LimG<bool>::get_D_inf(); }
497 #endif
498  static long double _STLP_CALL quiet_NaN() _STLP_NOTHROW
499 #if !defined (_STLP_MSVC)
501 #else
502  { return _STLP_PRIV _LimG<bool>::get_D_qNaN(); }
503 #endif
505 #if !defined (_STLP_MSVC)
507 #else
508  { return _STLP_PRIV _LimG<bool>::get_D_sNaN(); }
509 #endif
510 };
511 
512 #endif
513 
514 // We write special values (Inf and NaN) as bit patterns and
515 // cast the the appropriate floating-point types.
517 
518 #if !defined (_STLP_LINK_TIME_INSTANTIATION)
519 # include <stl/_limits.c>
520 #endif
521 
522 #endif
523 
524 // Local Variables:
525 // mode:C++
526 // End:
static float(_STLP_CALL max)() _STLP_NOTHROW
Definition: _limits.h:426
#define _STLP_LDBL_DENORM_STYLE
Definition: _limits.h:401
#define max(a, b)
Definition: svc.c:63
static float _STLP_CALL quiet_NaN() _STLP_NOTHROW
Definition: _limits.h:430
#define _STLP_STATIC_CONSTANT(__type, __assignment)
Definition: features.h:805
static float _STLP_CALL round_error() _STLP_NOTHROW
Definition: _limits.h:428
#define FLT_MAX
Definition: gcc_float.h:107
static long double _STLP_CALL get_LD_inf()
float_round_style
Definition: _limits.h:41
float_denorm_style
Definition: _limits.h:49
static double _STLP_CALL infinity() _STLP_NOTHROW
Definition: _limits.h:460
#define DBL_MAX
Definition: gcc_float.h:108
static _Int _STLP_CALL max() _STLP_NOTHROW
Definition: _limits.h:129
#define FLT_MIN
Definition: gcc_float.h:124
#define CHAR_BIT
Definition: urlcache.c:57
static long double _STLP_CALL round_error() _STLP_NOTHROW
Definition: _limits.h:490
static float _STLP_CALL get_F_qNaN()
static long double _STLP_CALL denorm_min() _STLP_NOTHROW
Definition: _limits.h:481
#define DBL_EPSILON
Definition: gcc_float.h:117
static float _STLP_CALL get_F_inf()
#define signed
Definition: prototyp.h:114
#define _STLP_MOVE_TO_PRIV_NAMESPACE
Definition: features.h:524
static double(_STLP_CALL min)() _STLP_NOTHROW
Definition: _limits.h:450
unsigned short(__cdecl typeof(TIFFCurrentDirectory))(struct tiff *)
Definition: typeof.h:93
static long double _STLP_CALL epsilon() _STLP_NOTHROW
Definition: _limits.h:489
static double _STLP_CALL epsilon() _STLP_NOTHROW
Definition: _limits.h:458
_STLP_STATIC_CONSTANT(int, digits=(__idigits< 0) ?((int)((sizeof(_Int) *(CHAR_BIT))) -((__imin==0) ? 0 :1)) :(__idigits))
#define FLT_RADIX
Definition: gcc_float.h:36
Definition: _limits.h:348
static const char mbstate_t *static wchar_t const char mbstate_t *static const wchar_t int *static double
Definition: string.c:80
static __number _STLP_CALL round_error() _STLP_NOTHROW
Definition: _limits.h:98
unsigned char
Definition: typeof.h:29
static float _STLP_CALL signaling_NaN() _STLP_NOTHROW
Definition: _limits.h:431
static __number _STLP_CALL max() _STLP_NOTHROW
Definition: _limits.h:70
#define _STLP_LONG_LONG
Definition: _apcc.h:12
static double _STLP_CALL round_error() _STLP_NOTHROW
Definition: _limits.h:459
static long double _STLP_CALL quiet_NaN() _STLP_NOTHROW
Definition: _limits.h:498
static long double _STLP_CALL signaling_NaN() _STLP_NOTHROW
Definition: _limits.h:504
unsigned short wchar_t
Definition: crtdefs.h:324
#define ULL(a, b)
Definition: format_msg.c:27
static float(_STLP_CALL min)() _STLP_NOTHROW
Definition: _limits.h:419
static double _STLP_CALL quiet_NaN() _STLP_NOTHROW
Definition: _limits.h:461
typedef bool(CARDLIBPROC *pCanDragProc)(CardRegion &stackobj
#define _STLP_MOVE_TO_STD_NAMESPACE
Definition: features.h:525
static double _STLP_CALL get_D_sNaN()
static __number _STLP_CALL min() _STLP_NOTHROW
Definition: _limits.h:69
static __number _STLP_CALL infinity() _STLP_NOTHROW
Definition: _limits.h:100
unsigned long
Definition: typeof.h:101
#define LDBL_MIN
Definition: gcc_float.h:126
static __number _STLP_CALL signaling_NaN() _STLP_NOTHROW
Definition: _limits.h:102
#define _STLP_EXPORT_TEMPLATE_CLASS
Definition: features.h:987
static double(_STLP_CALL max)() _STLP_NOTHROW
Definition: _limits.h:457
#define LONGLONG_MAX
Definition: intsafe.h:163
static float _STLP_CALL get_F_sNaN()
#define FLT_EPSILON
Definition: gcc_float.h:116
#define LDBL_MAX
Definition: gcc_float.h:109
#define _STLP_LIMITS_MAX_TYPE
Definition: _limits.h:118
static long double _STLP_CALL infinity() _STLP_NOTHROW
Definition: _limits.h:491
static float _STLP_CALL epsilon() _STLP_NOTHROW
Definition: _limits.h:427
static long double _STLP_CALL get_LD_sNaN()
static float _STLP_CALL infinity() _STLP_NOTHROW
Definition: _limits.h:429
_STLP_STATIC_CONSTANT(int, digits=__Digits)
#define _STLP_PRIV
Definition: _dm.h:70
static double _STLP_CALL denorm_min() _STLP_NOTHROW
Definition: _limits.h:451
#define _STLP_TEMPLATE_NULL
Definition: features.h:652
static long double _STLP_CALL get_LD_qNaN()
static float _STLP_CALL denorm_min() _STLP_NOTHROW
Definition: _limits.h:420
static double _STLP_CALL get_D_qNaN()
static long double _STLP_CALL get_LD_denormMin()
#define LDBL_EPSILON
Definition: gcc_float.h:118
_STLP_STATIC_CONSTANT(int, digits=0)
#define LONGLONG_MIN
Definition: intsafe.h:132
static __number _STLP_CALL epsilon() _STLP_NOTHROW
Definition: _limits.h:97
#define _STLP_END_NAMESPACE
Definition: features.h:503
#define ULONGLONG_MAX
Definition: intsafe.h:166
#define min(a, b)
Definition: monoChain.cc:55
#define _STLP_FLT_DENORM_STYLE
Definition: _limits.h:393
#define _STLP_DBL_DENORM_STYLE
Definition: _limits.h:397
static __number _STLP_CALL quiet_NaN() _STLP_NOTHROW
Definition: _limits.h:101
static _Int _STLP_CALL min() _STLP_NOTHROW
Definition: _limits.h:128
#define _STLP_LIMITS_MIN_TYPE
Definition: _limits.h:117
static long double(_STLP_CALL min)() _STLP_NOTHROW
Definition: _limits.h:480
#define DBL_MIN
Definition: gcc_float.h:125
#define _STLP_BEGIN_NAMESPACE
Definition: features.h:501
#define _STLP_NOTHROW
Definition: _intel.h:35
static double _STLP_CALL get_D_inf()
#define UL
Definition: tui.h:83
#define _STLP_CALL
Definition: _bc.h:131
static const int digits[]
Definition: decode.c:71
static BOOL is_integer(parse_buffer *buf)
Definition: parsing.c:571
static double _STLP_CALL get_D_denormMin()
static __number _STLP_CALL denorm_min() _STLP_NOTHROW
Definition: _limits.h:103
static float _STLP_CALL get_F_denormMin()
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
Definition: typeof.h:31
static double _STLP_CALL signaling_NaN() _STLP_NOTHROW
Definition: _limits.h:462
static long double(_STLP_CALL max)() _STLP_NOTHROW
Definition: _limits.h:488