44#ifndef _RWSTD_NO_INFINITY
46# if !defined (_RWSTD_DBL_INF_BITS)
47# error one of _RWSTD_NO_INFINITY and _RWSTD_DBL_INF_BITS must be #defined
52 char _C_bits [
sizeof (float)];
58 char _C_bits [
sizeof (double)];
63# ifndef _RWSTD_NO_LONG_DOUBLE
66 char _C_bits [
sizeof (
long double)];
72# ifndef _RWSTD_NO_OBJECT_MANGLING
88__rw_dbl_infinity = { _RWSTD_DBL_INF_BITS };
92__rw_flt_infinity = { _RWSTD_FLT_INF_BITS };
95# ifndef _RWSTD_NO_LONG_DOUBLE
98__rw_ldbl_infinity = { _RWSTD_LDBL_INF_BITS };
106__rw_dbl_qNaN = { _RWSTD_DBL_QNAN_BITS };
110__rw_flt_qNaN = { _RWSTD_FLT_QNAN_BITS };
113# ifndef _RWSTD_NO_LONG_DOUBLE
116__rw_ldbl_qNaN = { _RWSTD_LDBL_QNAN_BITS };
124__rw_dbl_sNaN = { _RWSTD_DBL_SNAN_BITS };
128__rw_flt_sNaN = { _RWSTD_FLT_SNAN_BITS };
131# ifndef _RWSTD_NO_LONG_DOUBLE
134__rw_ldbl_sNaN = { _RWSTD_LDBL_SNAN_BITS };
142__rw_dbl_denorm_min = { _RWSTD_DBL_DENORM_MIN_BITS };
146__rw_flt_denorm_min = { _RWSTD_FLT_DENORM_MIN_BITS };
149# ifndef _RWSTD_NO_LONG_DOUBLE
152__rw_ldbl_denorm_min = { _RWSTD_LDBL_DENORM_MIN_BITS };
160# if _RWSTD_VER_MAJOR < 5 && defined (_MSC_VER) && defined (_DLL)
167__rw_flt_infinity_vc = { _RWSTD_FLT_INF_BITS };
170__rw_flt_qNaN_vc = { _RWSTD_FLT_QNAN_BITS };
173__rw_flt_sNaN_vc = { _RWSTD_FLT_SNAN_BITS };
176__rw_flt_denorm_min_vc = { _RWSTD_FLT_DENORM_MIN_BITS };
180__rw_dbl_infinity_vc = { _RWSTD_DBL_INF_BITS };
183__rw_dbl_qNaN_vc = { _RWSTD_DBL_QNAN_BITS };
186__rw_dbl_sNaN_vc = { _RWSTD_DBL_SNAN_BITS };
189__rw_dbl_denorm_min_vc = { _RWSTD_DBL_DENORM_MIN_BITS };
192# ifndef _RWSTD_NO_LONG_DOUBLE
194extern const _LDblBits
195__rw_ldbl_infinity_vc = { _RWSTD_LDBL_INF_BITS };
197extern const _LDblBits
198__rw_ldbl_qNaN_vc = { _RWSTD_LDBL_QNAN_BITS };
200extern const _LDblBits
201__rw_ldbl_sNaN_vc = { _RWSTD_LDBL_SNAN_BITS };
203extern const _LDblBits
204__rw_ldbl_denorm_min_vc = { _RWSTD_LDBL_DENORM_MIN_BITS };
209# pragma comment (linker, "/EXPORT:?__rw_flt_infinity@__rw@@3MB=?__rw_flt_infinity_vc@__rw@@3T_FltBits@1@B,DATA")
210# pragma comment (linker, "/EXPORT:?__rw_flt_qNaN@__rw@@3MB=?__rw_flt_qNaN_vc@__rw@@3T_FltBits@1@B,DATA")
211# pragma comment (linker, "/EXPORT:?__rw_flt_sNaN@__rw@@3MB=?__rw_flt_sNaN_vc@__rw@@3T_FltBits@1@B,DATA")
212# pragma comment (linker, "/EXPORT:?__rw_flt_denorm_min@__rw@@3MB=?__rw_flt_denorm_min_vc@__rw@@3T_FltBits@1@B,DATA")
214# pragma comment (linker, "/EXPORT:?__rw_dbl_infinity@__rw@@3NB=?__rw_dbl_infinity_vc@__rw@@3T_DblBits@1@B,DATA")
215# pragma comment (linker, "/EXPORT:?__rw_dbl_qNaN@__rw@@3NB=?__rw_dbl_qNaN_vc@__rw@@3T_DblBits@1@B,DATA")
216# pragma comment (linker, "/EXPORT:?__rw_dbl_sNaN@__rw@@3NB=?__rw_dbl_sNaN_vc@__rw@@3T_DblBits@1@B,DATA")
217# pragma comment (linker, "/EXPORT:?__rw_dbl_denorm_min@__rw@@3NB=?__rw_dbl_denorm_min_vc@__rw@@3T_DblBits@1@B,DATA")
219# ifndef _RWSTD_NO_LONG_DOUBLE
220# pragma comment (linker, "/EXPORT:?__rw_ldbl_infinity@__rw@@3OB=?__rw_ldbl_infinity_vc@__rw@@3T_LDblBits@1@B,DATA")
221# pragma comment (linker, "/EXPORT:?__rw_ldbl_qNaN@__rw@@3OB=?__rw_ldbl_qNaN_vc@__rw@@3T_LDblBits@1@B,DATA")
222# pragma comment (linker, "/EXPORT:?__rw_ldbl_sNaN@__rw@@3OB=?__rw_ldbl_sNaN_vc@__rw@@3T_LDblBits@1@B,DATA")
223# pragma comment (linker, "/EXPORT:?__rw_ldbl_denorm_min@__rw@@3OB=?__rw_ldbl_denorm_min_vc@__rw@@3T_LDblBits@1@B,DATA")
231# ifndef _RWSTD_NO_OBJECT_MANGLING
245# if defined (INFINITY)
249# elif defined (FLT_INFINITY)
253# elif defined (__osf__)
263_RWSTD_EXPORT extern const double __rw_dbl_infinity = __rw_flt_infinity;
265# ifndef _RWSTD_NO_LONG_DOUBLE
267_RWSTD_EXPORT extern const long double __rw_ldbl_infinity = __rw_flt_infinity;
277# elif defined (FLT_QNAN)
281# elif defined (__osf__)
293# if defined (FLT_SNAN)
299_RWSTD_EXPORT extern const double __rw_dbl_qNaN = __rw_flt_qNaN;
300_RWSTD_EXPORT extern const double __rw_dbl_sNaN = __rw_flt_sNaN;
305# ifndef _RWSTD_NO_LONG_DOUBLE
307_RWSTD_EXPORT extern const long double __rw_ldbl_qNaN = __rw_dbl_qNaN;
308_RWSTD_EXPORT extern const long double __rw_ldbl_sNaN = __rw_dbl_sNaN;
310_RWSTD_EXPORT extern const long double __rw_ldbl_denorm_min = 0;
#define _RWSTD_STATIC_CAST(T, x)
#define _RWSTD_NAMESPACE(name)