Test cpow in all rounding modes
Andreas Jaeger
aj@suse.com
Mon Jun 23 18:24:00 GMT 2014
On 06/11/2014 01:01 AM, Joseph S. Myers wrote:
> This patch enables testing of cpow in all rounding modes using
> ALL_RM_TEST. There were two reasons this was previously deferred:
>
> * MPC has complicated rounding-mode-dependent rules for the signs of
> exact zero real or imaginary parts in the result of mpc_pow. Annex
> G does not impose any such requirements and I don't think glibc
> should try to implement any particular logic here. This patch adds
> support for gen-auto-libm-tests passing the IGNORE_ZERO_INF_SIGN
> flag to libm-test.inc.
>
> * Error accumulations in some tests in non-default rounding modes
> exceed the maximum error permitted in libm-test.inc. This patch
> marks the problem tests with xfail-rounding. (It might be possible
> to reduce the accumulations a bit by using round-to-nearest when
> cpow calls clog, but I don't think there's much point; the
> implementation approach for cpow is fundamentally deficient, as
> discussed in the existing bug for cpow inaccuracy which can
> reasonably be considered to cover these less-inaccurate cases as
> well. It's possible that the test "cpow 2 0 10 0" will also need
> xfail-rounding on some platforms.)
>
> Tested x86_64 and x86 and ulps updated accordingly.
Looks fine, thanks,
Andreas
--
Andreas Jaeger aj@{suse.com,opensuse.org} Twitter/Identica: jaegerandi
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn,Jennifer Guild,Felix Imendörffer,HRB16746 (AG Nürnberg)
GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126
More information about the Libc-alpha
mailing list