Systemnahe Programmierung in C: float.h |
1/* float.h for target with IEEE 32/64 bit and Intel 386 style 80 bit
2 floating point formats */
3#ifndef _FLOAT_H_
4#define _FLOAT_H_
5/* Produced by enquire version 4.3, CWI, Amsterdam */
6
7 /* Radix of exponent representation */
8#undef FLT_RADIX
9#define FLT_RADIX 2
10 /* Number of base-FLT_RADIX digits in the significand of a float */
11#undef FLT_MANT_DIG
12#define FLT_MANT_DIG 24
13 /* Number of decimal digits of precision in a float */
14#undef FLT_DIG
15#define FLT_DIG 6
16 /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */
17#undef FLT_ROUNDS
18#define FLT_ROUNDS 1
19 /* Difference between 1.0 and the minimum float greater than 1.0 */
20#undef FLT_EPSILON
21#define FLT_EPSILON 1.19209290e-07F
22 /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */
23#undef FLT_MIN_EXP
24#define FLT_MIN_EXP (-125)
25 /* Minimum normalised float */
26#undef FLT_MIN
27#define FLT_MIN 1.17549435e-38F
28 /* Minimum int x such that 10**x is a normalised float */
29#undef FLT_MIN_10_EXP
30#define FLT_MIN_10_EXP (-37)
31 /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */
32#undef FLT_MAX_EXP
33#define FLT_MAX_EXP 128
34 /* Maximum float */
35#undef FLT_MAX
36#define FLT_MAX 3.40282347e+38F
37 /* Maximum int x such that 10**x is a representable float */
38#undef FLT_MAX_10_EXP
39#define FLT_MAX_10_EXP 38
40
41 /* Number of base-FLT_RADIX digits in the significand of a double */
42#undef DBL_MANT_DIG
43#define DBL_MANT_DIG 53
44 /* Number of decimal digits of precision in a double */
45#undef DBL_DIG
46#define DBL_DIG 15
47 /* Difference between 1.0 and the minimum double greater than 1.0 */
48#undef DBL_EPSILON
49#define DBL_EPSILON 2.2204460492503131e-16
50 /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */
51#undef DBL_MIN_EXP
52#define DBL_MIN_EXP (-1021)
53 /* Minimum normalised double */
54#undef DBL_MIN
55#define DBL_MIN 2.2250738585072014e-308
56 /* Minimum int x such that 10**x is a normalised double */
57#undef DBL_MIN_10_EXP
58#define DBL_MIN_10_EXP (-307)
59 /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */
60#undef DBL_MAX_EXP
61#define DBL_MAX_EXP 1024
62 /* Maximum double */
63#undef DBL_MAX
64#define DBL_MAX 1.7976931348623157e+308
65 /* Maximum int x such that 10**x is a representable double */
66#undef DBL_MAX_10_EXP
67#define DBL_MAX_10_EXP 308
68
69 /* Number of base-FLT_RADIX digits in the significand of a long double */
70#undef LDBL_MANT_DIG
71#define LDBL_MANT_DIG 64
72 /* Number of decimal digits of precision in a long double */
73#undef LDBL_DIG
74#define LDBL_DIG 18
75 /* Difference between 1.0 and the minimum long double greater than 1.0 */
76#undef LDBL_EPSILON
77#ifndef __LDBL_UNION__
78#define __LDBL_UNION__
79union __convert_long_double {
80 unsigned __convert_long_double_i[4];
81 long double __convert_long_double_d;
82};
83#endif
84#define LDBL_EPSILON (__extension__ ((union __convert_long_double) {__convert_long_double_i: {0x0, 0x80000000, 0x3fc0, 0x0}}).__convert_long_double_d)
85 /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */
86#undef LDBL_MIN_EXP
87#define LDBL_MIN_EXP (-16381)
88 /* Minimum normalised long double */
89#undef LDBL_MIN
90#define LDBL_MIN (__extension__ ((union __convert_long_double) {__convert_long_double_i: {0x0, 0x80000000, 0x1, 0x0}}).__convert_long_double_d)
91 /* Minimum int x such that 10**x is a normalised long double */
92#undef LDBL_MIN_10_EXP
93#define LDBL_MIN_10_EXP (-4931)
94 /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */
95#undef LDBL_MAX_EXP
96#define LDBL_MAX_EXP 16384
97 /* Maximum long double */
98#undef LDBL_MAX
99#define LDBL_MAX (__extension__ ((union __convert_long_double) {__convert_long_double_i: {0xffffffff, 0xffffffff, 0x107ffe, 0x0}}).__convert_long_double_d)
100 /* Maximum int x such that 10**x is a representable long double */
101#undef LDBL_MAX_10_EXP
102#define LDBL_MAX_10_EXP 4932
103
104#endif /* _FLOAT_H___ */
|
Letzte Änderung: 06.05.2002 | © Prof. Dr. Uwe Schmidt |