diff options
author | Joseph Myers <joseph@codesourcery.com> | 2015-08-17 23:02:54 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2015-08-17 23:02:54 +0000 |
commit | 3fb4cfaf1f1e8d58312720c70d224e2050d469fc (patch) | |
tree | 8293c35bf217fba00a445ecb077a546aa8992413 /ChangeLog | |
parent | 1e15a853ed43e9f71cbec6d36e016d31b0d238a1 (diff) | |
download | glibc-3fb4cfaf1f1e8d58312720c70d224e2050d469fc.tar glibc-3fb4cfaf1f1e8d58312720c70d224e2050d469fc.tar.gz glibc-3fb4cfaf1f1e8d58312720c70d224e2050d469fc.tar.bz2 glibc-3fb4cfaf1f1e8d58312720c70d224e2050d469fc.zip |
Fix csqrt spurious underflows (bug 18823).
The csqrt functions scale up small arguments to avoid underflows when
calling hypot functions. However, even when hypot does not underflow,
a subsequent calculation of 0.5 * hypot can underflow. This patch
duly increases the threshold and scale factor to avoid such underflows
as well.
Tested for x86_64, x86 and mips64.
[BZ #18823]
* math/s_csqrt.c (__csqrt): Increase threshold and scale factor
for scaling up small arguments.
* math/s_csqrtf.c (__csqrtf): Likewise.
* math/s_csqrtl.c (__csqrtl): Likewise.
* math/auto-libm-test-in: Add more tests of csqrt.
* math/auto-libm-test-out: Regenerated.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -1,3 +1,13 @@ +2015-08-17 Joseph Myers <joseph@codesourcery.com> + + [BZ #18823] + * math/s_csqrt.c (__csqrt): Increase threshold and scale factor + for scaling up small arguments. + * math/s_csqrtf.c (__csqrtf): Likewise. + * math/s_csqrtl.c (__csqrtl): Likewise. + * math/auto-libm-test-in: Add more tests of csqrt. + * math/auto-libm-test-out: Regenerated. + 2015-08-17 Andreas Schwab <schwab@suse.de> * sysdeps/unix/sysv/linux/powerpc/Versions (libm): Add empty |