diff options
author | Mike Frysinger <vapier@gentoo.org> | 2006-08-23 19:27:42 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2006-08-23 19:27:42 +0000 |
commit | 0814bdad52c764ec4f3c010e78d7cdb6418e64e0 (patch) | |
tree | 3c706ff1cb2cce2cbc9eb500095745b974e3e4b9 /libc/sysdeps/linux/x86_64/bits/mathdef.h | |
parent | e47414d975e0ba1fe3a5f329756a20daaf31fefa (diff) |
sync with upstream via psm
Diffstat (limited to 'libc/sysdeps/linux/x86_64/bits/mathdef.h')
-rw-r--r-- | libc/sysdeps/linux/x86_64/bits/mathdef.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/libc/sysdeps/linux/x86_64/bits/mathdef.h b/libc/sysdeps/linux/x86_64/bits/mathdef.h index 37665c209..b0567e4d4 100644 --- a/libc/sysdeps/linux/x86_64/bits/mathdef.h +++ b/libc/sysdeps/linux/x86_64/bits/mathdef.h @@ -23,14 +23,30 @@ #if defined __USE_ISOC99 && defined _MATH_H && !defined _MATH_H_MATHDEF # define _MATH_H_MATHDEF 1 +# include <bits/wordsize.h> + +# if __WORDSIZE == 64 || (defined __FLT_EVAL_METHOD__ && __FLT_EVAL_METHOD__ == 0) /* The x86-64 architecture computes values with the precission of the - used type. */ + used type. Similarly for -m32 -mfpmath=sse. */ typedef float float_t; /* `float' expressions are evaluated as `float'. */ typedef double double_t; /* `double' expressions are evaluated as `double'. */ +# else +/* The ix87 FPUs evaluate all values in the 80 bit floating-point format + which is also available for the user as `long double'. Therefore we + define: */ +typedef long double float_t; /* `float' expressions are evaluated as + `long double'. */ +typedef long double double_t; /* `double' expressions are evaluated as + `long double'. */ +# endif /* The values returned by `ilogb' for 0 and NaN respectively. */ # define FP_ILOGB0 (-2147483647 - 1) # define FP_ILOGBNAN (-2147483647 - 1) #endif /* ISO C99 */ + +#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ +# define __NO_LONG_DOUBLE_MATH 1 +#endif |