diff options
author | David E. O'Brien <obrien@FreeBSD.org> | 2002-02-01 18:16:02 +0000 |
---|---|---|
committer | David E. O'Brien <obrien@FreeBSD.org> | 2002-02-01 18:16:02 +0000 |
commit | 1952e2e1c1be6f107fa3ce8b10025cfd1cd7943b (patch) | |
tree | 086d9d6c8fbd4fc8fe4495059332f66bc0f8d12b /contrib/gcc/config/float-i386.h | |
parent | d337ceafd72ec93f99dfbee5ea0e70ed180a2dd6 (diff) |
Enlist the FreeBSD-CURRENT users as testers of what is to become Gcc 3.1.0.
These bits are taken from the FSF anoncvs repo on 1-Feb-2002 08:20 PST.
Notes
Notes:
svn path=/vendor/gcc/dist/; revision=90075
Diffstat (limited to 'contrib/gcc/config/float-i386.h')
-rw-r--r-- | contrib/gcc/config/float-i386.h | 40 |
1 files changed, 30 insertions, 10 deletions
diff --git a/contrib/gcc/config/float-i386.h b/contrib/gcc/config/float-i386.h index 2d14f702c56c..6abb4f2b7b2b 100644 --- a/contrib/gcc/config/float-i386.h +++ b/contrib/gcc/config/float-i386.h @@ -74,20 +74,13 @@ #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) +#define LDBL_EPSILON 1.08420217248550443401e-19L /* 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) +#define LDBL_MIN 3.36210314311209350626e-4932L /* Minimum int x such that 10**x is a normalised long double */ #undef LDBL_MIN_10_EXP #define LDBL_MIN_10_EXP (-4931) @@ -96,9 +89,36 @@ union __convert_long_double { #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) +#define LDBL_MAX 1.18973149535723176502e+4932L /* Maximum int x such that 10**x is a representable long double */ #undef LDBL_MAX_10_EXP #define LDBL_MAX_10_EXP 4932 +#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + /* The floating-point expression evaluation method. + -1 indeterminate + 0 evaluate all operations and constants just to the range and + precision of the type + 1 evaluate operations and constants of type float and double + to the range and precision of the double type, evaluate + long double operations and constants to the range and + precision of the long double type + 2 evaluate all operations and constants to the range and + precision of the long double type + */ +# undef FLT_EVAL_METHOD +# define FLT_EVAL_METHOD 2 + + /* Number of decimal digits to enable rounding to the given number of + decimal digits without loss of precision. + if FLT_RADIX == 10^n: #mantissa * log10 (FLT_RADIX) + else : ceil (1 + #mantissa * log10 (FLT_RADIX)) + where #mantissa is the number of bits in the mantissa of the widest + supported floating-point type. + */ +# undef DECIMAL_DIG +# define DECIMAL_DIG 21 + +#endif /* C99 */ + #endif /* _FLOAT_H___ */ |