From c4814b6b3a2b4f264a461a27667a139387968ee1 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Wed, 14 Mar 2012 17:20:10 +0100 Subject: Implement and use libc_feholdexcept_setround_53bit and libc_feupdateenv_53bit so that double arithmetic in s_sin is done in 53 bit (without extend i386 double precision) --- sysdeps/generic/math_private.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'sysdeps/generic/math_private.h') diff --git a/sysdeps/generic/math_private.h b/sysdeps/generic/math_private.h index 777762dd33..be1e4d2314 100644 --- a/sysdeps/generic/math_private.h +++ b/sysdeps/generic/math_private.h @@ -370,6 +370,9 @@ extern void __docos (double __x, double __dx, double __v[]); #define libc_feholdexcept_setroundl(e, r) \ do { feholdexcept (e); fesetround (r); } while (0) +#define libc_feholdexcept_setround_53bit(e, r) \ + libc_feholdexcept_setround (e, r) + #define libc_fetestexcept(e) fetestexcept (e) #define libc_fetestexceptf(e) fetestexcept (e) #define libc_fetestexceptl(e) fetestexcept (e) @@ -382,6 +385,8 @@ extern void __docos (double __x, double __dx, double __v[]); #define libc_feupdateenvf(e) (void) feupdateenv (e) #define libc_feupdateenvl(e) (void) feupdateenv (e) +#define libc_feupdateenv_53bit(e) libc_feupdateenv (e) + #define __nan(str) \ (__builtin_constant_p (str) && str[0] == '\0' ? NAN : __nan (str)) #define __nanf(str) \ -- cgit 1.4.1