[pypy-commit] pypy py3k: readd these, matching cpython 3.2
pjenvey
noreply at buildbot.pypy.org
Fri Oct 24 09:30:41 CEST 2014
Author: Philip Jenvey <pjenvey at underboss.org>
Branch: py3k
Changeset: r74151:15f9e7ef79ce
Date: 2014-10-24 00:28 -0700
http://bitbucket.org/pypy/pypy/changeset/15f9e7ef79ce/
Log: readd these, matching cpython 3.2
diff --git a/pypy/objspace/std/complexobject.py b/pypy/objspace/std/complexobject.py
--- a/pypy/objspace/std/complexobject.py
+++ b/pypy/objspace/std/complexobject.py
@@ -13,6 +13,7 @@
from rpython.rlib.rfloat import (
formatd, DTSF_STR_PRECISION, isinf, isnan, copysign, string_to_float)
from rpython.rlib.rstring import ParseStringError
+from rpython.tool.sourcetools import func_with_new_name
HASH_IMAG = 1000003
@@ -393,9 +394,6 @@
return space.w_NotImplemented
def _fail_cmp(self, space, w_other):
- if isinstance(w_other, W_ComplexObject):
- raise oefmt(space.w_TypeError,
- "cannot compare complex numbers using <, <=, >, >=")
return space.w_NotImplemented
def descr_add(self, space, w_rhs):
@@ -456,6 +454,19 @@
except ZeroDivisionError, e:
raise OperationError(space.w_ZeroDivisionError, space.wrap(str(e)))
+ def descr_floordiv(self, space, w_rhs):
+ raise oefmt(space.w_TypeError, "can't take floor of complex number.")
+ descr_rfloordiv = func_with_new_name(descr_floordiv, 'descr_rfloordiv')
+
+ def descr_mod(self, space, w_rhs):
+ raise oefmt(space.w_TypeError, "can't mod complex numbers.")
+ descr_rmod = func_with_new_name(descr_mod, 'descr_rmod')
+
+ def descr_divmod(self, space, w_rhs):
+ raise oefmt(space.w_TypeError,
+ "can't take floor or mod of complex number.")
+ descr_rdivmod = func_with_new_name(descr_divmod, 'descr_rdivmod')
+
@unwrap_spec(w_third_arg=WrappedDefault(None))
def descr_pow(self, space, w_exponent, w_third_arg):
w_exponent = self._to_complex(space, w_exponent)
@@ -534,6 +545,12 @@
__rmul__ = interp2app(W_ComplexObject.descr_rmul),
__truediv__ = interp2app(W_ComplexObject.descr_truediv),
__rtruediv__ = interp2app(W_ComplexObject.descr_rtruediv),
+ __floordiv__ = interp2app(W_ComplexObject.descr_floordiv),
+ __rfloordiv__ = interp2app(W_ComplexObject.descr_rfloordiv),
+ __mod__ = interp2app(W_ComplexObject.descr_mod),
+ __rmod__ = interp2app(W_ComplexObject.descr_rmod),
+ __divmod__ = interp2app(W_ComplexObject.descr_divmod),
+ __rdivmod__ = interp2app(W_ComplexObject.descr_rdivmod),
__pow__ = interp2app(W_ComplexObject.descr_pow),
__rpow__ = interp2app(W_ComplexObject.descr_rpow),
More information about the pypy-commit
mailing list