Ne.app NeANT
The Ne.app NeANT User module of the NeANT distribution.
float_defs.h
Go to the documentation of this file.
1// definitions of the floating point constants
2
3
25// this file must be included only after the config.h
26
27#ifndef _RWSTD_NO_FLOAT_H
28# include <float.h>
29
30# if defined (__EDG__) \
31 && !defined (__DECCXX) \
32 && !defined (__HP_aCC) \
33 && !defined (__INTEL_COMPILER) \
34 && !defined (_SGI_COMPILER_VERSION)
35 // define gcc 4 intrinsics otherwise not recognized
36 // by the front end
37# define __FLT_DIG__ 6
38# define __FLT_EPSILON__ 1.19209290e-7F
39# define __FLT_MANT_DIG__ 24
40# define __FLT_MAX__ 3.40282347e+38F
41# define __FLT_MAX_10_EXP__ 38
42# define __FLT_MAX_EXP__ 128
43# define __FLT_MIN__ 1.17549435e-38F
44# define __FLT_MIN_10_EXP__ -37
45# define __FLT_MIN_EXP__ -125
46# define __FLT_RADIX__ 2
47
48# define __DBL_DIG__ 15
49# define __DBL_EPSILON__ 2.2204460492503131e-16
50# define __DBL_MANT_DIG__ 53
51# define __DBL_MAX__ 1.7976931348623157e+308
52# define __DBL_MAX_10_EXP__ 308
53# define __DBL_MAX_EXP__ 1024
54# define __DBL_MIN__ 2.2250738585072014e-308
55# define __DBL_MIN_10_EXP__ -307
56# define __DBL_MIN_EXP__ -1021
57
58# define __LDBL_DIG__ 18
59# define __LDBL_EPSILON__ 1.08420217248550443401e-19L
60# define __LDBL_MANT_DIG__ 64
61# define __LDBL_MAX__ 1.18973149535723176502e+4932L
62# define __LDBL_MAX_10_EXP__ 4932
63# define __LDBL_MAX_EXP__ 16384
64# define __LDBL_MIN__ 3.36210314311209350626e-4932L
65# define __LDBL_MIN_10_EXP__ -4931
66# define __LDBL_MIN_EXP__ -16381
67
68 // Linux value
69# define _RWSTD_FLT_ROUNDS 1 /* round to nearest */
70
71# if defined (__GNUC__) && __GNUC__ < 4
72
73 // prevent the propriterary gcc __extension__ from
74 // throwing the vanilla EDG demo for a loop
75
76# undef LDBL_EPSILON
77# undef LDBL_MIN
78# undef LDBL_MAX
79
80 // redefine to prevent compilation errors
81# define LDBL_EPSILON 1.0842021724855044e-19L
82# define LDBL_MIN 3.3621031431120935e-4932L
83# define LDBL_MAX 1.1897314953572317e+4932L
84# endif //gcc 3 (as the back end for eccp)
85# endif // EDG eccp vanilla front end
86#else // if defined (_RWSTD_NO_FLOAT_H)
87 // assume IEEE 754 floating point
88 // FIXME: autodetect floating point format
89# define FLT_DIG 6
90# define FLT_EPSILON 1.19209290e-7F
91# define FLT_MANT_DIG 24
92# define FLT_MAX 3.40282347e+38F
93# define FLT_MAX_10_EXP 38
94# define FLT_MAX_EXP 128
95# define FLT_MIN 1.17549435e-38F
96# define FLT_MIN_10_EXP -37
97# define FLT_MIN_EXP -125
98# define FLT_RADIX 2
99
100# define DBL_DIG 15
101# define DBL_EPSILON 2.2204460492503131e-16
102# define DBL_MANT_DIG 53
103# define DBL_MAX 1.7976931348623157e+308
104# define DBL_MAX_10_EXP 308
105# define DBL_MAX_EXP 1024
106# define DBL_MIN 2.2250738585072014e-308
107# define DBL_MIN_10_EXP -307
108# define DBL_MIN_EXP -1021
109
110# define LDBL_DIG 18
111# define LDBL_EPSILON 1.08420217248550443401e-19L
112# define LDBL_MANT_DIG 64
113# define LDBL_MAX 1.18973149535723176502e+4932L
114# define LDBL_MAX_10_EXP 4932
115# define LDBL_MAX_EXP 16384
116# define LDBL_MIN 3.36210314311209350626e-4932L
117# define LDBL_MIN_10_EXP -4931
118# define LDBL_MIN_EXP -16381
119
120 // Linux value
121# define _RWSTD_FLT_ROUNDS 1 /* round to nearest */
122#endif // _RWSTD_NO_FLOAT_H