Author: Brian Kearns <[email protected]>
Branch:
Changeset: r67446:3f72f9113817
Date: 2013-10-16 16:56 -0400
http://bitbucket.org/pypy/pypy/changeset/3f72f9113817/
Log: fix imag() on flexible arrays to match numpy
diff --git a/pypy/module/micronumpy/arrayimpl/concrete.py
b/pypy/module/micronumpy/arrayimpl/concrete.py
--- a/pypy/module/micronumpy/arrayimpl/concrete.py
+++ b/pypy/module/micronumpy/arrayimpl/concrete.py
@@ -102,13 +102,10 @@
dtype = self.dtype.float_type
return SliceArray(self.start + dtype.get_size(), strides,
backstrides, self.get_shape(), self, orig_array,
dtype=dtype)
- if self.dtype.is_flexible_type():
- # numpy returns self for self.imag
- return SliceArray(self.start, strides, backstrides,
- self.get_shape(), self, orig_array)
impl = NonWritableArray(self.get_shape(), self.dtype, self.order,
strides,
backstrides)
- impl.fill(self.dtype.box(0))
+ if not self.dtype.is_flexible_type():
+ impl.fill(self.dtype.box(0))
return impl
def set_imag(self, space, orig_array, w_value):
diff --git a/pypy/module/micronumpy/test/test_numarray.py
b/pypy/module/micronumpy/test/test_numarray.py
--- a/pypy/module/micronumpy/test/test_numarray.py
+++ b/pypy/module/micronumpy/test/test_numarray.py
@@ -1450,7 +1450,7 @@
assert a[1] == b[1]
b[1] = 'xyz'
assert a[1] == 'xyz'
- assert a.imag[0] == 'abc'
+ assert a.imag[0] == ''
raises(TypeError, 'a.imag = "qop"')
a=array([[1+1j, 2-3j, 4+5j],[-6+7j, 8-9j, -2-1j]])
assert a.real[0,1] == 2
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit