summaryrefslogtreecommitdiff
path: root/Lib
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2008-01-05 00:59:59 +0000
committerGuido van Rossum <guido@python.org>2008-01-05 00:59:59 +0000
commit3b83549ea0b0c3e8d1919925a8875052e13367cf (patch)
treefd4a7656aebd4a813a7e739504d64c05a6ef8c5b /Lib
parent54966a5f94c8326d0245ffcea3fecc2cdf78efb4 (diff)
downloadcpython-git-3b83549ea0b0c3e8d1919925a8875052e13367cf.tar.gz
Patch #1725 by Mark Dickinson, fixes incorrect conversion of -1e1000
and adds errors for -0x.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_builtin.py6
-rw-r--r--Lib/test/test_float.py7
2 files changed, 13 insertions, 0 deletions
diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py
index c5a1cc3fb2..255fb96961 100644
--- a/Lib/test/test_builtin.py
+++ b/Lib/test/test_builtin.py
@@ -619,6 +619,11 @@ class BuiltinTest(unittest.TestCase):
self.assertEqual(float(" 3.14 "), 3.14)
self.assertRaises(ValueError, float, " 0x3.1 ")
self.assertRaises(ValueError, float, " -0x3.p-1 ")
+ self.assertRaises(ValueError, float, " +0x3.p-1 ")
+ self.assertRaises(ValueError, float, "++3.14")
+ self.assertRaises(ValueError, float, "+-3.14")
+ self.assertRaises(ValueError, float, "-+3.14")
+ self.assertRaises(ValueError, float, "--3.14")
if have_unicode:
self.assertEqual(float(unicode(" 3.14 ")), 3.14)
self.assertEqual(float(unicode(" \u0663.\u0661\u0664 ",'raw-unicode-escape')), 3.14)
@@ -648,6 +653,7 @@ class BuiltinTest(unittest.TestCase):
self.assertRaises(ValueError, float, " -3,14 ")
self.assertRaises(ValueError, float, " 0x3.1 ")
self.assertRaises(ValueError, float, " -0x3.p-1 ")
+ self.assertRaises(ValueError, float, " +0x3.p-1 ")
self.assertEqual(float(" 25.e-1 "), 2.5)
self.assertEqual(fcmp(float(" .25e-1 "), .025), 0)
diff --git a/Lib/test/test_float.py b/Lib/test/test_float.py
index 11f169054a..9d330403aa 100644
--- a/Lib/test/test_float.py
+++ b/Lib/test/test_float.py
@@ -121,6 +121,13 @@ class IEEEFormatTestCase(unittest.TestCase):
self.assertEquals(pos_pos(), neg_pos())
self.assertEquals(pos_neg(), neg_neg())
+ if float.__getformat__("double").startswith("IEEE"):
+ def test_underflow_sign(self):
+ import math
+ # check that -1e-1000 gives -0.0, not 0.0
+ self.assertEquals(math.atan2(-1e-1000, -1), math.atan2(-0.0, -1))
+ self.assertEquals(math.atan2(float('-1e-1000'), -1),
+ math.atan2(-0.0, -1))
class ReprTestCase(unittest.TestCase):
def test_repr(self):