Merged revisions 79804 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r79804 | mark.dickinson | 2010-04-05 19:07:51 +0100 (Mon, 05 Apr 2010) | 5 lines
Use a more robust infinity check in _Py_HashDouble.
This fixes a test_decimal failure on FreeBSD 8.0. (modf apparently
doesn't follow C99 Annex F on FreeBSD.)
........
diff --git a/Lib/test/test_float.py b/Lib/test/test_float.py
index cabeb16..b52b1db 100644
--- a/Lib/test/test_float.py
+++ b/Lib/test/test_float.py
@@ -914,6 +914,15 @@
self.assertFalse(NAN.is_inf())
self.assertFalse((0.).is_inf())
+ def test_hash_inf(self):
+ # the actual values here should be regarded as an
+ # implementation detail, but they need to be
+ # identical to those used in the Decimal module.
+ self.assertEqual(hash(float('inf')), 314159)
+ self.assertEqual(hash(float('-inf')), -271828)
+ self.assertEqual(hash(float('nan')), 0)
+
+
fromHex = float.fromhex
toHex = float.hex
class HexFloatTestCase(unittest.TestCase):