24#ifndef _STLP_INTERNAL_LIMITS
25#define _STLP_INTERNAL_LIMITS
35#if defined (_STLP_HAS_WCHAR_T) && !defined (_STLP_INTERNAL_CWCHAR)
65template <
class __number>
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
113# define _STLP_LIMITS_MIN_TYPE long
114# define _STLP_LIMITS_MAX_TYPE unsigned long
117# define _STLP_LIMITS_MIN_TYPE _Int
118# define _STLP_LIMITS_MAX_TYPE _Int
124 int __idigits,
bool __ismod>
143template <
class __number,
144 int __Digits,
int __Digits10,
145 int __MinExp,
int __MaxExp,
146 int __MinExp10,
int __MaxExp10,
168#if (!defined (_STLP_MSVC) || (_STLP_MSVC > 1300)) && \
169 (!defined (__BORLANDC__) || (__BORLANDC__ >= 0x590)) && \
170 (!defined (_CRAY) || defined (_CRAYIEEE))
196#if !defined (_STLP_NO_BOOL)
208#if !defined (_STLP_NO_SIGNED_BUILTINS)
220#if !(defined (_STLP_NO_WCHAR_T) || defined (_STLP_WCHAR_T_IS_USHORT))
239#if defined (__xlC__) && (__xlC__ == 0x500)
241# define INT_MIN -2147483648
264#if defined (_STLP_LONG_LONG)
266# if defined (_STLP_MSVC) || defined (__BORLANDC__)
267# define LONGLONG_MAX 0x7fffffffffffffffi64
268# define LONGLONG_MIN (-LONGLONG_MAX-1i64)
269# define ULONGLONG_MAX 0xffffffffffffffffUi64
272# define LONGLONG_MAX 0x7fffffffffffffffLL
275# define LONGLONG_MIN (-LONGLONG_MAX-1LL)
277# ifndef ULONGLONG_MAX
278# define ULONGLONG_MAX 0xffffffffffffffffULL
282# if !defined (__GNUC__) || (__GNUC__ == 2 && __GNUC_MINOR__ <= 96) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 3)
347template <
class __dummy>
359#if !defined (_STLP_NO_LONG_DOUBLE)
367#if defined (_STLP_USE_TEMPLATE_EXPORT)
371#if defined (__GNUC__)
372# if defined (__FLT_DENORM_MIN__)
373# define _STLP_FLT_DENORM_MIN __FLT_DENORM_MIN__
375# define _STLP_FLT_DENORM_STYLE denorm_absent
377# if defined (__DBL_DENORM_MIN__)
378# define _STLP_DBL_DENORM_MIN __DBL_DENORM_MIN__
380# define _STLP_DBL_DENORM_STYLE denorm_absent
382# if defined (__LDBL_DENORM_MIN__)
383# define _STLP_LDBL_DENORM_MIN __LDBL_DENORM_MIN__
385# define _STLP_LDBL_DENORM_STYLE denorm_absent
392#if !defined (_STLP_FLT_DENORM_STYLE)
393# define _STLP_FLT_DENORM_STYLE denorm_present
396#if !defined (_STLP_DBL_DENORM_STYLE)
397# define _STLP_DBL_DENORM_STYLE denorm_present
400#if !defined (_STLP_LDBL_DENORM_STYLE)
401# define _STLP_LDBL_DENORM_STYLE denorm_present
416 _STLP_FLT_DENORM_STYLE,
421#if defined (_STLP_FLT_DENORM_MIN)
422 {
return _STLP_FLT_DENORM_MIN; }
434#undef _STLP_FLT_DENORM_MIN
435#undef _STLP_FLT_DNORM_STYLE
447 _STLP_DBL_DENORM_STYLE,
452#if defined (_STLP_DBL_DENORM_MIN)
453 {
return _STLP_DBL_DENORM_MIN; }
465#if !defined (_STLP_NO_LONG_DOUBLE)
477 _STLP_LDBL_DENORM_STYLE,
482#if defined (_STLP_LDBL_DENORM_MIN)
483 {
return _STLP_LDBL_DENORM_MIN; }
493#if !defined (_STLP_MSVC)
499#if !defined (_STLP_MSVC)
505#if !defined (_STLP_MSVC)
518#if !defined (_STLP_LINK_TIME_INSTANTIATION)
#define _STLP_DBL_DENORM_STYLE
#define _STLP_FLT_DENORM_STYLE
@ round_toward_neg_infinity
#define _STLP_LIMITS_MAX_TYPE
#define _STLP_LDBL_DENORM_STYLE
#define _STLP_LIMITS_MIN_TYPE
_STLP_STATIC_CONSTANT(int, max_exponent=__MaxExp)
_STLP_STATIC_CONSTANT(float_round_style, round_style=__RoundStyle)
_STLP_STATIC_CONSTANT(bool, is_signed=true)
_STLP_STATIC_CONSTANT(bool, has_quiet_NaN=true)
_STLP_STATIC_CONSTANT(int, digits10=__Digits10)
_STLP_STATIC_CONSTANT(bool, is_iec559=__IsIEC559 &&has_infinity &&has_quiet_NaN &&has_signaling_NaN &&(has_denorm==denorm_present))
_STLP_STATIC_CONSTANT(int, min_exponent=__MinExp)
_STLP_STATIC_CONSTANT(bool, tinyness_before=false)
_STLP_STATIC_CONSTANT(bool, has_denorm_loss=false)
_STLP_STATIC_CONSTANT(bool, is_bounded=true)
_STLP_STATIC_CONSTANT(int, min_exponent10=__MinExp10)
_STLP_STATIC_CONSTANT(float_denorm_style, has_denorm=__DenormStyle)
_STLP_STATIC_CONSTANT(int, max_exponent10=__MaxExp10)
_STLP_STATIC_CONSTANT(bool, has_signaling_NaN=true)
_STLP_STATIC_CONSTANT(bool, is_specialized=true)
_STLP_STATIC_CONSTANT(bool, has_infinity=true)
_STLP_STATIC_CONSTANT(bool, traps=true)
_STLP_STATIC_CONSTANT(int, digits=__Digits)
_STLP_STATIC_CONSTANT(int, radix=FLT_RADIX)
static _Int _STLP_CALL max() _STLP_NOTHROW
static _Int _STLP_CALL min() _STLP_NOTHROW
_STLP_STATIC_CONSTANT(bool, is_modulo=__ismod)
_STLP_STATIC_CONSTANT(bool, is_specialized=true)
_STLP_STATIC_CONSTANT(int, digits=(__idigits< 0) ?((int)((sizeof(_Int) *(CHAR_BIT))) -((__imin==0) ? 0 :1)) :(__idigits))
_STLP_STATIC_CONSTANT(bool, is_signed=(__imin !=0))
_STLP_STATIC_CONSTANT(bool, is_integer=true)
_STLP_STATIC_CONSTANT(int, radix=2)
_STLP_STATIC_CONSTANT(bool, is_bounded=true)
_STLP_STATIC_CONSTANT(bool, is_exact=true)
_STLP_STATIC_CONSTANT(int, digits10=(digits *301UL)/1000)
static double _STLP_CALL get_D_qNaN()
static long double _STLP_CALL get_LD_qNaN()
static float _STLP_CALL get_F_sNaN()
static long double _STLP_CALL get_LD_sNaN()
static double _STLP_CALL get_D_inf()
static float _STLP_CALL get_F_qNaN()
static long double _STLP_CALL get_LD_denormMin()
static double _STLP_CALL get_D_sNaN()
static long double _STLP_CALL get_LD_inf()
static double _STLP_CALL get_D_denormMin()
static float _STLP_CALL get_F_inf()
static float _STLP_CALL get_F_denormMin()
static __number _STLP_CALL quiet_NaN() _STLP_NOTHROW
_STLP_STATIC_CONSTANT(int, min_exponent10=0)
_STLP_STATIC_CONSTANT(bool, is_signed=false)
_STLP_STATIC_CONSTANT(int, digits10=0)
_STLP_STATIC_CONSTANT(bool, is_iec559=false)
_STLP_STATIC_CONSTANT(bool, tinyness_before=false)
_STLP_STATIC_CONSTANT(bool, traps=false)
static __number _STLP_CALL epsilon() _STLP_NOTHROW
_STLP_STATIC_CONSTANT(bool, has_infinity=false)
_STLP_STATIC_CONSTANT(int, min_exponent=0)
static __number _STLP_CALL max() _STLP_NOTHROW
static __number _STLP_CALL min() _STLP_NOTHROW
_STLP_STATIC_CONSTANT(bool, is_specialized=false)
static __number _STLP_CALL round_error() _STLP_NOTHROW
_STLP_STATIC_CONSTANT(int, digits=0)
_STLP_STATIC_CONSTANT(bool, is_integer=false)
_STLP_STATIC_CONSTANT(bool, has_signaling_NaN=false)
static __number _STLP_CALL infinity() _STLP_NOTHROW
_STLP_STATIC_CONSTANT(float_denorm_style, has_denorm=denorm_absent)
_STLP_STATIC_CONSTANT(int, max_exponent10=0)
static __number _STLP_CALL signaling_NaN() _STLP_NOTHROW
_STLP_STATIC_CONSTANT(bool, has_denorm_loss=false)
_STLP_STATIC_CONSTANT(bool, is_bounded=false)
static __number _STLP_CALL denorm_min() _STLP_NOTHROW
_STLP_STATIC_CONSTANT(bool, has_quiet_NaN=false)
_STLP_STATIC_CONSTANT(int, radix=0)
_STLP_STATIC_CONSTANT(bool, is_modulo=false)
_STLP_STATIC_CONSTANT(float_round_style, round_style=round_toward_zero)
_STLP_STATIC_CONSTANT(int, max_exponent=0)
_STLP_STATIC_CONSTANT(bool, is_exact=false)
static double(_STLP_CALL max)() _STLP_NOTHROW
static double _STLP_CALL signaling_NaN() _STLP_NOTHROW
static double _STLP_CALL round_error() _STLP_NOTHROW
static double _STLP_CALL epsilon() _STLP_NOTHROW
static double(_STLP_CALL min)() _STLP_NOTHROW
static double _STLP_CALL quiet_NaN() _STLP_NOTHROW
static double _STLP_CALL denorm_min() _STLP_NOTHROW
static double _STLP_CALL infinity() _STLP_NOTHROW
static float _STLP_CALL signaling_NaN() _STLP_NOTHROW
static float _STLP_CALL epsilon() _STLP_NOTHROW
static float _STLP_CALL denorm_min() _STLP_NOTHROW
static float _STLP_CALL infinity() _STLP_NOTHROW
static float(_STLP_CALL min)() _STLP_NOTHROW
static float(_STLP_CALL max)() _STLP_NOTHROW
static float _STLP_CALL round_error() _STLP_NOTHROW
static float _STLP_CALL quiet_NaN() _STLP_NOTHROW
static long double _STLP_CALL denorm_min() _STLP_NOTHROW
static long double _STLP_CALL signaling_NaN() _STLP_NOTHROW
static long double(_STLP_CALL min)() _STLP_NOTHROW
static long double _STLP_CALL quiet_NaN() _STLP_NOTHROW
static long double _STLP_CALL infinity() _STLP_NOTHROW
_STLP_STATIC_CONSTANT(bool, is_iec559=false)
static long double _STLP_CALL round_error() _STLP_NOTHROW
static long double(_STLP_CALL max)() _STLP_NOTHROW
static long double _STLP_CALL epsilon() _STLP_NOTHROW
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
unsigned short(__cdecl typeof(TIFFCurrentDirectory))(struct tiff *)
#define _STLP_TEMPLATE_NULL
#define _STLP_MOVE_TO_STD_NAMESPACE
#define _STLP_EXPORT_TEMPLATE_CLASS
#define _STLP_BEGIN_NAMESPACE
#define _STLP_STATIC_CONSTANT(__type, __assignment)
#define _STLP_END_NAMESPACE
#define _STLP_MOVE_TO_PRIV_NAMESPACE
static const int digits[]
static const char mbstate_t *static wchar_t const char mbstate_t *static const wchar_t int *static double
static unsigned(__cdecl *hash_bstr)(bstr_t s)
static float(__cdecl *square_half_float)(float x
static BOOL is_integer(parse_buffer *buf)