1 /* float.h for target with IEEE 32 bit and 64 bit and Motorola style 96 bit
2 floating point formats */
5 /* Produced by enquire version 4.3, CWI, Amsterdam */
7 /* Radix of exponent representation */
10 /* Number of base-FLT_RADIX digits in the significand of a float */
12 #define FLT_MANT_DIG 24
13 /* Number of decimal digits of precision in a float */
16 /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */
19 /* Difference between 1.0 and the minimum float greater than 1.0 */
21 #define FLT_EPSILON 1.19209290e-07F
22 /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */
24 #define FLT_MIN_EXP (-125)
25 /* Minimum normalised float */
27 #define FLT_MIN 1.17549435e-38F
28 /* Minimum int x such that 10**x is a normalised float */
30 #define FLT_MIN_10_EXP (-37)
31 /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */
33 #define FLT_MAX_EXP 128
36 #define FLT_MAX 3.40282347e+38F
37 /* Maximum int x such that 10**x is a representable float */
39 #define FLT_MAX_10_EXP 38
41 /* Number of base-FLT_RADIX digits in the significand of a double */
43 #define DBL_MANT_DIG 53
44 /* Number of decimal digits of precision in a double */
47 /* Difference between 1.0 and the minimum double greater than 1.0 */
49 #define DBL_EPSILON 2.2204460492503131e-16
50 /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */
52 #define DBL_MIN_EXP (-1021)
53 /* Minimum normalised double */
55 #define DBL_MIN 2.2250738585072014e-308
56 /* Minimum int x such that 10**x is a normalised double */
58 #define DBL_MIN_10_EXP (-307)
59 /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */
61 #define DBL_MAX_EXP 1024
64 #define DBL_MAX 1.7976931348623157e+308
65 /* Maximum int x such that 10**x is a representable double */
67 #define DBL_MAX_10_EXP 308
69 /* Number of base-FLT_RADIX digits in the significand of a long double */
71 #define LDBL_MANT_DIG 64
72 /* Number of decimal digits of precision in a long double */
75 /* Difference between 1.0 and the minimum long double greater than 1.0 */
77 #define LDBL_EPSILON 1.08420217248550443401e-19L
78 /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */
80 #define LDBL_MIN_EXP (-16382)
81 /* Minimum normalised long double */
83 #define LDBL_MIN 1.68105157155604675313e-4932L
84 /* Minimum int x such that 10**x is a normalised long double */
85 #undef LDBL_MIN_10_EXP
86 #define LDBL_MIN_10_EXP (-4931)
87 /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */
89 #define LDBL_MAX_EXP 16384
90 /* Maximum long double */
92 #define LDBL_MAX 1.18973149535723176502e+4932L
93 /* Maximum int x such that 10**x is a representable long double */
94 #undef LDBL_MAX_10_EXP
95 #define LDBL_MAX_10_EXP 4932
97 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
98 /* The floating-point expression evaluation method.
100 0 evaluate all operations and constants just to the range and
101 precision of the type
102 1 evaluate operations and constants of type float and double
103 to the range and precision of the double type, evaluate
104 long double operations and constants to the range and
105 precision of the long double type
106 2 evaluate all operations and constants to the range and
107 precision of the long double type
110 /* ??? FLT_EVAL_METHOD depends on TARGET_68040_ONLY. We do not currently
111 have a preprocessor token that we can use to tell that this is on. */
112 # undef FLT_EVAL_METHOD
113 # define FLT_EVAL_METHOD -1
115 /* Number of decimal digits to enable rounding to the given number of
116 decimal digits without loss of precision.
117 if FLT_RADIX == 10^n: #mantissa * log10 (FLT_RADIX)
118 else : ceil (1 + #mantissa * log10 (FLT_RADIX))
119 where #mantissa is the number of bits in the mantissa of the widest
120 supported floating-point type.
123 # define DECIMAL_DIG 21
127 #endif /* _FLOAT_H_ */