Author: Ronan Lamy <[email protected]>
Branch: longdouble2
Changeset: r62842:57de9f69aee0
Date: 2013-03-27 19:31 +0000
http://bitbucket.org/pypy/pypy/changeset/57de9f69aee0/
Log: Don't use convert_{real|imag}_to indirection in W_ComplexFloatingBox
diff --git a/pypy/module/micronumpy/interp_boxes.py
b/pypy/module/micronumpy/interp_boxes.py
--- a/pypy/module/micronumpy/interp_boxes.py
+++ b/pypy/module/micronumpy/interp_boxes.py
@@ -9,6 +9,7 @@
from pypy.objspace.std.complextype import complex_typedef
from rpython.rlib.rarithmetic import LONG_BIT
from rpython.rtyper.lltypesystem import rffi
+from rpython.rlib.objectmodel import specialize
from rpython.tool.sourcetools import func_with_new_name
from pypy.module.micronumpy.arrayimpl.voidbox import VoidBoxStorage
@@ -324,15 +325,18 @@
class W_ComplexFloatingBox(W_InexactBox):
_attrs_ = ()
+
+ @specialize.argtype(0)
def descr_get_real(self, space):
dtype = self._COMPONENTS_BOX._get_dtype(space)
- box = self.convert_real_to(dtype)
+ box = dtype.box(self.real)
assert isinstance(box, self._COMPONENTS_BOX)
return space.wrap(box)
+ @specialize.argtype(0)
def descr_get_imag(self, space):
dtype = self._COMPONENTS_BOX._get_dtype(space)
- box = self.convert_imag_to(dtype)
+ box = dtype.box(self.imag)
assert isinstance(box, self._COMPONENTS_BOX)
return space.wrap(box)
@@ -549,8 +553,8 @@
W_CLongDoubleBox.typedef = TypeDef("complex00",
(W_ComplexFloatingBox.typedef, complex_typedef),
__module__ = "numpypy",
__new__ = interp2app(W_CLongDoubleBox.descr__new__.im_func),
- real = GetSetProperty(W_ComplexFloatingBox.descr_get_real),
- imag = GetSetProperty(W_ComplexFloatingBox.descr_get_imag),
+ real = GetSetProperty(W_CLongDoubleBox.descr_get_real),
+ imag = GetSetProperty(W_CLongDoubleBox.descr_get_imag),
)
if long_double_size == 12:
W_LongDoubleBox.name = "float96"
@@ -592,13 +596,13 @@
W_Complex128Box.typedef = TypeDef("complex128", (W_ComplexFloatingBox.typedef,
complex_typedef),
__module__ = "numpypy",
__new__ = interp2app(W_Complex128Box.descr__new__.im_func),
- real = GetSetProperty(W_ComplexFloatingBox.descr_get_real),
- imag = GetSetProperty(W_ComplexFloatingBox.descr_get_imag),
+ real = GetSetProperty(W_Complex128Box.descr_get_real),
+ imag = GetSetProperty(W_Complex128Box.descr_get_imag),
)
W_Complex64Box.typedef = TypeDef("complex64", (W_ComplexFloatingBox.typedef),
__module__ = "numpypy",
__new__ = interp2app(W_Complex64Box.descr__new__.im_func),
- real = GetSetProperty(W_ComplexFloatingBox .descr_get_real),
- imag = GetSetProperty(W_ComplexFloatingBox.descr_get_imag),
+ real = GetSetProperty(W_Complex64Box.descr_get_real),
+ imag = GetSetProperty(W_Complex64Box.descr_get_imag),
)
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit