Skip to content

Drop workarounds for buggy libm's pow() #8

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 2 commits into from
Closed

Conversation

skirpichev
Copy link
Owner

No description provided.

@skirpichev
Copy link
Owner Author

Macos 13:

======================================================================
FAIL: testPow (test.test_math.MathTests.testPow)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/runner/work/cpython/cpython/Lib/test/test_math.py", line 1592, in testPow
    self.assertRaises(OverflowError, math.pow, 1e+100, 1e+100)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: OverflowError not raised by pow

----------------------------------------------------------------------
Ran 1 test in 0.008s

FAILED (failures=1)
test test_math failed
0:08:42 load avg: 9.57 [2/4/2] test_float failed (1 failure)
Re-running test_float in verbose mode (matching: test_float_pow)
test_float_pow (test.test_float.GeneralFloatCases.test_float_pow) ... FAIL

======================================================================
FAIL: test_float_pow (test.test_float.GeneralFloatCases.test_float_pow)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/runner/work/cpython/cpython/Lib/test/test_float.py", line 526, in test_float_pow
    self.assertEqual(type(pow_op(-2.0, -0.5)), complex)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: <class 'float'> != <class 'complex'>

----------------------------------------------------------------------
Ran 1 test in 0.008s

FAILED (failures=1)
test test_float failed
0:08:42 load avg: 9.57 [3/4/3] test_fractions failed (2 failures)
Re-running test_fractions in verbose mode (matching: testArithmetic, testMixedPower)
testArithmetic (test.test_fractions.FractionTest.testArithmetic) ... FAIL
testMixedPower (test.test_fractions.FractionTest.testMixedPower) ... FAIL

======================================================================
FAIL: testArithmetic (test.test_fractions.FractionTest.testArithmetic)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/runner/work/cpython/cpython/Lib/test/test_fractions.py", line 792, in testArithmetic
    self.assertAlmostEqual(z.real, 0)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
AssertionError: nan != 0 within 7 places (nan difference)

======================================================================
FAIL: testMixedPower (test.test_fractions.FractionTest.testMixedPower)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/runner/work/cpython/cpython/Lib/test/test_fractions.py", line 968, in testMixedPower
    self.assertAlmostEqual(0, z.real)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
AssertionError: 0 != nan within 7 places (nan difference)

----------------------------------------------------------------------
Ran 2 tests in 0.010s

FAILED (failures=2)
test test_fractions failed
0:08:42 load avg: 9.57 [4/4/4] test_builtin failed (1 failure)
Re-running test_builtin in verbose mode (matching: test_pow)
test_pow (test.test_builtin.BuiltinTest.test_pow) ... FAIL

======================================================================
FAIL: test_pow (test.test_builtin.BuiltinTest.test_pow)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/runner/work/cpython/cpython/Lib/test/test_builtin.py", line 1723, in test_pow
    self.assertAlmostEqual(pow(-1, 0.5), 1j)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
AssertionError: nan != 1j within 7 places (nan difference)

----------------------------------------------------------------------
Ran 1 test in 0.007s

FAILED (failures=1)
test test_builtin failed
4 tests failed again:
    test_builtin test_float test_fractions test_math

== Tests result: FAILURE then FAILURE ==

MacOS 14:

======================================================================
FAIL: testArithmetic (test.test_fractions.FractionTest.testArithmetic)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/runner/work/cpython/cpython/Lib/test/test_fractions.py", line 792, in testArithmetic
    self.assertAlmostEqual(z.real, 0)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
AssertionError: nan != 0 within 7 places (nan difference)

======================================================================
FAIL: testMixedPower (test.test_fractions.FractionTest.testMixedPower)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/runner/work/cpython/cpython/Lib/test/test_fractions.py", line 968, in testMixedPower
    self.assertAlmostEqual(0, z.real)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
AssertionError: 0 != nan within 7 places (nan difference)

