1/* float.h for target sh3e with optional IEEE 32 bit double format */
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#if defined (__SH3E__) || defined (__SH4_SINGLE_ONLY__)
41
42   /* Number of base-FLT_RADIX digits in the significand of a double */
43#undef DBL_MANT_DIG
44#define DBL_MANT_DIG 24
45   /* Number of decimal digits of precision in a double */
46#undef DBL_DIG
47#define DBL_DIG 6
48   /* Difference between 1.0 and the minimum double greater than 1.0 */
49#undef DBL_EPSILON
50#define DBL_EPSILON 1.19209290e-07F
51   /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */
52#undef DBL_MIN_EXP
53#define DBL_MIN_EXP (-125)
54   /* Minimum normalised double */
55#undef DBL_MIN
56#define DBL_MIN 1.17549435e-38F
57   /* Minimum int x such that 10**x is a normalised double */
58#undef DBL_MIN_10_EXP
59#define DBL_MIN_10_EXP (-37)
60   /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */
61#undef DBL_MAX_EXP
62#define DBL_MAX_EXP 128
63   /* Maximum double */
64#undef DBL_MAX
65#define DBL_MAX 3.40282347e+38F
66   /* Maximum int x such that 10**x is a representable double */
67#undef DBL_MAX_10_EXP
68#define DBL_MAX_10_EXP 38
69
70#else
71
72   /* Number of base-FLT_RADIX digits in the significand of a double */
73#undef DBL_MANT_DIG
74#define DBL_MANT_DIG 53
75   /* Number of decimal digits of precision in a double */
76#undef DBL_DIG
77#define DBL_DIG 15
78   /* Difference between 1.0 and the minimum double greater than 1.0 */
79#undef DBL_EPSILON
80#define DBL_EPSILON 2.2204460492503131e-16
81   /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */
82#undef DBL_MIN_EXP
83#define DBL_MIN_EXP (-1021)
84   /* Minimum normalised double */
85#undef DBL_MIN
86#define DBL_MIN 2.2250738585072014e-308
87   /* Minimum int x such that 10**x is a normalised double */
88#undef DBL_MIN_10_EXP
89#define DBL_MIN_10_EXP (-307)
90   /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */
91#undef DBL_MAX_EXP
92#define DBL_MAX_EXP 1024
93   /* Maximum double */
94#undef DBL_MAX
95#define DBL_MAX 1.7976931348623157e+308
96   /* Maximum int x such that 10**x is a representable double */
97#undef DBL_MAX_10_EXP
98#define DBL_MAX_10_EXP 308
99
100#endif
101
102   /* Number of base-FLT_RADIX digits in the significand of a long double */
103#undef LDBL_MANT_DIG
104#define LDBL_MANT_DIG 53
105   /* Number of decimal digits of precision in a long double */
106#undef LDBL_DIG
107#define LDBL_DIG 15
108   /* Difference between 1.0 and the minimum long double greater than 1.0 */
109#undef LDBL_EPSILON
110#define LDBL_EPSILON 2.2204460492503131e-16
111   /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */
112#undef LDBL_MIN_EXP
113#define LDBL_MIN_EXP (-1021)
114   /* Minimum normalised long double */
115#undef LDBL_MIN
116#define LDBL_MIN 2.2250738585072014e-308
117   /* Minimum int x such that 10**x is a normalised long double */
118#undef LDBL_MIN_10_EXP
119#define LDBL_MIN_10_EXP (-307)
120   /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */
121#undef LDBL_MAX_EXP
122#define LDBL_MAX_EXP 1024
123   /* Maximum long double */
124#undef LDBL_MAX
125#define LDBL_MAX 1.7976931348623157e+308
126   /* Maximum int x such that 10**x is a representable long double */
127#undef LDBL_MAX_10_EXP
128#define LDBL_MAX_10_EXP 308
129
130#endif /*  _FLOAT_H_ */
131