From eb92c487b35e26aa1e08815c4480d0bc5cc9f370 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Sat, 10 Mar 2012 08:55:53 -0800 Subject: Create and use SET_RESTORE_ROUND{,_NOEX,_53BIT}{,F,L}. --- sysdeps/ieee754/dbl-64/e_pow.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'sysdeps/ieee754/dbl-64/e_pow.c') diff --git a/sysdeps/ieee754/dbl-64/e_pow.c b/sysdeps/ieee754/dbl-64/e_pow.c index 550633cf9b..f936a72de7 100644 --- a/sysdeps/ieee754/dbl-64/e_pow.c +++ b/sysdeps/ieee754/dbl-64/e_pow.c @@ -85,10 +85,9 @@ __ieee754_pow(double x, double y) { (u.i[HIGH_HALF]==0 && u.i[LOW_HALF]!=0)) && /* 2^-1023< x<= 2^-1023 * 0x1.0000ffffffff */ (v.i[HIGH_HALF]&0x7fffffff) < 0x4ff00000) { /* if y<-1 or y>1 */ - fenv_t env; double retval; - libc_feholdexcept_setround (&env, FE_TONEAREST); + SET_RESTORE_ROUND (FE_TONEAREST); z = log1(x,&aa,&error); /* x^y =e^(y log (X)) */ t = y*134217729.0; @@ -105,7 +104,6 @@ __ieee754_pow(double x, double y) { t = __exp1(a1,a2,1.9e16*error); /* return -10 or 0 if wasn't computed exactly */ retval = (t>0)?t:power1(x,y); - libc_feupdateenv (&env); return retval; } -- cgit v1.2.1