Kaydet (Commit) cd9dd379 authored tarafından Victor Stinner's avatar Victor Stinner

Issue #11888: skip some log2 tests on Mac OS X Tiger

System log2() is not accurate for exact power of 2.
üst 74b4885c
......@@ -5,6 +5,7 @@ from test.support import run_unittest, verbose, requires_IEEE_754
import unittest
import math
import os
import platform
import sys
import struct
import sysconfig
......@@ -652,10 +653,6 @@ class MathTests(unittest.TestCase):
@requires_IEEE_754
def testLog2(self):
self.assertRaises(TypeError, math.log2)
# Check that we get exact equality for log2 of powers of 2.
actual = [math.log2(math.ldexp(1.0, n)) for n in range(-1074, 1024)]
expected = [float(n) for n in range(-1074, 1024)]
self.assertEqual(actual, expected)
# Check some integer values
self.assertEqual(math.log2(1), 0.0)
......@@ -671,6 +668,16 @@ class MathTests(unittest.TestCase):
self.assertRaises(ValueError, math.log2, NINF)
self.assertTrue(math.isnan(math.log2(NAN)))
@requires_IEEE_754
@unittest.skipIf(sys.platform == 'darwin'
and platform.mac_ver()[0].startswith('10.4.'),
'Mac OS X Tiger log2() is not accurate enough')
def testLog2Exact(self):
# Check that we get exact equality for log2 of powers of 2.
actual = [math.log2(math.ldexp(1.0, n)) for n in range(-1074, 1024)]
expected = [float(n) for n in range(-1074, 1024)]
self.assertEqual(actual, expected)
def testLog10(self):
self.assertRaises(TypeError, math.log10)
self.ftest('log10(0.1)', math.log10(0.1), -1)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment