Joseph Myers
03d95bd483
Fix exp2 spurious underflows (bug 16560).
...
This patch fixes the remaining part of bug 16560, spurious underflows
from exp2 of arguments close to 0 (when the result is close to 1, so
should not underflow), by just using 1+x instead of a more complicated
calculation when the argument is sufficiently small.
Tested for x86_64, x86 and mips64.
[BZ #16560 ]
* math/e_exp2l.c [LDBL_MANT_DIG == 106] (LDBL_EPSILON): Undefine
and redefine.
(__ieee754_exp2l): Do not multiply small fractional parts by
M_LN2l.
* sysdeps/i386/fpu/e_exp2l.S (__ieee754_exp2l): Just add 1 to
small argument.
* sysdeps/ieee754/dbl-64/e_exp2.c (__ieee754_exp2): Likewise.
* sysdeps/ieee754/flt-32/e_exp2f.c (__ieee754_exp2f): Likewise.
* sysdeps/x86_64/fpu/e_exp2l.S (__ieee754_exp2l): Likewise.
* math/auto-libm-test-in: Add more tests of exp2.
* math/auto-libm-test-out: Regenerated.
2015-02-12 19:02:45 +00:00
..
2015-01-05 11:59:32 -05:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2013-10-17 16:03:24 +02:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2014-06-23 20:20:10 +00:00
2015-02-12 19:02:45 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2014-02-10 15:07:12 +01:00
2015-01-02 16:29:47 +00:00
2014-02-10 15:07:12 +01:00
2013-10-17 16:03:24 +02:00
2013-10-17 16:03:24 +02:00
2014-06-23 20:17:13 +00:00
2014-06-27 14:52:13 +00:00
2012-03-09 16:09:10 -08:00
2014-02-10 15:07:12 +01:00
2014-02-10 15:07:12 +01:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2013-10-17 16:03:24 +02:00
2015-01-02 16:29:47 +00:00
2014-02-10 15:07:12 +01:00
2015-01-02 20:44:42 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2013-10-17 16:03:24 +02:00
2012-02-26 16:10:46 +01:00
2013-12-18 12:07:06 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2014-02-10 15:07:12 +01:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2013-10-17 16:03:24 +02:00
2013-10-17 16:03:24 +02:00
2014-05-14 12:34:03 +00:00
2013-10-17 16:03:24 +02:00
2013-10-17 16:03:24 +02:00
2013-12-06 05:47:03 -06:00
2013-10-17 16:03:24 +02:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2013-10-17 16:03:24 +02:00
2013-10-17 16:03:24 +02:00
2013-10-17 16:03:24 +02:00
2013-10-17 16:03:24 +02:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2014-04-29 15:43:36 +02:00
2014-02-10 15:07:12 +01:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2014-02-10 15:07:12 +01:00
2013-10-17 16:03:24 +02:00
2015-01-02 16:29:47 +00:00
2013-10-17 16:03:24 +02:00
2015-01-02 16:29:47 +00:00
2014-06-20 07:48:20 +05:30
2014-02-10 15:07:12 +01:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-02-11 23:17:25 +00:00
2015-01-02 16:29:47 +00:00
2013-10-17 16:03:24 +02:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00