mirror of
https://github.com/python/cpython
synced 2024-10-04 19:39:39 +00:00
Issue #9920: Skip tests for cmath.atan and cmath.atanh applied to
complex zeros on systems where the log1p function fails to respect the sign of zero. This fixes a test failure on AIX.
This commit is contained in:
parent
6646cd45be
commit
4ccc137aff
|
@ -733,10 +733,11 @@ asinh1036 asinh -inf inf -> -inf 0.78539816339744828
|
|||
---------------------------
|
||||
|
||||
-- zeros
|
||||
atan0000 atan 0.0 0.0 -> 0.0 0.0
|
||||
atan0001 atan 0.0 -0.0 -> 0.0 -0.0
|
||||
atan0002 atan -0.0 0.0 -> -0.0 0.0
|
||||
atan0003 atan -0.0 -0.0 -> -0.0 -0.0
|
||||
-- These are tested in testAtanSign in test_cmath.py
|
||||
-- atan0000 atan 0.0 0.0 -> 0.0 0.0
|
||||
-- atan0001 atan 0.0 -0.0 -> 0.0 -0.0
|
||||
-- atan0002 atan -0.0 0.0 -> -0.0 0.0
|
||||
-- atan0003 atan -0.0 -0.0 -> -0.0 -0.0
|
||||
|
||||
-- values along both sides of imaginary axis
|
||||
atan0010 atan 0.0 -9.8813129168249309e-324 -> 0.0 -9.8813129168249309e-324
|
||||
|
@ -896,10 +897,11 @@ atan1040 atan -inf -inf -> -1.5707963267948966 -0.0
|
|||
---------------------------------------
|
||||
|
||||
-- zeros
|
||||
atanh0000 atanh 0.0 0.0 -> 0.0 0.0
|
||||
atanh0001 atanh 0.0 -0.0 -> 0.0 -0.0
|
||||
atanh0002 atanh -0.0 0.0 -> -0.0 0.0
|
||||
atanh0003 atanh -0.0 -0.0 -> -0.0 -0.0
|
||||
-- These are tested in testAtanhSign in test_cmath.py
|
||||
-- atanh0000 atanh 0.0 0.0 -> 0.0 0.0
|
||||
-- atanh0001 atanh 0.0 -0.0 -> 0.0 -0.0
|
||||
-- atanh0002 atanh -0.0 0.0 -> -0.0 0.0
|
||||
-- atanh0003 atanh -0.0 -0.0 -> -0.0 -0.0
|
||||
|
||||
-- values along both sides of real axis
|
||||
atanh0010 atanh -9.8813129168249309e-324 0.0 -> -9.8813129168249309e-324 0.0
|
||||
|
|
|
@ -514,6 +514,24 @@ def testTanhSign(self):
|
|||
for z in complex_zeros:
|
||||
self.assertComplexIdentical(cmath.tanh(z), z)
|
||||
|
||||
# The algorithm used for atan and atanh makes use of the system
|
||||
# log1p function; If that system function doesn't respect the sign
|
||||
# of zero, then atan and atanh will also have difficulties with
|
||||
# the sign of complex zeros.
|
||||
@requires_IEEE_754
|
||||
@unittest.skipIf(sysconfig.get_config_var('LOG1P_DROPS_ZERO_SIGN'),
|
||||
"system log1p() function doesn't preserve the sign")
|
||||
def testAtanSign(self):
|
||||
for z in complex_zeros:
|
||||
self.assertComplexIdentical(cmath.atan(z), z)
|
||||
|
||||
@requires_IEEE_754
|
||||
@unittest.skipIf(sysconfig.get_config_var('LOG1P_DROPS_ZERO_SIGN'),
|
||||
"system log1p() function doesn't preserve the sign")
|
||||
def testAtanhSign(self):
|
||||
for z in complex_zeros:
|
||||
self.assertComplexIdentical(cmath.atanh(z), z)
|
||||
|
||||
|
||||
def test_main():
|
||||
run_unittest(CMathTests)
|
||||
|
|
|
@ -21,6 +21,10 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #9920: Skip tests for cmath.atan and cmath.atanh applied to
|
||||
complex zeros on systems where the log1p function fails to respect
|
||||
the sign of zero. This fixes a test failure on AIX.
|
||||
|
||||
- Issue #10446: Module documentation generated by pydoc now links to a
|
||||
version-specific online reference manual.
|
||||
|
||||
|
|
Loading…
Reference in a new issue