404a0fea46
builds on Linux with gcc 2 and 4, but the images do even run. :-) Not tested on BeOS. * Removed stddef.h and stdarg.h. They are provided by the compiler. * Adjusted size_t.h, wchar_t.h, and wchar.h accordingly. * Made stdio.h avoid gcc 2.95.3's fixincludes hack stdio_va_list * Added gcc 2.95.3 headers to the repository. They are used instead of the headers of the gcc 2.95.3's we use to compile Haiku with. Should avoid build problems with the BeOS native compiler. For sake of personal recreation you can rebuild the cross gcc 2.95.3, but the only thing that changed is its header directory (lib/gcc-lib/.../include), which isn't used anymore. Replacing it with headers/build/gcc-2.95.3 should have the same effect as rebuilding, BTW. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24413 a95241bf-73f2-0310-859d-f6bbb57e9c96
105 lines
3.8 KiB
C
105 lines
3.8 KiB
C
/* float.h for target with IEEE 32/64 bit and Intel 386 style 80 bit
|
|
floating point formats */
|
|
#ifndef _FLOAT_H_
|
|
#define _FLOAT_H_
|
|
/* Produced by enquire version 4.3, CWI, Amsterdam */
|
|
|
|
/* Radix of exponent representation */
|
|
#undef FLT_RADIX
|
|
#define FLT_RADIX 2
|
|
/* Number of base-FLT_RADIX digits in the significand of a float */
|
|
#undef FLT_MANT_DIG
|
|
#define FLT_MANT_DIG 24
|
|
/* Number of decimal digits of precision in a float */
|
|
#undef FLT_DIG
|
|
#define FLT_DIG 6
|
|
/* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */
|
|
#undef FLT_ROUNDS
|
|
#define FLT_ROUNDS 1
|
|
/* Difference between 1.0 and the minimum float greater than 1.0 */
|
|
#undef FLT_EPSILON
|
|
#define FLT_EPSILON 1.19209290e-07F
|
|
/* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */
|
|
#undef FLT_MIN_EXP
|
|
#define FLT_MIN_EXP (-125)
|
|
/* Minimum normalised float */
|
|
#undef FLT_MIN
|
|
#define FLT_MIN 1.17549435e-38F
|
|
/* Minimum int x such that 10**x is a normalised float */
|
|
#undef FLT_MIN_10_EXP
|
|
#define FLT_MIN_10_EXP (-37)
|
|
/* Maximum int x such that FLT_RADIX**(x-1) is a representable float */
|
|
#undef FLT_MAX_EXP
|
|
#define FLT_MAX_EXP 128
|
|
/* Maximum float */
|
|
#undef FLT_MAX
|
|
#define FLT_MAX 3.40282347e+38F
|
|
/* Maximum int x such that 10**x is a representable float */
|
|
#undef FLT_MAX_10_EXP
|
|
#define FLT_MAX_10_EXP 38
|
|
|
|
/* Number of base-FLT_RADIX digits in the significand of a double */
|
|
#undef DBL_MANT_DIG
|
|
#define DBL_MANT_DIG 53
|
|
/* Number of decimal digits of precision in a double */
|
|
#undef DBL_DIG
|
|
#define DBL_DIG 15
|
|
/* Difference between 1.0 and the minimum double greater than 1.0 */
|
|
#undef DBL_EPSILON
|
|
#define DBL_EPSILON 2.2204460492503131e-16
|
|
/* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */
|
|
#undef DBL_MIN_EXP
|
|
#define DBL_MIN_EXP (-1021)
|
|
/* Minimum normalised double */
|
|
#undef DBL_MIN
|
|
#define DBL_MIN 2.2250738585072014e-308
|
|
/* Minimum int x such that 10**x is a normalised double */
|
|
#undef DBL_MIN_10_EXP
|
|
#define DBL_MIN_10_EXP (-307)
|
|
/* Maximum int x such that FLT_RADIX**(x-1) is a representable double */
|
|
#undef DBL_MAX_EXP
|
|
#define DBL_MAX_EXP 1024
|
|
/* Maximum double */
|
|
#undef DBL_MAX
|
|
#define DBL_MAX 1.7976931348623157e+308
|
|
/* Maximum int x such that 10**x is a representable double */
|
|
#undef DBL_MAX_10_EXP
|
|
#define DBL_MAX_10_EXP 308
|
|
|
|
/* Number of base-FLT_RADIX digits in the significand of a long double */
|
|
#undef LDBL_MANT_DIG
|
|
#define LDBL_MANT_DIG 64
|
|
/* Number of decimal digits of precision in a long double */
|
|
#undef LDBL_DIG
|
|
#define LDBL_DIG 18
|
|
/* Difference between 1.0 and the minimum long double greater than 1.0 */
|
|
#undef LDBL_EPSILON
|
|
#ifndef __LDBL_UNION__
|
|
#define __LDBL_UNION__
|
|
union __convert_long_double {
|
|
unsigned __convert_long_double_i[4];
|
|
long double __convert_long_double_d;
|
|
};
|
|
#endif
|
|
#define LDBL_EPSILON (__extension__ ((union __convert_long_double) {__convert_long_double_i: {0x0, 0x80000000, 0x3fc0, 0x0}}).__convert_long_double_d)
|
|
/* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */
|
|
#undef LDBL_MIN_EXP
|
|
#define LDBL_MIN_EXP (-16381)
|
|
/* Minimum normalised long double */
|
|
#undef LDBL_MIN
|
|
#define LDBL_MIN (__extension__ ((union __convert_long_double) {__convert_long_double_i: {0x0, 0x80000000, 0x1, 0x0}}).__convert_long_double_d)
|
|
/* Minimum int x such that 10**x is a normalised long double */
|
|
#undef LDBL_MIN_10_EXP
|
|
#define LDBL_MIN_10_EXP (-4931)
|
|
/* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */
|
|
#undef LDBL_MAX_EXP
|
|
#define LDBL_MAX_EXP 16384
|
|
/* Maximum long double */
|
|
#undef LDBL_MAX
|
|
#define LDBL_MAX (__extension__ ((union __convert_long_double) {__convert_long_double_i: {0xffffffff, 0xffffffff, 0x107ffe, 0x0}}).__convert_long_double_d)
|
|
/* Maximum int x such that 10**x is a representable long double */
|
|
#undef LDBL_MAX_10_EXP
|
|
#define LDBL_MAX_10_EXP 4932
|
|
|
|
#endif /* _FLOAT_H___ */
|