----------------------------------------------------------------------
Ran 2 tests in 0.005s

FAILED (failures=2)
test test_fractions failed
0:06:24 load avg: 5.45 [2/4/2] test_float failed (1 failure)
Re-running test_float in verbose mode (matching: test_float_pow)
test_float_pow (test.test_float.GeneralFloatCases.test_float_pow) ... FAIL

======================================================================
FAIL: test_float_pow (test.test_float.GeneralFloatCases.test_float_pow)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/runner/work/cpython/cpython/Lib/test/test_float.py", line 526, in test_float_pow
    self.assertEqual(type(pow_op(-2.0, -0.5)), complex)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: <class 'float'> != <class 'complex'>

----------------------------------------------------------------------
Ran 1 test in 0.004s

FAILED (failures=1)
test test_float failed
0:06:24 load avg: 5.45 [3/4/3] test_math failed (1 failure)
Re-running test_math in verbose mode (matching: testPow)
testPow (test.test_math.MathTests.testPow) ... FAIL

======================================================================
FAIL: testPow (test.test_math.MathTests.testPow)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/runner/work/cpython/cpython/Lib/test/test_math.py", line 1592, in testPow
    self.assertRaises(OverflowError, math.pow, 1e+100, 1e+100)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: OverflowError not raised by pow

----------------------------------------------------------------------
Ran 1 test in 0.004s

FAILED (failures=1)
test test_math failed
0:06:24 load avg: 5.45 [4/4/4] test_builtin failed (1 failure)
Re-running test_builtin in verbose mode (matching: test_pow)
test_pow (test.test_builtin.BuiltinTest.test_pow) ... FAIL

======================================================================
FAIL: test_pow (test.test_builtin.BuiltinTest.test_pow)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/runner/work/cpython/cpython/Lib/test/test_builtin.py", line 1723, in test_pow
    self.assertAlmostEqual(pow(-1, 0.5), 1j)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
AssertionError: nan != 1j within 7 places (nan difference)

----------------------------------------------------------------------
Ran 1 test in 0.002s

FAILED (failures=1)
test test_builtin failed
4 tests failed again:
    test_builtin test_float test_fractions test_math

== Tests result: FAILURE then FAILURE ==

Test WASI:

 ======================================================================
FAIL: testPow (test.test_math.MathTests.testPow)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Lib/test/test_math.py", line 1592, in testPow
    self.assertRaises(OverflowError, math.pow, 1e+100, 1e+100)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: OverflowError not raised by pow

======================================================================
FAIL: testArithmetic (test.test_fractions.FractionTest.testArithmetic)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Lib/test/test_fractions.py", line 792, in testArithmetic
    self.assertAlmostEqual(z.real, 0)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
AssertionError: nan != 0 within 7 places (nan difference)

======================================================================
FAIL: testMixedPower (test.test_fractions.FractionTest.testMixedPower)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Lib/test/test_fractions.py", line 968, in testMixedPower
    self.assertAlmostEqual(0, z.real)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
AssertionError: 0 != nan within 7 places (nan difference)

----------------------------------------------------------------------
Ran 49 tests in 0.179s

======================================================================
FAIL: test_float_pow (test.test_float.GeneralFloatCases.test_float_pow)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Lib/test/test_float.py", line 526, in test_float_pow
    self.assertEqual(type(pow_op(-2.0, -0.5)), complex)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: <class 'float'> != <class 'complex'>

----------------------------------------------------------------------
Ran 53 tests in 0.366s

 ======================================================================
FAIL: test_pow (test.test_builtin.BuiltinTest.test_pow)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Lib/test/test_builtin.py", line 1723, in test_pow
    self.assertAlmostEqual(pow(-1, 0.5), 1j)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
AssertionError: nan != 1j within 7 places (nan difference)



@skirpichev skirpichev closed this May 4, 2025
@skirpichev skirpichev deleted the no-pow-wa/133274 branch May 4, 2025 09:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant