Author: Matti Picus <[email protected]>
Branch:
Changeset: r60981:4f6fde5fcf81
Date: 2013-02-08 18:31 +0200
http://bitbucket.org/pypy/pypy/changeset/4f6fde5fcf81/
Log: add test, implementation of to_builtin_type for complex
diff --git a/pypy/module/micronumpy/test/test_dtypes.py
b/pypy/module/micronumpy/test/test_dtypes.py
--- a/pypy/module/micronumpy/test/test_dtypes.py
+++ b/pypy/module/micronumpy/test/test_dtypes.py
@@ -529,6 +529,8 @@
assert numpy.complex128(1.2) == numpy.complex128(complex(1.2, 0))
assert numpy.complex64(1.2) == numpy.complex64(complex(1.2, 0))
raises (TypeError, numpy.array, [3+4j], dtype=float)
+ a = (0.5+1.5j)
+ assert '{0:g}'.format(a) == '{0:g}'.format(numpy.complex64(a))
def test_complex(self):
import _numpypy as numpy
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
@@ -1030,6 +1030,9 @@
def for_computation(v):
return float(v[0]), float(v[1])
+ def to_builtin_type(self, space, box):
+ return space.wrap(complex(*self.for_computation(self.unbox(box))))
+
def read_bool(self, arr, i, offset):
v = self.for_computation(self._read(arr.storage, i, offset))
return bool(v[0]) or bool(v[1])
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit