Author: Matti Picus <[email protected]>
Branch:
Changeset: r65047:89ca223757d9
Date: 2013-06-28 10:58 +0300
http://bitbucket.org/pypy/pypy/changeset/89ca223757d9/
Log: test, fix fill for complex types
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
@@ -343,13 +343,16 @@
assert a[1] == 1.0
def test_ones(self):
- from numpypy import ones
+ from numpypy import ones, dtype
a = ones(3)
assert len(a) == 3
assert a[0] == 1
raises(IndexError, "a[3]")
a[2] = 4
assert a[2] == 4
+ b = ones(3, complex)
+ assert b[0] == 1+0j
+ assert b.dtype is dtype(complex)
def test_copy(self):
from numpypy import arange, array
@@ -2194,6 +2197,10 @@
d.fill(100)
assert d == 100
+ e = array(10, dtype=complex)
+ e.fill(1.5-3j)
+ assert e == 1.5-3j
+
def test_array_indexing_bool(self):
from numpypy import arange
a = arange(10)
diff --git a/pypy/module/micronumpy/types.py b/pypy/module/micronumpy/types.py
--- a/pypy/module/micronumpy/types.py
+++ b/pypy/module/micronumpy/types.py
@@ -1100,6 +1100,13 @@
op = '+' if imag >= 0 else ''
return ''.join(['(', real_str, op, imag_str, ')'])
+ def fill(self, storage, width, box, start, stop, offset):
+ real, imag = self.unbox(box)
+ for i in xrange(start, stop, width):
+ raw_storage_setitem(storage, i+offset, real)
+ raw_storage_setitem(storage,
+ i+offset+rffi.sizeof(self.T), imag)
+
@staticmethod
def for_computation(v):
return float(v[0]), float(v[1])
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit