mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-10 23:30:07 +00:00
Use libc_fe*() in 32-bit nearbyint()
* sysdeps/ieee754/dbl-64/s_nearbyint.c (__nearbyint): Use libc_feholdexcept and libc_fesetenv.
This commit is contained in:
parent
357679d2fc
commit
438ebba294
@ -44,10 +44,10 @@ double __nearbyint(double x)
|
||||
j0 = ((i0>>20)&0x7ff)-0x3ff;
|
||||
if(j0<52) {
|
||||
if(j0<0) {
|
||||
feholdexcept (&env);
|
||||
libc_feholdexcept (&env);
|
||||
w = TWO52[sx]+x;
|
||||
t = w-TWO52[sx];
|
||||
fesetenv (&env);
|
||||
libc_fesetenv (&env);
|
||||
GET_HIGH_WORD(i0,t);
|
||||
SET_HIGH_WORD(t,(i0&0x7fffffff)|(sx<<31));
|
||||
return t;
|
||||
@ -56,10 +56,10 @@ double __nearbyint(double x)
|
||||
if(j0==0x400) return x+x; /* inf or NaN */
|
||||
else return x; /* x is integral */
|
||||
}
|
||||
feholdexcept (&env);
|
||||
libc_feholdexcept (&env);
|
||||
w = TWO52[sx]+x;
|
||||
t = w-TWO52[sx];
|
||||
fesetenv (&env);
|
||||
libc_fesetenv (&env);
|
||||
return t;
|
||||
}
|
||||
weak_alias (__nearbyint, nearbyint)
|
||||
|
Loading…
Reference in New Issue
Block a user