diff options
author | Ulrich Drepper <drepper@redhat.com> | 2001-02-19 23:16:05 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2001-02-19 23:16:05 +0000 |
commit | f14bd805a73308dd187d9fc768358a07a8efc54a (patch) | |
tree | 3cd722357ad98e9af17ba75e95603bce20c067f6 /sysdeps/ieee754/flt-32/e_powf.c | |
parent | d210ca02ec8a5ba034946c57b85c2f3e503a6017 (diff) | |
download | glibc-f14bd805a73308dd187d9fc768358a07a8efc54a.tar.gz glibc-f14bd805a73308dd187d9fc768358a07a8efc54a.tar.xz glibc-f14bd805a73308dd187d9fc768358a07a8efc54a.zip |
Update.
* sysdeps/ieee754/flt-32/e_powf.c: Handle x == +-1 correctly. * sysdeps/ieee754/dbl-64/e_pow.c: Likewise.
Diffstat (limited to 'sysdeps/ieee754/flt-32/e_powf.c')
-rw-r--r-- | sysdeps/ieee754/flt-32/e_powf.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sysdeps/ieee754/flt-32/e_powf.c b/sysdeps/ieee754/flt-32/e_powf.c index 4798340c84..9f520804a4 100644 --- a/sysdeps/ieee754/flt-32/e_powf.c +++ b/sysdeps/ieee754/flt-32/e_powf.c @@ -76,6 +76,10 @@ ivln2_l = 7.0526075433e-06; /* 0x36eca570 =1/ln2 tail*/ /* y==zero: x**0 = 1 */ if(iy==0) return one; + /* x==+-1 */ + if(x == 1.0) return one; + if(x == -1.0 && isinf(y)) return one; + /* +-NaN return x+y */ if(ix > 0x7f800000 || iy > 0x7f800000) |