Joseph Myers
01dbacd22a
Fix cacos (+Inf + finite*i) in round-downward mode (bug 16928).
...
According to C99/C11 Annex G, cacos applied to a value with real part
+Inf and finite imaginary part should produce a result with real part
+0. glibc wrongly produces a result with real part -0 in FE_DOWNWARD
mode. This patch fixes this by checking for zero results in the
relevant case of non-finite arguments (where there should never be a
result with -0 real part), and converts the tests of cacos to
ALL_RM_TEST.
Tested x86_64 and x86 and ulps updated accordingly.
[BZ #16928 ]
* math/s_cacos.c (__cacos): Ensure zero real part of result from
non-finite arguments is +0.
* math/s_cacosf.c (__cacosf): Likewise.
* math/s_cacosl.c (__cacosl): Likewise.
* math/libm-test.inc (cacos_test): Use ALL_RM_TEST.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2014-05-14 12:37:24 +00:00
..
2012-04-30 18:56:39 +00:00
2012-04-30 09:38:06 +00:00
2014-05-14 12:35:40 +00:00
2014-05-14 12:35:40 +00:00
2014-05-14 12:35:40 +00:00
2012-04-30 18:56:39 +00:00
2012-04-30 18:56:39 +00:00
2011-10-12 11:27:51 -04:00
2011-10-12 11:27:51 -04:00
2011-10-12 11:27:51 -04:00
2011-10-12 11:27:51 -04:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2011-10-12 11:27:51 -04:00
2011-10-12 11:27:51 -04:00
2011-10-12 11:27:51 -04:00
2011-10-12 11:27:51 -04:00
2011-10-12 11:27:51 -04:00
2012-05-06 18:23:44 +00:00
2011-10-15 20:22:59 -04:00
2011-10-15 20:22:59 -04:00
2014-03-27 18:41:14 +00:00
2011-10-12 11:27:51 -04:00
2011-10-12 11:27:51 -04:00
2011-10-12 11:27:51 -04:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2012-04-18 00:40:13 +02:00
2012-04-18 00:40:13 +02:00
2012-04-18 00:40:13 +02:00
2012-08-02 21:04:29 +02:00
2012-08-02 21:04:29 +02:00
2012-08-02 21:04:29 +02:00
2012-08-02 21:04:29 +02:00
2012-08-02 21:04:29 +02:00
2012-08-02 21:04:29 +02:00
2014-03-21 18:13:58 +00:00
2014-03-21 18:13:58 +00:00
2014-03-21 18:13:58 +00:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2011-10-12 11:27:51 -04:00
2011-10-12 11:27:51 -04:00
2011-10-12 11:27:51 -04:00
2012-08-02 21:04:29 +02:00
2012-08-02 21:04:29 +02:00
2012-08-02 21:04:29 +02:00
2013-11-29 16:31:16 +00:00
2011-10-12 11:27:51 -04:00
2011-10-12 11:27:51 -04:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-05-09 16:59:56 +00:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-05-09 16:59:56 +00:00
2013-06-12 10:36:48 +05:30
2014-05-09 16:59:56 +00:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2012-06-06 10:13:19 -07:00
2014-05-14 12:37:24 +00:00
2012-03-19 06:51:39 -07:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2012-05-07 19:13:08 +00:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2012-03-09 16:09:10 -08:00
2012-03-09 16:09:10 -08:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2012-02-07 00:41:11 +01:00
2012-02-07 00:41:11 +01:00
2012-02-07 00:41:11 +01:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-03-11 22:24:00 +00:00
2012-05-01 15:37:43 +00:00
2012-05-01 15:37:43 +00:00
2013-02-21 22:21:52 +00:00
2013-02-21 22:21:52 +00:00
2013-02-21 22:21:52 +00:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2014-01-01 22:00:23 +10:00
2013-11-29 16:31:16 +00:00