Author: Philip Jenvey <[email protected]>
Branch: py3k
Changeset: r59428:fe21273988c5
Date: 2012-12-14 17:20 -0800
http://bitbucket.org/pypy/pypy/changeset/fe21273988c5/
Log: also fix round on floats w/ ndigits=None
diff --git a/pypy/module/__builtin__/test/test_builtin.py
b/pypy/module/__builtin__/test/test_builtin.py
--- a/pypy/module/__builtin__/test/test_builtin.py
+++ b/pypy/module/__builtin__/test/test_builtin.py
@@ -740,6 +740,7 @@
raises(TypeError, round, t, 0)
raises(TypeError, round, 3, None)
+ raises(TypeError, round, 3.0, None)
def test_vars_obscure_case(self):
class C_get_vars(object):
diff --git a/pypy/objspace/std/floattype.py b/pypy/objspace/std/floattype.py
--- a/pypy/objspace/std/floattype.py
+++ b/pypy/objspace/std/floattype.py
@@ -272,7 +272,6 @@
NDIGITS_MAX = int((rfloat.DBL_MANT_DIG - rfloat.DBL_MIN_EXP) * 0.30103)
NDIGITS_MIN = -int((rfloat.DBL_MAX_EXP + 1) * 0.30103)
-@unwrap_spec(w_ndigits=WrappedDefault(None))
def descr___round__(space, w_float, w_ndigits=None):
# Algorithm copied directly from CPython
from pypy.objspace.std.floatobject import W_FloatObject
@@ -280,7 +279,7 @@
assert isinstance(w_float, W_FloatObject)
x = w_float.floatval
- if space.is_none(w_ndigits):
+ if w_ndigits is None:
# single-argument round: round to nearest integer
rounded = rfloat.round_away(x)
if math.fabs(x - rounded) == 0.5:
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit