OSDN Git Service

2001-07-30 H.J. Lu (hjl@gnu.org)
[pf3gnuchains/gcc-fork.git] / gcc / config / float-i64.h
1 /* float.h for target with IEEE 32 bit and 64 bit floating point formats */
2 #ifndef _FLOAT_H_
3 #define _FLOAT_H_
4 /* Produced by enquire version 4.3, CWI, Amsterdam */
5
6    /* Radix of exponent representation */
7 #undef FLT_RADIX
8 #define FLT_RADIX 2
9    /* Number of base-FLT_RADIX digits in the significand of a float */
10 #undef FLT_MANT_DIG
11 #define FLT_MANT_DIG 24
12    /* Number of decimal digits of precision in a float */
13 #undef FLT_DIG
14 #define FLT_DIG 6
15    /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */
16 #undef FLT_ROUNDS
17 #define FLT_ROUNDS 1
18    /* Difference between 1.0 and the minimum float greater than 1.0 */
19 #undef FLT_EPSILON
20 #define FLT_EPSILON 1.19209290e-07F
21    /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */
22 #undef FLT_MIN_EXP
23 #define FLT_MIN_EXP (-125)
24    /* Minimum normalised float */
25 #undef FLT_MIN
26 #define FLT_MIN 1.17549435e-38F
27    /* Minimum int x such that 10**x is a normalised float */
28 #undef FLT_MIN_10_EXP
29 #define FLT_MIN_10_EXP (-37)
30    /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */
31 #undef FLT_MAX_EXP
32 #define FLT_MAX_EXP 128
33    /* Maximum float */
34 #undef FLT_MAX
35 #define FLT_MAX 3.40282347e+38F
36    /* Maximum int x such that 10**x is a representable float */
37 #undef FLT_MAX_10_EXP
38 #define FLT_MAX_10_EXP 38
39
40    /* Number of base-FLT_RADIX digits in the significand of a double */
41 #undef DBL_MANT_DIG
42 #define DBL_MANT_DIG 53
43    /* Number of decimal digits of precision in a double */
44 #undef DBL_DIG
45 #define DBL_DIG 15
46    /* Difference between 1.0 and the minimum double greater than 1.0 */
47 #undef DBL_EPSILON
48 #define DBL_EPSILON 2.2204460492503131e-16
49    /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */
50 #undef DBL_MIN_EXP
51 #define DBL_MIN_EXP (-1021)
52    /* Minimum normalised double */
53 #undef DBL_MIN
54 #define DBL_MIN 2.2250738585072014e-308
55    /* Minimum int x such that 10**x is a normalised double */
56 #undef DBL_MIN_10_EXP
57 #define DBL_MIN_10_EXP (-307)
58    /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */
59 #undef DBL_MAX_EXP
60 #define DBL_MAX_EXP 1024
61    /* Maximum double */
62 #undef DBL_MAX
63 #define DBL_MAX 1.7976931348623157e+308
64    /* Maximum int x such that 10**x is a representable double */
65 #undef DBL_MAX_10_EXP
66 #define DBL_MAX_10_EXP 308
67
68    /* Number of base-FLT_RADIX digits in the significand of a long double */
69 #undef LDBL_MANT_DIG
70 #define LDBL_MANT_DIG 53
71    /* Number of decimal digits of precision in a long double */
72 #undef LDBL_DIG
73 #define LDBL_DIG 15
74    /* Difference between 1.0 and the minimum long double greater than 1.0 */
75 #undef LDBL_EPSILON
76 #define LDBL_EPSILON 2.2204460492503131e-16L
77    /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */
78 #undef LDBL_MIN_EXP
79 #define LDBL_MIN_EXP (-1021)
80    /* Minimum normalised long double */
81 #undef LDBL_MIN
82 #define LDBL_MIN 2.2250738585072014e-308L
83    /* Minimum int x such that 10**x is a normalised long double */
84 #undef LDBL_MIN_10_EXP
85 #define LDBL_MIN_10_EXP (-307)
86    /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */
87 #undef LDBL_MAX_EXP
88 #define LDBL_MAX_EXP 1024
89    /* Maximum long double */
90 #undef LDBL_MAX
91 #define LDBL_MAX 1.7976931348623157e+308L
92    /* Maximum int x such that 10**x is a representable long double */
93 #undef LDBL_MAX_10_EXP
94 #define LDBL_MAX_10_EXP 308
95
96 #if __STDC_VERSION__ >= 199901L
97    /* The floating-point expression evaluation method.
98         -1  indeterminate
99          0  evaluate all operations and constants just to the range and
100             precision of the type
101          1  evaluate operations and constants of type float and double
102             to the range and precision of the double type, evaluate
103             long double operations and constants to the range and
104             precision of the long double type
105          2  evaluate all operations and constants to the range and
106             precision of the long double type
107    */
108 # undef FLT_EVAL_METHOD
109 # define FLT_EVAL_METHOD        0
110
111    /* Number of decimal digits to enable rounding to the given number of
112       decimal digits without loss of precision.
113          if FLT_RADIX == 10^n:  #mantissa * log10 (FLT_RADIX)
114          else                :  ceil (1 + #mantissa * log10 (FLT_RADIX))
115       where #mantissa is the number of bits in the mantissa of the widest
116       supported floating-point type.
117    */
118 # undef DECIMAL_DIG
119 # define DECIMAL_DIG    17
120
121 #endif  /* C99 */
122
123 #endif /*  _FLOAT_H_ */