1999-10-24 22:04:52 +00:00
|
|
|
# Begin of automatic generation
|
|
|
|
|
|
|
|
# Maximal error of functions:
|
2012-03-05 12:37:29 +00:00
|
|
|
Function: "acos":
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
2012-04-30 09:38:06 +00:00
|
|
|
Function: "acos_downward":
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
2013-11-30 22:04:13 +00:00
|
|
|
Function: "acos_tonearest":
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
2012-04-30 09:38:06 +00:00
|
|
|
Function: "acos_towardzero":
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "acos_upward":
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
2014-05-14 12:35:40 +00:00
|
|
|
Function: "acosh_downward":
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: "acosh_towardzero":
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: "acosh_upward":
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
2012-04-30 09:38:06 +00:00
|
|
|
Function: "asin_downward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "asin_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "asin_upward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
Add more libm-test coverage of [a-c]* real functions.
Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.
This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).
Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 21:03:39 +00:00
|
|
|
Function: "asinh":
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
Test most libm functions in all rounding modes.
This patch makes libm-test.inc tests of most functions use ALL_RM_TEST
unless there was some reason to defer that change for a particular
function.
I started out planning to defer the change for pow (bug 16315), cexp /
ccos / ccosh / csin / csinh (likely fallout from exp, bug 16284) and
cpow (exact expectations for signs of exact zero results not wanted).
Testing on x86_64 and x86 showed additional failures for acosh, cacos,
catan, catanh, clog, clog10, jn, log, log10, log1p, log2, tgamma, yn,
so making the change for those functions was deferred as well, pending
investigation to show which of these represent distinct bugs (some
such bugs may already be filed) and appropriate fixing / XFAILing.
Failures include wrong signs of zero results, errors slightly above
the 9ulp bound (in such cases it may make sense for functions to set
round-to-nearest internally to reduce error accumulation), large
errors and incorrect overflow/underflow for the rounding mode (with
consequent missing errno settings in some cases). It's possible some
could be issues with test expectations, though I didn't notice any
that were obviously like that (I added NO_TEST_INLINE for cases that
were failing for ildoubl on x86 and where it seemed reasonable for
them to fail for the fast-math inlines).
There may of course be failures on other architectures for functions
that didn't fail on x86_64 or x86, in which case the usual rule
applies: file a bug (preferably identifying the underlying problem
function, in cases where function A calls function B and a problem
with function B may present in the test results for function A) if not
already in Bugzilla then fix or XFAIL.
Tested x86_64 and x86 and ulps updated accordingly.
* math/libm-test.inc (asinh_test): Use ALL_RM_TEST.
(atan_test): Likewise.
(atanh_test_data): Use NO_TEST_INLINE for two tests.
(atanh_test): Use ALL_RM_TEST.
(atan2_test_data): Likewise.
(cabs_test): Likewise.
(cacosh_test): Likewise.
(carg_test): Likewise.
(casin_test): Likewise.
(casinh_test): Likewise.
(cbrt_test): Likewise.
(csqrt_test): Likewise.
(erf_test): Likewise.
(erfc_test): Likewise.
(pow10_test): Likewise.
(exp2_test): Likewise.
(hypot_test): Likewise.
(j0_test): Likewise.
(j1_test): Likewise.
(lgamma_test): Likewise.
(gamma_test): Likewise.
(sincos_test): Likewise.
(tanh_test): Likewise.
(y0_test): Likewise.
(y1_test): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2014-03-21 00:03:38 +00:00
|
|
|
Function: "asinh_downward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: "asinh_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: "asinh_upward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 5
|
|
|
|
ldouble: 2
|
|
|
|
|
2013-12-16 21:18:07 +00:00
|
|
|
Function: "atan2":
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
Test most libm functions in all rounding modes.
This patch makes libm-test.inc tests of most functions use ALL_RM_TEST
unless there was some reason to defer that change for a particular
function.
I started out planning to defer the change for pow (bug 16315), cexp /
ccos / ccosh / csin / csinh (likely fallout from exp, bug 16284) and
cpow (exact expectations for signs of exact zero results not wanted).
Testing on x86_64 and x86 showed additional failures for acosh, cacos,
catan, catanh, clog, clog10, jn, log, log10, log1p, log2, tgamma, yn,
so making the change for those functions was deferred as well, pending
investigation to show which of these represent distinct bugs (some
such bugs may already be filed) and appropriate fixing / XFAILing.
Failures include wrong signs of zero results, errors slightly above
the 9ulp bound (in such cases it may make sense for functions to set
round-to-nearest internally to reduce error accumulation), large
errors and incorrect overflow/underflow for the rounding mode (with
consequent missing errno settings in some cases). It's possible some
could be issues with test expectations, though I didn't notice any
that were obviously like that (I added NO_TEST_INLINE for cases that
were failing for ildoubl on x86 and where it seemed reasonable for
them to fail for the fast-math inlines).
There may of course be failures on other architectures for functions
that didn't fail on x86_64 or x86, in which case the usual rule
applies: file a bug (preferably identifying the underlying problem
function, in cases where function A calls function B and a problem
with function B may present in the test results for function A) if not
already in Bugzilla then fix or XFAIL.
Tested x86_64 and x86 and ulps updated accordingly.
* math/libm-test.inc (asinh_test): Use ALL_RM_TEST.
(atan_test): Likewise.
(atanh_test_data): Use NO_TEST_INLINE for two tests.
(atanh_test): Use ALL_RM_TEST.
(atan2_test_data): Likewise.
(cabs_test): Likewise.
(cacosh_test): Likewise.
(carg_test): Likewise.
(casin_test): Likewise.
(casinh_test): Likewise.
(cbrt_test): Likewise.
(csqrt_test): Likewise.
(erf_test): Likewise.
(erfc_test): Likewise.
(pow10_test): Likewise.
(exp2_test): Likewise.
(hypot_test): Likewise.
(j0_test): Likewise.
(j1_test): Likewise.
(lgamma_test): Likewise.
(gamma_test): Likewise.
(sincos_test): Likewise.
(tanh_test): Likewise.
(y0_test): Likewise.
(y1_test): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2014-03-21 00:03:38 +00:00
|
|
|
Function: "atan2_downward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "atan2_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "atan2_upward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "atan_downward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "atan_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "atan_upward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: "atanh":
|
2002-06-20 08:34:01 +00:00
|
|
|
ildouble: 2
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
Test most libm functions in all rounding modes.
This patch makes libm-test.inc tests of most functions use ALL_RM_TEST
unless there was some reason to defer that change for a particular
function.
I started out planning to defer the change for pow (bug 16315), cexp /
ccos / ccosh / csin / csinh (likely fallout from exp, bug 16284) and
cpow (exact expectations for signs of exact zero results not wanted).
Testing on x86_64 and x86 showed additional failures for acosh, cacos,
catan, catanh, clog, clog10, jn, log, log10, log1p, log2, tgamma, yn,
so making the change for those functions was deferred as well, pending
investigation to show which of these represent distinct bugs (some
such bugs may already be filed) and appropriate fixing / XFAILing.
Failures include wrong signs of zero results, errors slightly above
the 9ulp bound (in such cases it may make sense for functions to set
round-to-nearest internally to reduce error accumulation), large
errors and incorrect overflow/underflow for the rounding mode (with
consequent missing errno settings in some cases). It's possible some
could be issues with test expectations, though I didn't notice any
that were obviously like that (I added NO_TEST_INLINE for cases that
were failing for ildoubl on x86 and where it seemed reasonable for
them to fail for the fast-math inlines).
There may of course be failures on other architectures for functions
that didn't fail on x86_64 or x86, in which case the usual rule
applies: file a bug (preferably identifying the underlying problem
function, in cases where function A calls function B and a problem
with function B may present in the test results for function A) if not
already in Bugzilla then fix or XFAIL.
Tested x86_64 and x86 and ulps updated accordingly.
* math/libm-test.inc (asinh_test): Use ALL_RM_TEST.
(atan_test): Likewise.
(atanh_test_data): Use NO_TEST_INLINE for two tests.
(atanh_test): Use ALL_RM_TEST.
(atan2_test_data): Likewise.
(cabs_test): Likewise.
(cacosh_test): Likewise.
(carg_test): Likewise.
(casin_test): Likewise.
(casinh_test): Likewise.
(cbrt_test): Likewise.
(csqrt_test): Likewise.
(erf_test): Likewise.
(erfc_test): Likewise.
(pow10_test): Likewise.
(exp2_test): Likewise.
(hypot_test): Likewise.
(j0_test): Likewise.
(j1_test): Likewise.
(lgamma_test): Likewise.
(gamma_test): Likewise.
(sincos_test): Likewise.
(tanh_test): Likewise.
(y0_test): Likewise.
(y1_test): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2014-03-21 00:03:38 +00:00
|
|
|
Function: "atanh_downward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "atanh_towardzero":
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 4
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "atanh_upward":
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 2
|
|
|
|
|
2012-03-07 15:15:19 +00:00
|
|
|
Function: Real part of "cacos":
|
|
|
|
double: 1
|
2013-01-04 13:25:17 +00:00
|
|
|
float: 1
|
2012-03-07 15:15:19 +00:00
|
|
|
idouble: 1
|
2013-01-04 13:25:17 +00:00
|
|
|
ifloat: 1
|
2012-03-07 15:15:19 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
2002-06-20 08:34:01 +00:00
|
|
|
Function: Imaginary part of "cacos":
|
2013-03-30 13:31:53 +00:00
|
|
|
double: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
float: 1
|
2013-03-30 13:31:53 +00:00
|
|
|
idouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
ifloat: 1
|
2002-06-20 08:34:01 +00:00
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
1999-10-24 22:04:52 +00:00
|
|
|
|
2014-05-14 12:37:24 +00:00
|
|
|
Function: Real part of "cacos_downward":
|
|
|
|
double: 2
|
|
|
|
float: 1
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Imaginary part of "cacos_downward":
|
|
|
|
double: 3
|
|
|
|
float: 3
|
|
|
|
idouble: 3
|
|
|
|
ifloat: 3
|
|
|
|
ildouble: 5
|
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: Real part of "cacos_towardzero":
|
|
|
|
double: 2
|
|
|
|
float: 1
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Imaginary part of "cacos_towardzero":
|
|
|
|
double: 3
|
|
|
|
float: 3
|
|
|
|
idouble: 3
|
|
|
|
ifloat: 3
|
|
|
|
ildouble: 5
|
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: Real part of "cacos_upward":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Imaginary part of "cacos_upward":
|
|
|
|
double: 4
|
|
|
|
float: 4
|
|
|
|
idouble: 4
|
|
|
|
ifloat: 4
|
|
|
|
ildouble: 5
|
|
|
|
ldouble: 5
|
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: Real part of "cacosh":
|
|
|
|
double: 1
|
2013-04-02 22:54:00 +00:00
|
|
|
float: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
idouble: 1
|
2013-04-02 22:54:00 +00:00
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
1999-10-24 22:04:52 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "cacosh":
|
|
|
|
double: 1
|
2013-04-02 22:54:00 +00:00
|
|
|
float: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
idouble: 1
|
2013-04-02 22:54:00 +00:00
|
|
|
ifloat: 1
|
2002-06-20 08:34:01 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
Test most libm functions in all rounding modes.
This patch makes libm-test.inc tests of most functions use ALL_RM_TEST
unless there was some reason to defer that change for a particular
function.
I started out planning to defer the change for pow (bug 16315), cexp /
ccos / ccosh / csin / csinh (likely fallout from exp, bug 16284) and
cpow (exact expectations for signs of exact zero results not wanted).
Testing on x86_64 and x86 showed additional failures for acosh, cacos,
catan, catanh, clog, clog10, jn, log, log10, log1p, log2, tgamma, yn,
so making the change for those functions was deferred as well, pending
investigation to show which of these represent distinct bugs (some
such bugs may already be filed) and appropriate fixing / XFAILing.
Failures include wrong signs of zero results, errors slightly above
the 9ulp bound (in such cases it may make sense for functions to set
round-to-nearest internally to reduce error accumulation), large
errors and incorrect overflow/underflow for the rounding mode (with
consequent missing errno settings in some cases). It's possible some
could be issues with test expectations, though I didn't notice any
that were obviously like that (I added NO_TEST_INLINE for cases that
were failing for ildoubl on x86 and where it seemed reasonable for
them to fail for the fast-math inlines).
There may of course be failures on other architectures for functions
that didn't fail on x86_64 or x86, in which case the usual rule
applies: file a bug (preferably identifying the underlying problem
function, in cases where function A calls function B and a problem
with function B may present in the test results for function A) if not
already in Bugzilla then fix or XFAIL.
Tested x86_64 and x86 and ulps updated accordingly.
* math/libm-test.inc (asinh_test): Use ALL_RM_TEST.
(atan_test): Likewise.
(atanh_test_data): Use NO_TEST_INLINE for two tests.
(atanh_test): Use ALL_RM_TEST.
(atan2_test_data): Likewise.
(cabs_test): Likewise.
(cacosh_test): Likewise.
(carg_test): Likewise.
(casin_test): Likewise.
(casinh_test): Likewise.
(cbrt_test): Likewise.
(csqrt_test): Likewise.
(erf_test): Likewise.
(erfc_test): Likewise.
(pow10_test): Likewise.
(exp2_test): Likewise.
(hypot_test): Likewise.
(j0_test): Likewise.
(j1_test): Likewise.
(lgamma_test): Likewise.
(gamma_test): Likewise.
(sincos_test): Likewise.
(tanh_test): Likewise.
(y0_test): Likewise.
(y1_test): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2014-03-21 00:03:38 +00:00
|
|
|
Function: Real part of "cacosh_downward":
|
|
|
|
double: 3
|
|
|
|
float: 3
|
|
|
|
idouble: 3
|
|
|
|
ifloat: 3
|
|
|
|
ildouble: 5
|
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: Imaginary part of "cacosh_downward":
|
|
|
|
double: 2
|
|
|
|
float: 1
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Real part of "cacosh_towardzero":
|
|
|
|
double: 3
|
|
|
|
float: 3
|
|
|
|
idouble: 3
|
|
|
|
ifloat: 3
|
|
|
|
ildouble: 5
|
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: Imaginary part of "cacosh_towardzero":
|
|
|
|
double: 2
|
|
|
|
float: 1
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Real part of "cacosh_upward":
|
|
|
|
double: 4
|
|
|
|
float: 4
|
|
|
|
idouble: 4
|
|
|
|
ifloat: 4
|
|
|
|
ildouble: 5
|
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: Imaginary part of "cacosh_upward":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: "carg_downward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "carg_towardzero":
|
|
|
|
float: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "carg_upward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: Real part of "casin":
|
2002-06-20 08:34:01 +00:00
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
2013-03-30 13:31:53 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "casin":
|
2013-03-30 13:31:53 +00:00
|
|
|
double: 1
|
2002-06-20 08:34:01 +00:00
|
|
|
float: 1
|
2013-03-30 13:31:53 +00:00
|
|
|
idouble: 1
|
2002-06-20 08:34:01 +00:00
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
1999-10-24 22:04:52 +00:00
|
|
|
|
Test most libm functions in all rounding modes.
This patch makes libm-test.inc tests of most functions use ALL_RM_TEST
unless there was some reason to defer that change for a particular
function.
I started out planning to defer the change for pow (bug 16315), cexp /
ccos / ccosh / csin / csinh (likely fallout from exp, bug 16284) and
cpow (exact expectations for signs of exact zero results not wanted).
Testing on x86_64 and x86 showed additional failures for acosh, cacos,
catan, catanh, clog, clog10, jn, log, log10, log1p, log2, tgamma, yn,
so making the change for those functions was deferred as well, pending
investigation to show which of these represent distinct bugs (some
such bugs may already be filed) and appropriate fixing / XFAILing.
Failures include wrong signs of zero results, errors slightly above
the 9ulp bound (in such cases it may make sense for functions to set
round-to-nearest internally to reduce error accumulation), large
errors and incorrect overflow/underflow for the rounding mode (with
consequent missing errno settings in some cases). It's possible some
could be issues with test expectations, though I didn't notice any
that were obviously like that (I added NO_TEST_INLINE for cases that
were failing for ildoubl on x86 and where it seemed reasonable for
them to fail for the fast-math inlines).
There may of course be failures on other architectures for functions
that didn't fail on x86_64 or x86, in which case the usual rule
applies: file a bug (preferably identifying the underlying problem
function, in cases where function A calls function B and a problem
with function B may present in the test results for function A) if not
already in Bugzilla then fix or XFAIL.
Tested x86_64 and x86 and ulps updated accordingly.
* math/libm-test.inc (asinh_test): Use ALL_RM_TEST.
(atan_test): Likewise.
(atanh_test_data): Use NO_TEST_INLINE for two tests.
(atanh_test): Use ALL_RM_TEST.
(atan2_test_data): Likewise.
(cabs_test): Likewise.
(cacosh_test): Likewise.
(carg_test): Likewise.
(casin_test): Likewise.
(casinh_test): Likewise.
(cbrt_test): Likewise.
(csqrt_test): Likewise.
(erf_test): Likewise.
(erfc_test): Likewise.
(pow10_test): Likewise.
(exp2_test): Likewise.
(hypot_test): Likewise.
(j0_test): Likewise.
(j1_test): Likewise.
(lgamma_test): Likewise.
(gamma_test): Likewise.
(sincos_test): Likewise.
(tanh_test): Likewise.
(y0_test): Likewise.
(y1_test): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2014-03-21 00:03:38 +00:00
|
|
|
Function: Real part of "casin_downward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Imaginary part of "casin_downward":
|
|
|
|
double: 3
|
|
|
|
float: 3
|
|
|
|
idouble: 3
|
|
|
|
ifloat: 3
|
|
|
|
ildouble: 5
|
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: Real part of "casin_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Imaginary part of "casin_towardzero":
|
|
|
|
double: 3
|
|
|
|
float: 3
|
|
|
|
idouble: 3
|
|
|
|
ifloat: 3
|
|
|
|
ildouble: 5
|
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: Real part of "casin_upward":
|
|
|
|
double: 2
|
|
|
|
float: 1
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Imaginary part of "casin_upward":
|
|
|
|
double: 4
|
|
|
|
float: 4
|
|
|
|
idouble: 4
|
|
|
|
ifloat: 4
|
|
|
|
ildouble: 5
|
|
|
|
ldouble: 5
|
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: Real part of "casinh":
|
2013-03-30 13:31:53 +00:00
|
|
|
double: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
float: 1
|
2013-03-30 13:31:53 +00:00
|
|
|
idouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
ifloat: 1
|
2013-03-30 13:31:53 +00:00
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
1999-10-24 22:04:52 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "casinh":
|
2013-03-30 13:31:53 +00:00
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
Test most libm functions in all rounding modes.
This patch makes libm-test.inc tests of most functions use ALL_RM_TEST
unless there was some reason to defer that change for a particular
function.
I started out planning to defer the change for pow (bug 16315), cexp /
ccos / ccosh / csin / csinh (likely fallout from exp, bug 16284) and
cpow (exact expectations for signs of exact zero results not wanted).
Testing on x86_64 and x86 showed additional failures for acosh, cacos,
catan, catanh, clog, clog10, jn, log, log10, log1p, log2, tgamma, yn,
so making the change for those functions was deferred as well, pending
investigation to show which of these represent distinct bugs (some
such bugs may already be filed) and appropriate fixing / XFAILing.
Failures include wrong signs of zero results, errors slightly above
the 9ulp bound (in such cases it may make sense for functions to set
round-to-nearest internally to reduce error accumulation), large
errors and incorrect overflow/underflow for the rounding mode (with
consequent missing errno settings in some cases). It's possible some
could be issues with test expectations, though I didn't notice any
that were obviously like that (I added NO_TEST_INLINE for cases that
were failing for ildoubl on x86 and where it seemed reasonable for
them to fail for the fast-math inlines).
There may of course be failures on other architectures for functions
that didn't fail on x86_64 or x86, in which case the usual rule
applies: file a bug (preferably identifying the underlying problem
function, in cases where function A calls function B and a problem
with function B may present in the test results for function A) if not
already in Bugzilla then fix or XFAIL.
Tested x86_64 and x86 and ulps updated accordingly.
* math/libm-test.inc (asinh_test): Use ALL_RM_TEST.
(atan_test): Likewise.
(atanh_test_data): Use NO_TEST_INLINE for two tests.
(atanh_test): Use ALL_RM_TEST.
(atan2_test_data): Likewise.
(cabs_test): Likewise.
(cacosh_test): Likewise.
(carg_test): Likewise.
(casin_test): Likewise.
(casinh_test): Likewise.
(cbrt_test): Likewise.
(csqrt_test): Likewise.
(erf_test): Likewise.
(erfc_test): Likewise.
(pow10_test): Likewise.
(exp2_test): Likewise.
(hypot_test): Likewise.
(j0_test): Likewise.
(j1_test): Likewise.
(lgamma_test): Likewise.
(gamma_test): Likewise.
(sincos_test): Likewise.
(tanh_test): Likewise.
(y0_test): Likewise.
(y1_test): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2014-03-21 00:03:38 +00:00
|
|
|
Function: Real part of "casinh_downward":
|
|
|
|
double: 3
|
|
|
|
float: 3
|
|
|
|
idouble: 3
|
|
|
|
ifloat: 3
|
|
|
|
ildouble: 5
|
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: Imaginary part of "casinh_downward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Real part of "casinh_towardzero":
|
|
|
|
double: 3
|
|
|
|
float: 3
|
|
|
|
idouble: 3
|
|
|
|
ifloat: 3
|
|
|
|
ildouble: 5
|
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: Imaginary part of "casinh_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Real part of "casinh_upward":
|
|
|
|
double: 4
|
|
|
|
float: 4
|
|
|
|
idouble: 4
|
|
|
|
ifloat: 4
|
|
|
|
ildouble: 5
|
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: Imaginary part of "casinh_upward":
|
|
|
|
double: 2
|
|
|
|
float: 1
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: Imaginary part of "catan":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
2013-04-27 14:56:34 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
2014-04-02 17:41:02 +00:00
|
|
|
Function: Real part of "catan_downward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: Imaginary part of "catan_downward":
|
|
|
|
double: 2
|
|
|
|
float: 1
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 4
|
|
|
|
ldouble: 4
|
|
|
|
|
|
|
|
Function: Real part of "catan_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: Imaginary part of "catan_towardzero":
|
|
|
|
double: 2
|
|
|
|
float: 1
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 4
|
|
|
|
ldouble: 4
|
|
|
|
|
|
|
|
Function: Real part of "catan_upward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: Imaginary part of "catan_upward":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: Real part of "catanh":
|
2013-07-02 20:00:48 +00:00
|
|
|
double: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
float: 1
|
2013-07-02 20:00:48 +00:00
|
|
|
idouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
ifloat: 1
|
2002-06-20 08:34:01 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
2014-04-02 17:41:02 +00:00
|
|
|
Function: Real part of "catanh_downward":
|
|
|
|
double: 2
|
|
|
|
float: 1
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 4
|
|
|
|
ldouble: 4
|
|
|
|
|
|
|
|
Function: Imaginary part of "catanh_downward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: Real part of "catanh_towardzero":
|
|
|
|
double: 2
|
|
|
|
float: 1
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 4
|
|
|
|
ldouble: 4
|
|
|
|
|
|
|
|
Function: Imaginary part of "catanh_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: Real part of "catanh_upward":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 4
|
|
|
|
ldouble: 4
|
|
|
|
|
|
|
|
Function: Imaginary part of "catanh_upward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: "cbrt":
|
Add more libm-test coverage of [a-c]* real functions.
Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.
This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).
Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 21:03:39 +00:00
|
|
|
double: 1
|
|
|
|
idouble: 1
|
2002-06-20 08:34:01 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
Test most libm functions in all rounding modes.
This patch makes libm-test.inc tests of most functions use ALL_RM_TEST
unless there was some reason to defer that change for a particular
function.
I started out planning to defer the change for pow (bug 16315), cexp /
ccos / ccosh / csin / csinh (likely fallout from exp, bug 16284) and
cpow (exact expectations for signs of exact zero results not wanted).
Testing on x86_64 and x86 showed additional failures for acosh, cacos,
catan, catanh, clog, clog10, jn, log, log10, log1p, log2, tgamma, yn,
so making the change for those functions was deferred as well, pending
investigation to show which of these represent distinct bugs (some
such bugs may already be filed) and appropriate fixing / XFAILing.
Failures include wrong signs of zero results, errors slightly above
the 9ulp bound (in such cases it may make sense for functions to set
round-to-nearest internally to reduce error accumulation), large
errors and incorrect overflow/underflow for the rounding mode (with
consequent missing errno settings in some cases). It's possible some
could be issues with test expectations, though I didn't notice any
that were obviously like that (I added NO_TEST_INLINE for cases that
were failing for ildoubl on x86 and where it seemed reasonable for
them to fail for the fast-math inlines).
There may of course be failures on other architectures for functions
that didn't fail on x86_64 or x86, in which case the usual rule
applies: file a bug (preferably identifying the underlying problem
function, in cases where function A calls function B and a problem
with function B may present in the test results for function A) if not
already in Bugzilla then fix or XFAIL.
Tested x86_64 and x86 and ulps updated accordingly.
* math/libm-test.inc (asinh_test): Use ALL_RM_TEST.
(atan_test): Likewise.
(atanh_test_data): Use NO_TEST_INLINE for two tests.
(atanh_test): Use ALL_RM_TEST.
(atan2_test_data): Likewise.
(cabs_test): Likewise.
(cacosh_test): Likewise.
(carg_test): Likewise.
(casin_test): Likewise.
(casinh_test): Likewise.
(cbrt_test): Likewise.
(csqrt_test): Likewise.
(erf_test): Likewise.
(erfc_test): Likewise.
(pow10_test): Likewise.
(exp2_test): Likewise.
(hypot_test): Likewise.
(j0_test): Likewise.
(j1_test): Likewise.
(lgamma_test): Likewise.
(gamma_test): Likewise.
(sincos_test): Likewise.
(tanh_test): Likewise.
(y0_test): Likewise.
(y1_test): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2014-03-21 00:03:38 +00:00
|
|
|
Function: "cbrt_downward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: "cbrt_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: "cbrt_upward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: Real part of "ccos":
|
|
|
|
double: 1
|
2012-05-19 15:35:29 +00:00
|
|
|
float: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
idouble: 1
|
2012-05-19 15:35:29 +00:00
|
|
|
ifloat: 1
|
2002-06-20 08:34:01 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "ccos":
|
2012-05-19 15:35:29 +00:00
|
|
|
double: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
float: 1
|
2012-05-19 15:35:29 +00:00
|
|
|
idouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
ifloat: 1
|
2002-06-20 08:34:01 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
2014-03-24 12:18:45 +00:00
|
|
|
Function: Real part of "ccos_downward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Imaginary part of "ccos_downward":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Real part of "ccos_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Imaginary part of "ccos_towardzero":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Real part of "ccos_upward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Imaginary part of "ccos_upward":
|
|
|
|
double: 1
|
|
|
|
float: 2
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: Real part of "ccosh":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
|
|
|
|
Function: Imaginary part of "ccosh":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
2002-06-20 08:34:01 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
2014-03-24 12:18:45 +00:00
|
|
|
Function: Real part of "ccosh_downward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Imaginary part of "ccosh_downward":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Real part of "ccosh_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Imaginary part of "ccosh_towardzero":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Real part of "ccosh_upward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Imaginary part of "ccosh_upward":
|
|
|
|
double: 1
|
|
|
|
float: 2
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: Real part of "cexp":
|
2013-07-02 20:00:48 +00:00
|
|
|
double: 1
|
2012-03-21 15:28:05 +00:00
|
|
|
float: 1
|
2013-07-02 20:00:48 +00:00
|
|
|
idouble: 1
|
2012-03-21 15:28:05 +00:00
|
|
|
ifloat: 1
|
2002-06-30 15:49:29 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "cexp":
|
2012-03-21 15:28:05 +00:00
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
2002-06-20 08:34:01 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
|
|
|
Function: Real part of "clog":
|
2012-07-31 14:21:19 +00:00
|
|
|
double: 1
|
2002-06-20 08:34:01 +00:00
|
|
|
float: 1
|
2012-07-31 14:21:19 +00:00
|
|
|
idouble: 1
|
2002-06-20 08:34:01 +00:00
|
|
|
ifloat: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
Function: Imaginary part of "clog":
|
|
|
|
double: 1
|
|
|
|
idouble: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: Real part of "clog10":
|
2002-06-20 08:34:01 +00:00
|
|
|
double: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
float: 1
|
2002-06-20 08:34:01 +00:00
|
|
|
idouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
ifloat: 1
|
2014-02-19 14:26:29 +00:00
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
1999-10-24 22:04:52 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "clog10":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
2014-02-19 14:26:29 +00:00
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
1999-10-24 22:04:52 +00:00
|
|
|
|
2014-04-02 13:10:19 +00:00
|
|
|
Function: Real part of "clog10_downward":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 4
|
|
|
|
ldouble: 4
|
|
|
|
|
|
|
|
Function: Imaginary part of "clog10_downward":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Real part of "clog10_towardzero":
|
|
|
|
double: 2
|
|
|
|
float: 1
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 4
|
|
|
|
ldouble: 4
|
|
|
|
|
|
|
|
Function: Imaginary part of "clog10_towardzero":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Real part of "clog10_upward":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 4
|
|
|
|
ldouble: 4
|
|
|
|
|
|
|
|
Function: Imaginary part of "clog10_upward":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Real part of "clog_downward":
|
|
|
|
double: 2
|
|
|
|
float: 1
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Imaginary part of "clog_downward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: Real part of "clog_towardzero":
|
|
|
|
double: 2
|
|
|
|
float: 1
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Imaginary part of "clog_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: Real part of "clog_upward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Imaginary part of "clog_upward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: "cos":
|
2002-06-20 08:34:01 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
2012-03-02 20:51:39 +00:00
|
|
|
Function: "cos_downward":
|
2013-11-30 22:04:13 +00:00
|
|
|
double: 1
|
|
|
|
idouble: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: "cos_tonearest":
|
2012-03-02 20:51:39 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "cos_towardzero":
|
2013-11-30 22:04:13 +00:00
|
|
|
double: 1
|
|
|
|
idouble: 1
|
2012-03-02 20:51:39 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "cos_upward":
|
2013-11-30 22:04:13 +00:00
|
|
|
double: 1
|
|
|
|
idouble: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: "cosh":
|
2012-03-02 20:51:39 +00:00
|
|
|
ildouble: 1
|
Add more libm-test coverage of [a-c]* real functions.
Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.
This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).
Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 21:03:39 +00:00
|
|
|
ldouble: 2
|
2012-03-02 20:51:39 +00:00
|
|
|
|
2012-03-05 12:20:24 +00:00
|
|
|
Function: "cosh_downward":
|
|
|
|
double: 1
|
2012-05-03 14:22:52 +00:00
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
Add more libm-test coverage of [a-c]* real functions.
Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.
This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).
Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 21:03:39 +00:00
|
|
|
ildouble: 2
|
|
|
|
ldouble: 3
|
2012-03-05 12:20:24 +00:00
|
|
|
|
|
|
|
Function: "cosh_tonearest":
|
2013-11-30 22:04:13 +00:00
|
|
|
ildouble: 1
|
Add more libm-test coverage of [a-c]* real functions.
Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.
This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).
Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 21:03:39 +00:00
|
|
|
ldouble: 2
|
2012-03-05 12:20:24 +00:00
|
|
|
|
|
|
|
Function: "cosh_towardzero":
|
|
|
|
double: 1
|
2012-05-03 14:22:52 +00:00
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
Fix x86 / x86_64 expl / expl10l wild results in directed rounding modes (bug 16356).
This patch fixes bug 16356, bad results from x86 / x86_64 expl /
exp10l in directed rounding modes, the most serious of the bugs shown
up by my patch expanding libm test coverage. When I fixed bug 16293,
I thought it was only necessary to set round-to-nearest when using
frndint in expm1 functions, because in other cases the cancellation
error from having the resulting fractional part close to 1 or -1 would
not be significant. However, in expl and exp10l, the way the final
fractional part gets computed (something more complicated than a
simple subtraction, because more precision is needed than you'd get
that way) can result in a value outside the range [-1, 1] when the
argument to frndint was very close to an integer and was rounded the
"wrong" way because of the rounding mode - and the f2xm1 instruction
has undefined results if its argument is outside [-1, 1], so resulting
in the large errors seen. So this patch removes the USE_AS_EXPM1L
conditionals on the round-to-nearest settings, so all of expl, expm1l
and exp10l now get round-to-nearest used for frndint (meaning the
final fractional part can at most be slightly above 0.5 in
magnitude). Associated tests of exp and exp10 are added and testing
of exp10 in directed rounding modes enabled.
Tested x86_64 and x86 and ulps updated accordingly.
* sysdeps/i386/fpu/e_expl.S (IEEE754_EXPL): Also set
round-to-nearest for [!USE_AS_EXPM1L].
* sysdeps/x86_64/fpu/e_expl.S (IEEE754_EXPL): Likewise.
* math/auto-libm-test-in: Do not expect cosh tests to fail. Add
more tests of exp and exp10. Expect some exp10 tests to miss
exceptions or fail in directed rounding modes.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (exp10_tonearest_test_data): New array.
(exp10_test_tonearest): New function.
(exp10_towardzero_test_data): New array.
(exp10_test_towardzero): New function.
(exp10_downward_test_data): New array.
(exp10_test_downward): New function.
(exp10_upward_test_data): New array.
(exp10_test_upward): New function.
(main): Call the new functions.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-21 13:07:16 +00:00
|
|
|
ildouble: 2
|
2014-01-01 14:34:38 +00:00
|
|
|
ldouble: 2
|
2012-03-05 12:20:24 +00:00
|
|
|
|
|
|
|
Function: "cosh_upward":
|
|
|
|
double: 1
|
2012-05-03 14:22:52 +00:00
|
|
|
idouble: 1
|
Add more libm-test coverage of [a-c]* real functions.
Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.
This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).
Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 21:03:39 +00:00
|
|
|
ifloat: 1
|
2012-05-03 14:22:52 +00:00
|
|
|
ildouble: 2
|
Add more libm-test coverage of [a-c]* real functions.
Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.
This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).
Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 21:03:39 +00:00
|
|
|
ldouble: 3
|
2012-03-05 12:20:24 +00:00
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: Real part of "cpow":
|
2012-03-21 15:28:05 +00:00
|
|
|
double: 2
|
|
|
|
float: 5
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 5
|
2013-07-02 20:00:48 +00:00
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
1999-10-24 22:04:52 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "cpow":
|
2013-07-02 20:00:48 +00:00
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
2012-03-21 15:28:05 +00:00
|
|
|
ildouble: 4
|
|
|
|
ldouble: 4
|
1999-10-24 22:04:52 +00:00
|
|
|
|
|
|
|
Function: Real part of "csin":
|
2012-05-19 15:35:29 +00:00
|
|
|
double: 1
|
2002-06-20 08:34:01 +00:00
|
|
|
float: 1
|
2012-05-19 15:35:29 +00:00
|
|
|
idouble: 1
|
2002-06-20 08:34:01 +00:00
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "csin":
|
2012-05-19 15:35:29 +00:00
|
|
|
double: 1
|
2002-06-20 08:34:01 +00:00
|
|
|
float: 1
|
2012-05-19 15:35:29 +00:00
|
|
|
idouble: 1
|
2002-06-20 08:34:01 +00:00
|
|
|
ifloat: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
2014-03-24 12:18:45 +00:00
|
|
|
Function: Real part of "csin_downward":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Imaginary part of "csin_downward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Real part of "csin_towardzero":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Imaginary part of "csin_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 2
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Real part of "csin_upward":
|
|
|
|
double: 1
|
|
|
|
float: 2
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Imaginary part of "csin_upward":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: Real part of "csinh":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
2002-06-20 08:34:01 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "csinh":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
|
2014-03-24 12:18:45 +00:00
|
|
|
Function: Real part of "csinh_downward":
|
|
|
|
double: 1
|
|
|
|
float: 2
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Imaginary part of "csinh_downward":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Real part of "csinh_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 2
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Imaginary part of "csinh_towardzero":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Real part of "csinh_upward":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Imaginary part of "csinh_upward":
|
|
|
|
double: 1
|
|
|
|
float: 2
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
2012-07-05 11:02:13 +00:00
|
|
|
Function: Real part of "csqrt":
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
double: 1
|
|
|
|
idouble: 1
|
2012-07-05 11:02:13 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
2012-03-14 11:53:32 +00:00
|
|
|
Function: Imaginary part of "csqrt":
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
Test most libm functions in all rounding modes.
This patch makes libm-test.inc tests of most functions use ALL_RM_TEST
unless there was some reason to defer that change for a particular
function.
I started out planning to defer the change for pow (bug 16315), cexp /
ccos / ccosh / csin / csinh (likely fallout from exp, bug 16284) and
cpow (exact expectations for signs of exact zero results not wanted).
Testing on x86_64 and x86 showed additional failures for acosh, cacos,
catan, catanh, clog, clog10, jn, log, log10, log1p, log2, tgamma, yn,
so making the change for those functions was deferred as well, pending
investigation to show which of these represent distinct bugs (some
such bugs may already be filed) and appropriate fixing / XFAILing.
Failures include wrong signs of zero results, errors slightly above
the 9ulp bound (in such cases it may make sense for functions to set
round-to-nearest internally to reduce error accumulation), large
errors and incorrect overflow/underflow for the rounding mode (with
consequent missing errno settings in some cases). It's possible some
could be issues with test expectations, though I didn't notice any
that were obviously like that (I added NO_TEST_INLINE for cases that
were failing for ildoubl on x86 and where it seemed reasonable for
them to fail for the fast-math inlines).
There may of course be failures on other architectures for functions
that didn't fail on x86_64 or x86, in which case the usual rule
applies: file a bug (preferably identifying the underlying problem
function, in cases where function A calls function B and a problem
with function B may present in the test results for function A) if not
already in Bugzilla then fix or XFAIL.
Tested x86_64 and x86 and ulps updated accordingly.
* math/libm-test.inc (asinh_test): Use ALL_RM_TEST.
(atan_test): Likewise.
(atanh_test_data): Use NO_TEST_INLINE for two tests.
(atanh_test): Use ALL_RM_TEST.
(atan2_test_data): Likewise.
(cabs_test): Likewise.
(cacosh_test): Likewise.
(carg_test): Likewise.
(casin_test): Likewise.
(casinh_test): Likewise.
(cbrt_test): Likewise.
(csqrt_test): Likewise.
(erf_test): Likewise.
(erfc_test): Likewise.
(pow10_test): Likewise.
(exp2_test): Likewise.
(hypot_test): Likewise.
(j0_test): Likewise.
(j1_test): Likewise.
(lgamma_test): Likewise.
(gamma_test): Likewise.
(sincos_test): Likewise.
(tanh_test): Likewise.
(y0_test): Likewise.
(y1_test): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2014-03-21 00:03:38 +00:00
|
|
|
Function: Real part of "csqrt_downward":
|
|
|
|
double: 1
|
|
|
|
idouble: 1
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Imaginary part of "csqrt_downward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Real part of "csqrt_towardzero":
|
|
|
|
double: 1
|
|
|
|
idouble: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Imaginary part of "csqrt_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Real part of "csqrt_upward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Imaginary part of "csqrt_upward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: Real part of "ctan":
|
2003-03-22 06:14:37 +00:00
|
|
|
double: 1
|
2012-04-09 22:31:35 +00:00
|
|
|
float: 1
|
2003-03-22 06:14:37 +00:00
|
|
|
idouble: 1
|
2012-04-09 22:31:35 +00:00
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
1999-10-24 22:04:52 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "ctan":
|
2003-03-22 06:14:37 +00:00
|
|
|
double: 1
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
float: 1
|
2003-03-22 06:14:37 +00:00
|
|
|
idouble: 1
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
ifloat: 1
|
2012-04-09 22:31:35 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
2012-07-04 09:55:26 +00:00
|
|
|
Function: Real part of "ctan_downward":
|
|
|
|
double: 1
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
float: 2
|
2012-07-04 09:55:26 +00:00
|
|
|
idouble: 1
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
ifloat: 2
|
|
|
|
ildouble: 5
|
|
|
|
ldouble: 5
|
2012-07-04 09:55:26 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "ctan_downward":
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
double: 2
|
2013-07-02 20:00:48 +00:00
|
|
|
float: 2
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
idouble: 2
|
2013-07-02 20:00:48 +00:00
|
|
|
ifloat: 2
|
2012-07-04 09:55:26 +00:00
|
|
|
ildouble: 4
|
|
|
|
ldouble: 4
|
|
|
|
|
|
|
|
Function: Real part of "ctan_tonearest":
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
double: 1
|
2012-07-04 09:55:26 +00:00
|
|
|
float: 1
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
idouble: 1
|
2012-07-04 09:55:26 +00:00
|
|
|
ifloat: 1
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
2012-07-04 09:55:26 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "ctan_tonearest":
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
double: 1
|
2012-07-04 09:55:26 +00:00
|
|
|
float: 1
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
idouble: 1
|
2012-07-04 09:55:26 +00:00
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: Real part of "ctan_towardzero":
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
double: 3
|
2012-11-22 13:51:42 +00:00
|
|
|
float: 1
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
idouble: 3
|
2012-11-22 13:51:42 +00:00
|
|
|
ifloat: 1
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
ildouble: 5
|
|
|
|
ldouble: 5
|
2012-07-04 09:55:26 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "ctan_towardzero":
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
double: 2
|
2013-07-02 20:00:48 +00:00
|
|
|
float: 1
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
idouble: 2
|
2013-07-02 20:00:48 +00:00
|
|
|
ifloat: 1
|
2012-07-04 09:55:26 +00:00
|
|
|
ildouble: 4
|
|
|
|
ldouble: 4
|
|
|
|
|
|
|
|
Function: Real part of "ctan_upward":
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
double: 3
|
2012-09-25 18:44:46 +00:00
|
|
|
float: 2
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
idouble: 3
|
2012-09-25 18:44:46 +00:00
|
|
|
ifloat: 2
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Imaginary part of "ctan_upward":
|
|
|
|
double: 2
|
|
|
|
float: 1
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
2012-07-04 09:55:26 +00:00
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: Real part of "ctanh":
|
2005-09-30 15:46:19 +00:00
|
|
|
double: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
float: 1
|
2005-09-30 15:46:19 +00:00
|
|
|
idouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
ifloat: 1
|
2012-04-09 22:31:35 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "ctanh":
|
2002-06-20 08:34:01 +00:00
|
|
|
double: 1
|
1999-12-18 19:45:25 +00:00
|
|
|
float: 1
|
2002-06-20 08:34:01 +00:00
|
|
|
idouble: 1
|
1999-12-18 19:45:25 +00:00
|
|
|
ifloat: 1
|
2012-04-09 22:31:35 +00:00
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
2002-06-20 08:34:01 +00:00
|
|
|
|
2012-07-04 09:55:26 +00:00
|
|
|
Function: Real part of "ctanh_downward":
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
double: 2
|
2013-07-02 20:00:48 +00:00
|
|
|
float: 2
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
idouble: 2
|
2013-07-02 20:00:48 +00:00
|
|
|
ifloat: 2
|
2012-07-04 09:55:26 +00:00
|
|
|
ildouble: 4
|
|
|
|
ldouble: 4
|
|
|
|
|
|
|
|
Function: Imaginary part of "ctanh_downward":
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
double: 2
|
|
|
|
float: 1
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 4
|
|
|
|
ldouble: 4
|
2012-07-04 09:55:26 +00:00
|
|
|
|
|
|
|
Function: Real part of "ctanh_tonearest":
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
double: 1
|
2012-07-04 09:55:26 +00:00
|
|
|
float: 1
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
idouble: 1
|
2012-07-04 09:55:26 +00:00
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: Imaginary part of "ctanh_tonearest":
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
double: 1
|
2012-07-04 09:55:26 +00:00
|
|
|
float: 1
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
idouble: 1
|
2012-07-04 09:55:26 +00:00
|
|
|
ifloat: 1
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
2012-07-04 09:55:26 +00:00
|
|
|
|
|
|
|
Function: Real part of "ctanh_towardzero":
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
double: 2
|
2013-07-02 20:00:48 +00:00
|
|
|
float: 1
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
idouble: 2
|
2013-07-02 20:00:48 +00:00
|
|
|
ifloat: 1
|
2012-07-04 09:55:26 +00:00
|
|
|
ildouble: 4
|
|
|
|
ldouble: 4
|
|
|
|
|
|
|
|
Function: Imaginary part of "ctanh_towardzero":
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
double: 2
|
2012-11-22 13:51:42 +00:00
|
|
|
float: 1
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
idouble: 2
|
2012-11-22 13:51:42 +00:00
|
|
|
ifloat: 1
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
2012-07-04 09:55:26 +00:00
|
|
|
|
|
|
|
Function: Real part of "ctanh_upward":
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
double: 2
|
|
|
|
float: 1
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
2012-07-04 09:55:26 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "ctanh_upward":
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 12:32:44 +00:00
|
|
|
double: 3
|
|
|
|
float: 3
|
|
|
|
idouble: 3
|
|
|
|
ifloat: 3
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
2012-07-04 09:55:26 +00:00
|
|
|
|
2002-06-20 08:34:01 +00:00
|
|
|
Function: "erf":
|
1999-10-24 22:04:52 +00:00
|
|
|
double: 1
|
|
|
|
idouble: 1
|
2013-12-03 16:22:49 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
Test most libm functions in all rounding modes.
This patch makes libm-test.inc tests of most functions use ALL_RM_TEST
unless there was some reason to defer that change for a particular
function.
I started out planning to defer the change for pow (bug 16315), cexp /
ccos / ccosh / csin / csinh (likely fallout from exp, bug 16284) and
cpow (exact expectations for signs of exact zero results not wanted).
Testing on x86_64 and x86 showed additional failures for acosh, cacos,
catan, catanh, clog, clog10, jn, log, log10, log1p, log2, tgamma, yn,
so making the change for those functions was deferred as well, pending
investigation to show which of these represent distinct bugs (some
such bugs may already be filed) and appropriate fixing / XFAILing.
Failures include wrong signs of zero results, errors slightly above
the 9ulp bound (in such cases it may make sense for functions to set
round-to-nearest internally to reduce error accumulation), large
errors and incorrect overflow/underflow for the rounding mode (with
consequent missing errno settings in some cases). It's possible some
could be issues with test expectations, though I didn't notice any
that were obviously like that (I added NO_TEST_INLINE for cases that
were failing for ildoubl on x86 and where it seemed reasonable for
them to fail for the fast-math inlines).
There may of course be failures on other architectures for functions
that didn't fail on x86_64 or x86, in which case the usual rule
applies: file a bug (preferably identifying the underlying problem
function, in cases where function A calls function B and a problem
with function B may present in the test results for function A) if not
already in Bugzilla then fix or XFAIL.
Tested x86_64 and x86 and ulps updated accordingly.
* math/libm-test.inc (asinh_test): Use ALL_RM_TEST.
(atan_test): Likewise.
(atanh_test_data): Use NO_TEST_INLINE for two tests.
(atanh_test): Use ALL_RM_TEST.
(atan2_test_data): Likewise.
(cabs_test): Likewise.
(cacosh_test): Likewise.
(carg_test): Likewise.
(casin_test): Likewise.
(casinh_test): Likewise.
(cbrt_test): Likewise.
(csqrt_test): Likewise.
(erf_test): Likewise.
(erfc_test): Likewise.
(pow10_test): Likewise.
(exp2_test): Likewise.
(hypot_test): Likewise.
(j0_test): Likewise.
(j1_test): Likewise.
(lgamma_test): Likewise.
(gamma_test): Likewise.
(sincos_test): Likewise.
(tanh_test): Likewise.
(y0_test): Likewise.
(y1_test): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2014-03-21 00:03:38 +00:00
|
|
|
Function: "erf_upward":
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: "erfc":
|
2002-06-20 08:34:01 +00:00
|
|
|
double: 1
|
|
|
|
idouble: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
Test most libm functions in all rounding modes.
This patch makes libm-test.inc tests of most functions use ALL_RM_TEST
unless there was some reason to defer that change for a particular
function.
I started out planning to defer the change for pow (bug 16315), cexp /
ccos / ccosh / csin / csinh (likely fallout from exp, bug 16284) and
cpow (exact expectations for signs of exact zero results not wanted).
Testing on x86_64 and x86 showed additional failures for acosh, cacos,
catan, catanh, clog, clog10, jn, log, log10, log1p, log2, tgamma, yn,
so making the change for those functions was deferred as well, pending
investigation to show which of these represent distinct bugs (some
such bugs may already be filed) and appropriate fixing / XFAILing.
Failures include wrong signs of zero results, errors slightly above
the 9ulp bound (in such cases it may make sense for functions to set
round-to-nearest internally to reduce error accumulation), large
errors and incorrect overflow/underflow for the rounding mode (with
consequent missing errno settings in some cases). It's possible some
could be issues with test expectations, though I didn't notice any
that were obviously like that (I added NO_TEST_INLINE for cases that
were failing for ildoubl on x86 and where it seemed reasonable for
them to fail for the fast-math inlines).
There may of course be failures on other architectures for functions
that didn't fail on x86_64 or x86, in which case the usual rule
applies: file a bug (preferably identifying the underlying problem
function, in cases where function A calls function B and a problem
with function B may present in the test results for function A) if not
already in Bugzilla then fix or XFAIL.
Tested x86_64 and x86 and ulps updated accordingly.
* math/libm-test.inc (asinh_test): Use ALL_RM_TEST.
(atan_test): Likewise.
(atanh_test_data): Use NO_TEST_INLINE for two tests.
(atanh_test): Use ALL_RM_TEST.
(atan2_test_data): Likewise.
(cabs_test): Likewise.
(cacosh_test): Likewise.
(carg_test): Likewise.
(casin_test): Likewise.
(casinh_test): Likewise.
(cbrt_test): Likewise.
(csqrt_test): Likewise.
(erf_test): Likewise.
(erfc_test): Likewise.
(pow10_test): Likewise.
(exp2_test): Likewise.
(hypot_test): Likewise.
(j0_test): Likewise.
(j1_test): Likewise.
(lgamma_test): Likewise.
(gamma_test): Likewise.
(sincos_test): Likewise.
(tanh_test): Likewise.
(y0_test): Likewise.
(y1_test): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2014-03-21 00:03:38 +00:00
|
|
|
Function: "erfc_downward":
|
|
|
|
double: 1
|
|
|
|
float: 2
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: "erfc_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 2
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: "erfc_upward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: "exp10":
|
2013-07-02 20:00:48 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
Fix x86 / x86_64 expl / expl10l wild results in directed rounding modes (bug 16356).
This patch fixes bug 16356, bad results from x86 / x86_64 expl /
exp10l in directed rounding modes, the most serious of the bugs shown
up by my patch expanding libm test coverage. When I fixed bug 16293,
I thought it was only necessary to set round-to-nearest when using
frndint in expm1 functions, because in other cases the cancellation
error from having the resulting fractional part close to 1 or -1 would
not be significant. However, in expl and exp10l, the way the final
fractional part gets computed (something more complicated than a
simple subtraction, because more precision is needed than you'd get
that way) can result in a value outside the range [-1, 1] when the
argument to frndint was very close to an integer and was rounded the
"wrong" way because of the rounding mode - and the f2xm1 instruction
has undefined results if its argument is outside [-1, 1], so resulting
in the large errors seen. So this patch removes the USE_AS_EXPM1L
conditionals on the round-to-nearest settings, so all of expl, expm1l
and exp10l now get round-to-nearest used for frndint (meaning the
final fractional part can at most be slightly above 0.5 in
magnitude). Associated tests of exp and exp10 are added and testing
of exp10 in directed rounding modes enabled.
Tested x86_64 and x86 and ulps updated accordingly.
* sysdeps/i386/fpu/e_expl.S (IEEE754_EXPL): Also set
round-to-nearest for [!USE_AS_EXPM1L].
* sysdeps/x86_64/fpu/e_expl.S (IEEE754_EXPL): Likewise.
* math/auto-libm-test-in: Do not expect cosh tests to fail. Add
more tests of exp and exp10. Expect some exp10 tests to miss
exceptions or fail in directed rounding modes.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (exp10_tonearest_test_data): New array.
(exp10_test_tonearest): New function.
(exp10_towardzero_test_data): New array.
(exp10_test_towardzero): New function.
(exp10_downward_test_data): New array.
(exp10_test_downward): New function.
(exp10_upward_test_data): New array.
(exp10_test_upward): New function.
(main): Call the new functions.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-21 13:07:16 +00:00
|
|
|
Function: "exp10_downward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: "exp10_tonearest":
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "exp10_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "exp10_upward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
2012-03-02 15:12:53 +00:00
|
|
|
Function: "exp_downward":
|
|
|
|
double: 1
|
|
|
|
idouble: 1
|
|
|
|
|
|
|
|
Function: "exp_towardzero":
|
|
|
|
double: 1
|
|
|
|
idouble: 1
|
|
|
|
|
|
|
|
Function: "exp_upward":
|
2013-12-03 21:49:56 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
2012-03-02 15:12:53 +00:00
|
|
|
|
2009-01-09 08:38:54 +00:00
|
|
|
Function: "expm1":
|
|
|
|
ildouble: 1
|
2012-02-29 20:49:20 +00:00
|
|
|
ldouble: 1
|
2009-01-09 08:38:54 +00:00
|
|
|
|
2013-12-19 13:36:10 +00:00
|
|
|
Function: "expm1_downward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "expm1_tonearest":
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "expm1_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: "expm1_upward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
1999-11-22 01:28:56 +00:00
|
|
|
Function: "gamma":
|
|
|
|
double: 1
|
2014-01-01 14:34:38 +00:00
|
|
|
float: 1
|
1999-11-22 01:28:56 +00:00
|
|
|
idouble: 1
|
2014-01-01 14:34:38 +00:00
|
|
|
ifloat: 1
|
2001-03-04 19:25:06 +00:00
|
|
|
ildouble: 1
|
2002-06-20 08:34:01 +00:00
|
|
|
ldouble: 1
|
1999-11-22 01:28:56 +00:00
|
|
|
|
Test most libm functions in all rounding modes.
This patch makes libm-test.inc tests of most functions use ALL_RM_TEST
unless there was some reason to defer that change for a particular
function.
I started out planning to defer the change for pow (bug 16315), cexp /
ccos / ccosh / csin / csinh (likely fallout from exp, bug 16284) and
cpow (exact expectations for signs of exact zero results not wanted).
Testing on x86_64 and x86 showed additional failures for acosh, cacos,
catan, catanh, clog, clog10, jn, log, log10, log1p, log2, tgamma, yn,
so making the change for those functions was deferred as well, pending
investigation to show which of these represent distinct bugs (some
such bugs may already be filed) and appropriate fixing / XFAILing.
Failures include wrong signs of zero results, errors slightly above
the 9ulp bound (in such cases it may make sense for functions to set
round-to-nearest internally to reduce error accumulation), large
errors and incorrect overflow/underflow for the rounding mode (with
consequent missing errno settings in some cases). It's possible some
could be issues with test expectations, though I didn't notice any
that were obviously like that (I added NO_TEST_INLINE for cases that
were failing for ildoubl on x86 and where it seemed reasonable for
them to fail for the fast-math inlines).
There may of course be failures on other architectures for functions
that didn't fail on x86_64 or x86, in which case the usual rule
applies: file a bug (preferably identifying the underlying problem
function, in cases where function A calls function B and a problem
with function B may present in the test results for function A) if not
already in Bugzilla then fix or XFAIL.
Tested x86_64 and x86 and ulps updated accordingly.
* math/libm-test.inc (asinh_test): Use ALL_RM_TEST.
(atan_test): Likewise.
(atanh_test_data): Use NO_TEST_INLINE for two tests.
(atanh_test): Use ALL_RM_TEST.
(atan2_test_data): Likewise.
(cabs_test): Likewise.
(cacosh_test): Likewise.
(carg_test): Likewise.
(casin_test): Likewise.
(casinh_test): Likewise.
(cbrt_test): Likewise.
(csqrt_test): Likewise.
(erf_test): Likewise.
(erfc_test): Likewise.
(pow10_test): Likewise.
(exp2_test): Likewise.
(hypot_test): Likewise.
(j0_test): Likewise.
(j1_test): Likewise.
(lgamma_test): Likewise.
(gamma_test): Likewise.
(sincos_test): Likewise.
(tanh_test): Likewise.
(y0_test): Likewise.
(y1_test): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2014-03-21 00:03:38 +00:00
|
|
|
Function: "gamma_downward":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: "gamma_towardzero":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: "gamma_upward":
|
|
|
|
double: 2
|
|
|
|
float: 3
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 3
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: "hypot":
|
2013-12-16 21:18:07 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
Test most libm functions in all rounding modes.
This patch makes libm-test.inc tests of most functions use ALL_RM_TEST
unless there was some reason to defer that change for a particular
function.
I started out planning to defer the change for pow (bug 16315), cexp /
ccos / ccosh / csin / csinh (likely fallout from exp, bug 16284) and
cpow (exact expectations for signs of exact zero results not wanted).
Testing on x86_64 and x86 showed additional failures for acosh, cacos,
catan, catanh, clog, clog10, jn, log, log10, log1p, log2, tgamma, yn,
so making the change for those functions was deferred as well, pending
investigation to show which of these represent distinct bugs (some
such bugs may already be filed) and appropriate fixing / XFAILing.
Failures include wrong signs of zero results, errors slightly above
the 9ulp bound (in such cases it may make sense for functions to set
round-to-nearest internally to reduce error accumulation), large
errors and incorrect overflow/underflow for the rounding mode (with
consequent missing errno settings in some cases). It's possible some
could be issues with test expectations, though I didn't notice any
that were obviously like that (I added NO_TEST_INLINE for cases that
were failing for ildoubl on x86 and where it seemed reasonable for
them to fail for the fast-math inlines).
There may of course be failures on other architectures for functions
that didn't fail on x86_64 or x86, in which case the usual rule
applies: file a bug (preferably identifying the underlying problem
function, in cases where function A calls function B and a problem
with function B may present in the test results for function A) if not
already in Bugzilla then fix or XFAIL.
Tested x86_64 and x86 and ulps updated accordingly.
* math/libm-test.inc (asinh_test): Use ALL_RM_TEST.
(atan_test): Likewise.
(atanh_test_data): Use NO_TEST_INLINE for two tests.
(atanh_test): Use ALL_RM_TEST.
(atan2_test_data): Likewise.
(cabs_test): Likewise.
(cacosh_test): Likewise.
(carg_test): Likewise.
(casin_test): Likewise.
(casinh_test): Likewise.
(cbrt_test): Likewise.
(csqrt_test): Likewise.
(erf_test): Likewise.
(erfc_test): Likewise.
(pow10_test): Likewise.
(exp2_test): Likewise.
(hypot_test): Likewise.
(j0_test): Likewise.
(j1_test): Likewise.
(lgamma_test): Likewise.
(gamma_test): Likewise.
(sincos_test): Likewise.
(tanh_test): Likewise.
(y0_test): Likewise.
(y1_test): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2014-03-21 00:03:38 +00:00
|
|
|
Function: "hypot_downward":
|
|
|
|
double: 1
|
|
|
|
idouble: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "hypot_towardzero":
|
|
|
|
double: 1
|
|
|
|
idouble: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "hypot_upward":
|
|
|
|
double: 1
|
|
|
|
idouble: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: "j0":
|
2013-07-02 20:00:48 +00:00
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
2012-03-16 12:28:25 +00:00
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
1999-10-24 22:04:52 +00:00
|
|
|
|
Test most libm functions in all rounding modes.
This patch makes libm-test.inc tests of most functions use ALL_RM_TEST
unless there was some reason to defer that change for a particular
function.
I started out planning to defer the change for pow (bug 16315), cexp /
ccos / ccosh / csin / csinh (likely fallout from exp, bug 16284) and
cpow (exact expectations for signs of exact zero results not wanted).
Testing on x86_64 and x86 showed additional failures for acosh, cacos,
catan, catanh, clog, clog10, jn, log, log10, log1p, log2, tgamma, yn,
so making the change for those functions was deferred as well, pending
investigation to show which of these represent distinct bugs (some
such bugs may already be filed) and appropriate fixing / XFAILing.
Failures include wrong signs of zero results, errors slightly above
the 9ulp bound (in such cases it may make sense for functions to set
round-to-nearest internally to reduce error accumulation), large
errors and incorrect overflow/underflow for the rounding mode (with
consequent missing errno settings in some cases). It's possible some
could be issues with test expectations, though I didn't notice any
that were obviously like that (I added NO_TEST_INLINE for cases that
were failing for ildoubl on x86 and where it seemed reasonable for
them to fail for the fast-math inlines).
There may of course be failures on other architectures for functions
that didn't fail on x86_64 or x86, in which case the usual rule
applies: file a bug (preferably identifying the underlying problem
function, in cases where function A calls function B and a problem
with function B may present in the test results for function A) if not
already in Bugzilla then fix or XFAIL.
Tested x86_64 and x86 and ulps updated accordingly.
* math/libm-test.inc (asinh_test): Use ALL_RM_TEST.
(atan_test): Likewise.
(atanh_test_data): Use NO_TEST_INLINE for two tests.
(atanh_test): Use ALL_RM_TEST.
(atan2_test_data): Likewise.
(cabs_test): Likewise.
(cacosh_test): Likewise.
(carg_test): Likewise.
(casin_test): Likewise.
(casinh_test): Likewise.
(cbrt_test): Likewise.
(csqrt_test): Likewise.
(erf_test): Likewise.
(erfc_test): Likewise.
(pow10_test): Likewise.
(exp2_test): Likewise.
(hypot_test): Likewise.
(j0_test): Likewise.
(j1_test): Likewise.
(lgamma_test): Likewise.
(gamma_test): Likewise.
(sincos_test): Likewise.
(tanh_test): Likewise.
(y0_test): Likewise.
(y1_test): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2014-03-21 00:03:38 +00:00
|
|
|
Function: "j0_downward":
|
|
|
|
double: 1
|
|
|
|
float: 2
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 4
|
|
|
|
ldouble: 4
|
|
|
|
|
|
|
|
Function: "j0_towardzero":
|
|
|
|
double: 2
|
|
|
|
float: 1
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 5
|
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: "j0_upward":
|
|
|
|
double: 1
|
|
|
|
float: 3
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 3
|
|
|
|
ildouble: 4
|
|
|
|
ldouble: 4
|
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: "j1":
|
2012-03-14 16:23:31 +00:00
|
|
|
double: 2
|
2013-07-02 20:00:48 +00:00
|
|
|
float: 1
|
2012-03-14 16:23:31 +00:00
|
|
|
idouble: 2
|
2013-07-02 20:00:48 +00:00
|
|
|
ifloat: 1
|
2002-06-20 08:34:01 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
Test most libm functions in all rounding modes.
This patch makes libm-test.inc tests of most functions use ALL_RM_TEST
unless there was some reason to defer that change for a particular
function.
I started out planning to defer the change for pow (bug 16315), cexp /
ccos / ccosh / csin / csinh (likely fallout from exp, bug 16284) and
cpow (exact expectations for signs of exact zero results not wanted).
Testing on x86_64 and x86 showed additional failures for acosh, cacos,
catan, catanh, clog, clog10, jn, log, log10, log1p, log2, tgamma, yn,
so making the change for those functions was deferred as well, pending
investigation to show which of these represent distinct bugs (some
such bugs may already be filed) and appropriate fixing / XFAILing.
Failures include wrong signs of zero results, errors slightly above
the 9ulp bound (in such cases it may make sense for functions to set
round-to-nearest internally to reduce error accumulation), large
errors and incorrect overflow/underflow for the rounding mode (with
consequent missing errno settings in some cases). It's possible some
could be issues with test expectations, though I didn't notice any
that were obviously like that (I added NO_TEST_INLINE for cases that
were failing for ildoubl on x86 and where it seemed reasonable for
them to fail for the fast-math inlines).
There may of course be failures on other architectures for functions
that didn't fail on x86_64 or x86, in which case the usual rule
applies: file a bug (preferably identifying the underlying problem
function, in cases where function A calls function B and a problem
with function B may present in the test results for function A) if not
already in Bugzilla then fix or XFAIL.
Tested x86_64 and x86 and ulps updated accordingly.
* math/libm-test.inc (asinh_test): Use ALL_RM_TEST.
(atan_test): Likewise.
(atanh_test_data): Use NO_TEST_INLINE for two tests.
(atanh_test): Use ALL_RM_TEST.
(atan2_test_data): Likewise.
(cabs_test): Likewise.
(cacosh_test): Likewise.
(carg_test): Likewise.
(casin_test): Likewise.
(casinh_test): Likewise.
(cbrt_test): Likewise.
(csqrt_test): Likewise.
(erf_test): Likewise.
(erfc_test): Likewise.
(pow10_test): Likewise.
(exp2_test): Likewise.
(hypot_test): Likewise.
(j0_test): Likewise.
(j1_test): Likewise.
(lgamma_test): Likewise.
(gamma_test): Likewise.
(sincos_test): Likewise.
(tanh_test): Likewise.
(y0_test): Likewise.
(y1_test): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2014-03-21 00:03:38 +00:00
|
|
|
Function: "j1_downward":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 4
|
|
|
|
ldouble: 4
|
|
|
|
|
|
|
|
Function: "j1_towardzero":
|
|
|
|
double: 2
|
|
|
|
float: 1
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 4
|
|
|
|
ldouble: 4
|
|
|
|
|
|
|
|
Function: "j1_upward":
|
|
|
|
double: 2
|
|
|
|
float: 3
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 3
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: "jn":
|
2013-07-02 20:00:48 +00:00
|
|
|
double: 2
|
2014-01-01 14:34:38 +00:00
|
|
|
float: 3
|
2013-07-02 20:00:48 +00:00
|
|
|
idouble: 2
|
2014-01-01 14:34:38 +00:00
|
|
|
ifloat: 3
|
2013-12-18 17:59:29 +00:00
|
|
|
ildouble: 4
|
|
|
|
ldouble: 4
|
1999-10-24 22:04:52 +00:00
|
|
|
|
|
|
|
Function: "lgamma":
|
|
|
|
double: 1
|
2014-01-01 14:34:38 +00:00
|
|
|
float: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
idouble: 1
|
2014-01-01 14:34:38 +00:00
|
|
|
ifloat: 1
|
2001-03-04 19:25:06 +00:00
|
|
|
ildouble: 1
|
2002-06-20 08:34:01 +00:00
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
Test most libm functions in all rounding modes.
This patch makes libm-test.inc tests of most functions use ALL_RM_TEST
unless there was some reason to defer that change for a particular
function.
I started out planning to defer the change for pow (bug 16315), cexp /
ccos / ccosh / csin / csinh (likely fallout from exp, bug 16284) and
cpow (exact expectations for signs of exact zero results not wanted).
Testing on x86_64 and x86 showed additional failures for acosh, cacos,
catan, catanh, clog, clog10, jn, log, log10, log1p, log2, tgamma, yn,
so making the change for those functions was deferred as well, pending
investigation to show which of these represent distinct bugs (some
such bugs may already be filed) and appropriate fixing / XFAILing.
Failures include wrong signs of zero results, errors slightly above
the 9ulp bound (in such cases it may make sense for functions to set
round-to-nearest internally to reduce error accumulation), large
errors and incorrect overflow/underflow for the rounding mode (with
consequent missing errno settings in some cases). It's possible some
could be issues with test expectations, though I didn't notice any
that were obviously like that (I added NO_TEST_INLINE for cases that
were failing for ildoubl on x86 and where it seemed reasonable for
them to fail for the fast-math inlines).
There may of course be failures on other architectures for functions
that didn't fail on x86_64 or x86, in which case the usual rule
applies: file a bug (preferably identifying the underlying problem
function, in cases where function A calls function B and a problem
with function B may present in the test results for function A) if not
already in Bugzilla then fix or XFAIL.
Tested x86_64 and x86 and ulps updated accordingly.
* math/libm-test.inc (asinh_test): Use ALL_RM_TEST.
(atan_test): Likewise.
(atanh_test_data): Use NO_TEST_INLINE for two tests.
(atanh_test): Use ALL_RM_TEST.
(atan2_test_data): Likewise.
(cabs_test): Likewise.
(cacosh_test): Likewise.
(carg_test): Likewise.
(casin_test): Likewise.
(casinh_test): Likewise.
(cbrt_test): Likewise.
(csqrt_test): Likewise.
(erf_test): Likewise.
(erfc_test): Likewise.
(pow10_test): Likewise.
(exp2_test): Likewise.
(hypot_test): Likewise.
(j0_test): Likewise.
(j1_test): Likewise.
(lgamma_test): Likewise.
(gamma_test): Likewise.
(sincos_test): Likewise.
(tanh_test): Likewise.
(y0_test): Likewise.
(y1_test): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2014-03-21 00:03:38 +00:00
|
|
|
Function: "lgamma_downward":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: "lgamma_towardzero":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: "lgamma_upward":
|
|
|
|
double: 2
|
|
|
|
float: 3
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 3
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: "log":
|
2013-12-05 13:54:50 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
|
|
|
Function: "log10":
|
2002-06-20 08:34:01 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
2014-05-23 12:07:50 +00:00
|
|
|
Function: "log10_downward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "log10_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "log10_upward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
2013-12-05 13:54:50 +00:00
|
|
|
Function: "log1p":
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
Relax gen-auto-libm-tests may-underflow rules, test log1p in all rounding modes.
gen-auto-libm-tests presently allows but does not require underflow
exceptions for results with magnitude in the range (greatest
subnormal, least normal].
In some cases, the magnitude of the exact result is very slightly
above the least normal, but rounding in the implementation results in
it effectively computing an infinite-precision result that is slightly
below the least normal, so raising an underflow exception. This is in
accordance with the documented accuracy goals, but results in
testsuite failures.
This patch changes the logic to allow underflows when the mathematical
result is up to 0.5ulp above the least normal (so in any case where
the round-to-nearest result is the least normal). Ideally underflows
in all these cases would be accepted only when an underflow with the
actual result is consistent with the rounding mode (in FE_TOWARDZERO
mode, a return value of the least normal implies that the
infinite-precision result did not underflow so there should be no
underflow exception, for example), so as to match the documented goals
more precisely - whereas at present the tests for exceptions are
completely independent of the tests of the returned values. (The same
applies to overflow exceptions as well - they too should be checked
for consistency with the result, as in FE_TOWARDZERO mode a result
1ulp below the largest finite value should be inconsistent with an
overflow exception and cause a failure with overflow rather than
simply being considered a 1ulp error when overflow is expected.) But
the present patch at least deals with the cases causing spurious
failures so that (a) certain existing tests no longer need to be
marked as having spurious exceptions (such markings in
auto-libm-test-in end up applying to more cases than just those they
are needed for) and (b) log1p can be tested in all rounding modes
without introducing more such failures. This patch duly moves tests
of log1p to ALL_RM_TEST.
Tested x86_64 and x86 and ulps updated accordingly.
[BZ #16357]
[BZ #16599]
* math/gen-auto-libm-tests.c (fp_format_desc): Add field
min_plus_half.
(fp_formats): Update initializers.
(init_fp_formats): Initialize new field.
(output_for_one_input_case): Allow underflow for results up to
min_plus_half.
* math/libm-test.inc (log1p_test): Use ALL_RM_TEST.
* math/auto-libm-test-in: Don't mark some underflows from asin and
atanh as spurious.
* math/auto-libm-test-out: Regenerated.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2014-03-25 12:26:06 +00:00
|
|
|
Function: "log1p_downward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: "log1p_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: "log1p_upward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
2014-03-21 18:13:58 +00:00
|
|
|
Function: "log_downward":
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "log_towardzero":
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "log_upward":
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
2012-11-28 13:40:54 +00:00
|
|
|
Function: "pow":
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
2013-05-24 20:33:14 +00:00
|
|
|
Function: "pow10":
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
Test most libm functions in all rounding modes.
This patch makes libm-test.inc tests of most functions use ALL_RM_TEST
unless there was some reason to defer that change for a particular
function.
I started out planning to defer the change for pow (bug 16315), cexp /
ccos / ccosh / csin / csinh (likely fallout from exp, bug 16284) and
cpow (exact expectations for signs of exact zero results not wanted).
Testing on x86_64 and x86 showed additional failures for acosh, cacos,
catan, catanh, clog, clog10, jn, log, log10, log1p, log2, tgamma, yn,
so making the change for those functions was deferred as well, pending
investigation to show which of these represent distinct bugs (some
such bugs may already be filed) and appropriate fixing / XFAILing.
Failures include wrong signs of zero results, errors slightly above
the 9ulp bound (in such cases it may make sense for functions to set
round-to-nearest internally to reduce error accumulation), large
errors and incorrect overflow/underflow for the rounding mode (with
consequent missing errno settings in some cases). It's possible some
could be issues with test expectations, though I didn't notice any
that were obviously like that (I added NO_TEST_INLINE for cases that
were failing for ildoubl on x86 and where it seemed reasonable for
them to fail for the fast-math inlines).
There may of course be failures on other architectures for functions
that didn't fail on x86_64 or x86, in which case the usual rule
applies: file a bug (preferably identifying the underlying problem
function, in cases where function A calls function B and a problem
with function B may present in the test results for function A) if not
already in Bugzilla then fix or XFAIL.
Tested x86_64 and x86 and ulps updated accordingly.
* math/libm-test.inc (asinh_test): Use ALL_RM_TEST.
(atan_test): Likewise.
(atanh_test_data): Use NO_TEST_INLINE for two tests.
(atanh_test): Use ALL_RM_TEST.
(atan2_test_data): Likewise.
(cabs_test): Likewise.
(cacosh_test): Likewise.
(carg_test): Likewise.
(casin_test): Likewise.
(casinh_test): Likewise.
(cbrt_test): Likewise.
(csqrt_test): Likewise.
(erf_test): Likewise.
(erfc_test): Likewise.
(pow10_test): Likewise.
(exp2_test): Likewise.
(hypot_test): Likewise.
(j0_test): Likewise.
(j1_test): Likewise.
(lgamma_test): Likewise.
(gamma_test): Likewise.
(sincos_test): Likewise.
(tanh_test): Likewise.
(y0_test): Likewise.
(y1_test): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2014-03-21 00:03:38 +00:00
|
|
|
Function: "pow10_downward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: "pow10_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "pow10_upward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
2012-03-05 12:22:46 +00:00
|
|
|
Function: "pow_downward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
|
2013-12-16 21:18:07 +00:00
|
|
|
Function: "pow_tonearest":
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
2012-03-05 12:22:46 +00:00
|
|
|
Function: "pow_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
|
|
|
|
Function: "pow_upward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
2013-12-05 13:54:50 +00:00
|
|
|
Function: "sin":
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
2012-03-02 20:51:39 +00:00
|
|
|
Function: "sin_downward":
|
2013-12-05 13:54:50 +00:00
|
|
|
double: 1
|
|
|
|
idouble: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: "sin_tonearest":
|
2012-03-02 20:51:39 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "sin_towardzero":
|
2013-12-05 13:54:50 +00:00
|
|
|
double: 1
|
|
|
|
idouble: 1
|
2012-03-02 20:51:39 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "sin_upward":
|
2013-12-05 13:54:50 +00:00
|
|
|
double: 1
|
|
|
|
idouble: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
2012-03-02 20:51:39 +00:00
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: "sincos":
|
2002-06-20 08:34:01 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
Test most libm functions in all rounding modes.
This patch makes libm-test.inc tests of most functions use ALL_RM_TEST
unless there was some reason to defer that change for a particular
function.
I started out planning to defer the change for pow (bug 16315), cexp /
ccos / ccosh / csin / csinh (likely fallout from exp, bug 16284) and
cpow (exact expectations for signs of exact zero results not wanted).
Testing on x86_64 and x86 showed additional failures for acosh, cacos,
catan, catanh, clog, clog10, jn, log, log10, log1p, log2, tgamma, yn,
so making the change for those functions was deferred as well, pending
investigation to show which of these represent distinct bugs (some
such bugs may already be filed) and appropriate fixing / XFAILing.
Failures include wrong signs of zero results, errors slightly above
the 9ulp bound (in such cases it may make sense for functions to set
round-to-nearest internally to reduce error accumulation), large
errors and incorrect overflow/underflow for the rounding mode (with
consequent missing errno settings in some cases). It's possible some
could be issues with test expectations, though I didn't notice any
that were obviously like that (I added NO_TEST_INLINE for cases that
were failing for ildoubl on x86 and where it seemed reasonable for
them to fail for the fast-math inlines).
There may of course be failures on other architectures for functions
that didn't fail on x86_64 or x86, in which case the usual rule
applies: file a bug (preferably identifying the underlying problem
function, in cases where function A calls function B and a problem
with function B may present in the test results for function A) if not
already in Bugzilla then fix or XFAIL.
Tested x86_64 and x86 and ulps updated accordingly.
* math/libm-test.inc (asinh_test): Use ALL_RM_TEST.
(atan_test): Likewise.
(atanh_test_data): Use NO_TEST_INLINE for two tests.
(atanh_test): Use ALL_RM_TEST.
(atan2_test_data): Likewise.
(cabs_test): Likewise.
(cacosh_test): Likewise.
(carg_test): Likewise.
(casin_test): Likewise.
(casinh_test): Likewise.
(cbrt_test): Likewise.
(csqrt_test): Likewise.
(erf_test): Likewise.
(erfc_test): Likewise.
(pow10_test): Likewise.
(exp2_test): Likewise.
(hypot_test): Likewise.
(j0_test): Likewise.
(j1_test): Likewise.
(lgamma_test): Likewise.
(gamma_test): Likewise.
(sincos_test): Likewise.
(tanh_test): Likewise.
(y0_test): Likewise.
(y1_test): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2014-03-21 00:03:38 +00:00
|
|
|
Function: "sincos_downward":
|
|
|
|
double: 1
|
|
|
|
idouble: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: "sincos_towardzero":
|
|
|
|
double: 1
|
|
|
|
idouble: 1
|
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "sincos_upward":
|
|
|
|
double: 1
|
|
|
|
idouble: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: "sinh":
|
2002-06-20 08:34:01 +00:00
|
|
|
ildouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
2012-03-05 12:20:24 +00:00
|
|
|
Function: "sinh_downward":
|
|
|
|
float: 1
|
2014-01-01 14:34:38 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
2012-03-05 12:20:24 +00:00
|
|
|
|
2013-12-05 13:54:50 +00:00
|
|
|
Function: "sinh_tonearest":
|
|
|
|
ildouble: 1
|
|
|
|
|
2012-03-05 12:20:24 +00:00
|
|
|
Function: "sinh_towardzero":
|
|
|
|
float: 1
|
2014-01-01 14:34:38 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
2012-03-05 12:20:24 +00:00
|
|
|
|
|
|
|
Function: "sinh_upward":
|
|
|
|
double: 1
|
2013-12-05 13:54:50 +00:00
|
|
|
float: 1
|
2014-01-01 14:34:38 +00:00
|
|
|
ildouble: 1
|
2012-05-07 19:13:08 +00:00
|
|
|
ldouble: 1
|
2012-03-05 12:20:24 +00:00
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: "tan":
|
2012-03-15 16:34:24 +00:00
|
|
|
float: 1
|
|
|
|
ifloat: 1
|
2012-03-16 20:05:04 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
2012-03-02 20:51:39 +00:00
|
|
|
Function: "tan_downward":
|
2013-12-05 13:54:50 +00:00
|
|
|
double: 1
|
2014-01-01 14:34:38 +00:00
|
|
|
float: 1
|
2013-12-05 13:54:50 +00:00
|
|
|
idouble: 1
|
2014-01-01 14:34:38 +00:00
|
|
|
ifloat: 1
|
2012-03-02 20:51:39 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "tan_tonearest":
|
2012-03-15 16:34:24 +00:00
|
|
|
float: 1
|
|
|
|
ifloat: 1
|
2012-03-02 20:51:39 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "tan_towardzero":
|
2013-12-05 13:54:50 +00:00
|
|
|
double: 1
|
2012-03-02 20:51:39 +00:00
|
|
|
float: 1
|
2013-12-05 13:54:50 +00:00
|
|
|
idouble: 1
|
2012-03-02 20:51:39 +00:00
|
|
|
ifloat: 1
|
2013-07-02 20:00:48 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
2012-03-02 20:51:39 +00:00
|
|
|
|
|
|
|
Function: "tan_upward":
|
2013-12-05 13:54:50 +00:00
|
|
|
double: 1
|
2012-03-02 20:51:39 +00:00
|
|
|
float: 1
|
2013-12-05 13:54:50 +00:00
|
|
|
idouble: 1
|
2012-03-02 20:51:39 +00:00
|
|
|
ifloat: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
Test most libm functions in all rounding modes.
This patch makes libm-test.inc tests of most functions use ALL_RM_TEST
unless there was some reason to defer that change for a particular
function.
I started out planning to defer the change for pow (bug 16315), cexp /
ccos / ccosh / csin / csinh (likely fallout from exp, bug 16284) and
cpow (exact expectations for signs of exact zero results not wanted).
Testing on x86_64 and x86 showed additional failures for acosh, cacos,
catan, catanh, clog, clog10, jn, log, log10, log1p, log2, tgamma, yn,
so making the change for those functions was deferred as well, pending
investigation to show which of these represent distinct bugs (some
such bugs may already be filed) and appropriate fixing / XFAILing.
Failures include wrong signs of zero results, errors slightly above
the 9ulp bound (in such cases it may make sense for functions to set
round-to-nearest internally to reduce error accumulation), large
errors and incorrect overflow/underflow for the rounding mode (with
consequent missing errno settings in some cases). It's possible some
could be issues with test expectations, though I didn't notice any
that were obviously like that (I added NO_TEST_INLINE for cases that
were failing for ildoubl on x86 and where it seemed reasonable for
them to fail for the fast-math inlines).
There may of course be failures on other architectures for functions
that didn't fail on x86_64 or x86, in which case the usual rule
applies: file a bug (preferably identifying the underlying problem
function, in cases where function A calls function B and a problem
with function B may present in the test results for function A) if not
already in Bugzilla then fix or XFAIL.
Tested x86_64 and x86 and ulps updated accordingly.
* math/libm-test.inc (asinh_test): Use ALL_RM_TEST.
(atan_test): Likewise.
(atanh_test_data): Use NO_TEST_INLINE for two tests.
(atanh_test): Use ALL_RM_TEST.
(atan2_test_data): Likewise.
(cabs_test): Likewise.
(cacosh_test): Likewise.
(carg_test): Likewise.
(casin_test): Likewise.
(casinh_test): Likewise.
(cbrt_test): Likewise.
(csqrt_test): Likewise.
(erf_test): Likewise.
(erfc_test): Likewise.
(pow10_test): Likewise.
(exp2_test): Likewise.
(hypot_test): Likewise.
(j0_test): Likewise.
(j1_test): Likewise.
(lgamma_test): Likewise.
(gamma_test): Likewise.
(sincos_test): Likewise.
(tanh_test): Likewise.
(y0_test): Likewise.
(y1_test): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2014-03-21 00:03:38 +00:00
|
|
|
Function: "tanh_downward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "tanh_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "tanh_upward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
ildouble: 2
|
|
|
|
ldouble: 1
|
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: "tgamma":
|
2013-05-08 11:58:18 +00:00
|
|
|
double: 4
|
|
|
|
float: 2
|
|
|
|
idouble: 4
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 4
|
|
|
|
ldouble: 4
|
1999-10-24 22:04:52 +00:00
|
|
|
|
|
|
|
Function: "y0":
|
2013-07-02 20:00:48 +00:00
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 1
|
2002-06-20 08:34:01 +00:00
|
|
|
ildouble: 1
|
|
|
|
ldouble: 1
|
1999-10-24 22:04:52 +00:00
|
|
|
|
Test most libm functions in all rounding modes.
This patch makes libm-test.inc tests of most functions use ALL_RM_TEST
unless there was some reason to defer that change for a particular
function.
I started out planning to defer the change for pow (bug 16315), cexp /
ccos / ccosh / csin / csinh (likely fallout from exp, bug 16284) and
cpow (exact expectations for signs of exact zero results not wanted).
Testing on x86_64 and x86 showed additional failures for acosh, cacos,
catan, catanh, clog, clog10, jn, log, log10, log1p, log2, tgamma, yn,
so making the change for those functions was deferred as well, pending
investigation to show which of these represent distinct bugs (some
such bugs may already be filed) and appropriate fixing / XFAILing.
Failures include wrong signs of zero results, errors slightly above
the 9ulp bound (in such cases it may make sense for functions to set
round-to-nearest internally to reduce error accumulation), large
errors and incorrect overflow/underflow for the rounding mode (with
consequent missing errno settings in some cases). It's possible some
could be issues with test expectations, though I didn't notice any
that were obviously like that (I added NO_TEST_INLINE for cases that
were failing for ildoubl on x86 and where it seemed reasonable for
them to fail for the fast-math inlines).
There may of course be failures on other architectures for functions
that didn't fail on x86_64 or x86, in which case the usual rule
applies: file a bug (preferably identifying the underlying problem
function, in cases where function A calls function B and a problem
with function B may present in the test results for function A) if not
already in Bugzilla then fix or XFAIL.
Tested x86_64 and x86 and ulps updated accordingly.
* math/libm-test.inc (asinh_test): Use ALL_RM_TEST.
(atan_test): Likewise.
(atanh_test_data): Use NO_TEST_INLINE for two tests.
(atanh_test): Use ALL_RM_TEST.
(atan2_test_data): Likewise.
(cabs_test): Likewise.
(cacosh_test): Likewise.
(carg_test): Likewise.
(casin_test): Likewise.
(casinh_test): Likewise.
(cbrt_test): Likewise.
(csqrt_test): Likewise.
(erf_test): Likewise.
(erfc_test): Likewise.
(pow10_test): Likewise.
(exp2_test): Likewise.
(hypot_test): Likewise.
(j0_test): Likewise.
(j1_test): Likewise.
(lgamma_test): Likewise.
(gamma_test): Likewise.
(sincos_test): Likewise.
(tanh_test): Likewise.
(y0_test): Likewise.
(y1_test): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2014-03-21 00:03:38 +00:00
|
|
|
Function: "y0_downward":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 5
|
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: "y0_towardzero":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 5
|
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: "y0_upward":
|
|
|
|
double: 1
|
|
|
|
float: 2
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 3
|
|
|
|
ldouble: 3
|
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: "y1":
|
2002-06-20 08:34:01 +00:00
|
|
|
double: 2
|
1999-10-24 22:04:52 +00:00
|
|
|
float: 2
|
2002-06-20 08:34:01 +00:00
|
|
|
idouble: 2
|
1999-10-24 22:04:52 +00:00
|
|
|
ifloat: 2
|
2012-03-16 20:08:02 +00:00
|
|
|
ildouble: 2
|
|
|
|
ldouble: 2
|
1999-10-24 22:04:52 +00:00
|
|
|
|
Test most libm functions in all rounding modes.
This patch makes libm-test.inc tests of most functions use ALL_RM_TEST
unless there was some reason to defer that change for a particular
function.
I started out planning to defer the change for pow (bug 16315), cexp /
ccos / ccosh / csin / csinh (likely fallout from exp, bug 16284) and
cpow (exact expectations for signs of exact zero results not wanted).
Testing on x86_64 and x86 showed additional failures for acosh, cacos,
catan, catanh, clog, clog10, jn, log, log10, log1p, log2, tgamma, yn,
so making the change for those functions was deferred as well, pending
investigation to show which of these represent distinct bugs (some
such bugs may already be filed) and appropriate fixing / XFAILing.
Failures include wrong signs of zero results, errors slightly above
the 9ulp bound (in such cases it may make sense for functions to set
round-to-nearest internally to reduce error accumulation), large
errors and incorrect overflow/underflow for the rounding mode (with
consequent missing errno settings in some cases). It's possible some
could be issues with test expectations, though I didn't notice any
that were obviously like that (I added NO_TEST_INLINE for cases that
were failing for ildoubl on x86 and where it seemed reasonable for
them to fail for the fast-math inlines).
There may of course be failures on other architectures for functions
that didn't fail on x86_64 or x86, in which case the usual rule
applies: file a bug (preferably identifying the underlying problem
function, in cases where function A calls function B and a problem
with function B may present in the test results for function A) if not
already in Bugzilla then fix or XFAIL.
Tested x86_64 and x86 and ulps updated accordingly.
* math/libm-test.inc (asinh_test): Use ALL_RM_TEST.
(atan_test): Likewise.
(atanh_test_data): Use NO_TEST_INLINE for two tests.
(atanh_test): Use ALL_RM_TEST.
(atan2_test_data): Likewise.
(cabs_test): Likewise.
(cacosh_test): Likewise.
(carg_test): Likewise.
(casin_test): Likewise.
(casinh_test): Likewise.
(cbrt_test): Likewise.
(csqrt_test): Likewise.
(erf_test): Likewise.
(erfc_test): Likewise.
(pow10_test): Likewise.
(exp2_test): Likewise.
(hypot_test): Likewise.
(j0_test): Likewise.
(j1_test): Likewise.
(lgamma_test): Likewise.
(gamma_test): Likewise.
(sincos_test): Likewise.
(tanh_test): Likewise.
(y0_test): Likewise.
(y1_test): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2014-03-21 00:03:38 +00:00
|
|
|
Function: "y1_downward":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 7
|
|
|
|
ldouble: 7
|
|
|
|
|
|
|
|
Function: "y1_towardzero":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
idouble: 2
|
|
|
|
ifloat: 2
|
|
|
|
ildouble: 5
|
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: "y1_upward":
|
|
|
|
double: 1
|
|
|
|
float: 3
|
|
|
|
idouble: 1
|
|
|
|
ifloat: 3
|
|
|
|
ildouble: 7
|
|
|
|
ldouble: 7
|
|
|
|
|
1999-10-24 22:04:52 +00:00
|
|
|
Function: "yn":
|
2002-06-20 08:34:01 +00:00
|
|
|
double: 2
|
2002-07-08 17:15:20 +00:00
|
|
|
float: 3
|
2002-06-20 08:34:01 +00:00
|
|
|
idouble: 2
|
2002-07-08 17:15:20 +00:00
|
|
|
ifloat: 3
|
2002-06-20 08:34:01 +00:00
|
|
|
ildouble: 4
|
|
|
|
ldouble: 4
|
1999-10-24 22:04:52 +00:00
|
|
|
|
|
|
|
# end of automatic generation
|