Author: Manuel Jacob
Branch: remove-remaining-smm
Changeset: r69340:d3d741d4b31a
Date: 2014-02-24 05:07 +0100
http://bitbucket.org/pypy/pypy/changeset/d3d741d4b31a/
Log: Do style changes and clean up module namespace a bit.
diff --git a/pypy/objspace/std/floatobject.py b/pypy/objspace/std/floatobject.py
--- a/pypy/objspace/std/floatobject.py
+++ b/pypy/objspace/std/floatobject.py
@@ -66,6 +66,9 @@
i = co_end - 1 - j
return _hex_from_char(s[i])
+def _char_from_hex(number):
+ return "0123456789abcdef"[number]
+
def make_compare_func(opname):
op = getattr(operator, opname)
@@ -179,7 +182,8 @@
value = space.float_w(w_obj)
elif (space.isinstance_w(w_value, space.w_str) or
space.isinstance_w(w_value, space.w_bytearray)):
- value = _string_to_float(space, w_value,
space.bufferstr_w(w_value))
+ value = _string_to_float(space, w_value,
+ space.bufferstr_w(w_value))
elif space.isinstance_w(w_value, space.w_unicode):
from unicodeobject import unicode_to_decimal_w
value = _string_to_float(space, w_value,
@@ -291,7 +295,7 @@
elif exp >= sys.maxint // 2:
raise oefmt(space.w_OverflowError, "too large")
else:
- exp -= 4 * float_digits
+ exp -= 4 * float_digits
top_exp = exp + 4 * (total_digits - 1)
digit = _hex_digit(s, total_digits - 1, co_end, float_digits)
while digit:
@@ -350,11 +354,25 @@
if space.isinstance_w(w_obj, space.w_long):
return W_FloatObject(w_obj.tofloat(space))
+ def _float2string(self, x, code, precision):
+ # we special-case explicitly inf and nan here
+ if isfinite(x):
+ s = formatd(x, code, precision, DTSF_ADD_DOT_0)
+ elif isinf(x):
+ if x > 0.0:
+ s = "inf"
+ else:
+ s = "-inf"
+ else: # isnan(x):
+ s = "nan"
+ return s
+
def descr_repr(self, space):
- return space.wrap(float2string(self.floatval, 'r', 0))
+ return space.wrap(self._float2string(self.floatval, 'r', 0))
def descr_str(self, space):
- return space.wrap(float2string(self.floatval, 'g', DTSF_STR_PRECISION))
+ return space.wrap(self._float2string(self.floatval, 'g',
+ DTSF_STR_PRECISION))
def descr_hash(self, space):
return space.wrap(_hash_float(space, self.floatval))
@@ -544,8 +562,8 @@
try:
result = _pow(space, x, y)
except PowDomainError:
- raise oefmt(space.w_ValueError,
- "negative number cannot be raised to a fractional
power")
+ raise oefmt(space.w_ValueError, "negative number cannot be raised "
+ "to a fractional power")
return W_FloatObject(result)
@unwrap_spec(w_third_arg=WrappedDefault(None))
@@ -587,6 +605,7 @@
return space.newtuple([space.int(w_num), space.int(w_den)])
def descr_hex(self, space):
+ TOHEX_NBITS = rfloat.DBL_MANT_DIG + 3 - (rfloat.DBL_MANT_DIG + 2) % 4
value = self.floatval
if not isfinite(value):
return self.descr_str(space)
@@ -677,27 +696,6 @@
)
-def _char_from_hex(number):
- return "0123456789abcdef"[number]
-
-TOHEX_NBITS = rfloat.DBL_MANT_DIG + 3 - (rfloat.DBL_MANT_DIG + 2) % 4
-
-def float2string(x, code, precision):
- # we special-case explicitly inf and nan here
- if isfinite(x):
- s = formatd(x, code, precision, DTSF_ADD_DOT_0)
- elif isinf(x):
- if x > 0.0:
- s = "inf"
- else:
- s = "-inf"
- else: # isnan(x):
- s = "nan"
- return s
-
-
-# ____________________________________________________________
-
def _hash_float(space, v):
if isnan(v):
return 0
@@ -785,6 +783,7 @@
return [W_FloatObject(floordiv), W_FloatObject(mod)]
+
class PowDomainError(ValueError):
"""Signals a negative number raised to a fractional power"""
@@ -862,7 +861,7 @@
try:
# We delegate to our implementation of math.pow() the error detection.
- z = math.pow(x,y)
+ z = math.pow(x, y)
except OverflowError:
raise oefmt(space.w_OverflowError, "float power")
except ValueError:
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit