Fix dbl-64 atan in non-default rounding modes (bug 18197).
commitae63c7ebedcaa57017df4cb8ff0494a4705321ee
authorJoseph Myers <joseph@codesourcery.com>
Wed, 8 Apr 2015 17:14:12 +0000 (8 17:14 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Wed, 8 Apr 2015 17:14:12 +0000 (8 17:14 +0000)
tree4f2b413430bffe2a9c5354c5bd4e731106d7b832
parentd5856d06c3ef62907f2865c502ada4baf3c9efa1
Fix dbl-64 atan in non-default rounding modes (bug 18197).

The dbl-64 implementation of atan does computations that expect to run
in round-to-nearest mode, and in other modes the errors can accumulate
to more than the maximum accepted 9ulp.  This patch makes it use
FE_TONEAREST internally, similar to other functions with such issues.

Tested for x86_64 and x86; no ulps updates needed.

[BZ #18197]
* sysdeps/ieee754/dbl-64/s_atan.c: Include <fenv.h>.
(atan): Set FE_TONEAREST mode for internal computations.
* math/auto-libm-test-in: Add more tests of atan.
* math/auto-libm-test-out: Regenerated.
ChangeLog
NEWS
math/auto-libm-test-in
math/auto-libm-test-out
sysdeps/ieee754/dbl-64/s_atan.c