[pypy-commit] pypy numpy-dtype-alt: fix translation

alex_gaynor noreply at buildbot.pypy.org
Tue Aug 23 12:52:42 CEST 2011


Author: Alex Gaynor <alex.gaynor at gmail.com>
Branch: numpy-dtype-alt
Changeset: r46720:543e7f4d7d3a
Date: 2011-08-23 05:58 -0500
http://bitbucket.org/pypy/pypy/changeset/543e7f4d7d3a/

Log:	fix translation

diff --git a/pypy/module/micronumpy/interp_dtype.py b/pypy/module/micronumpy/interp_dtype.py
--- a/pypy/module/micronumpy/interp_dtype.py
+++ b/pypy/module/micronumpy/interp_dtype.py
@@ -115,7 +115,7 @@
 def binop(func):
     @functools.wraps(func)
     def impl(self, v1, v2):
-        return self.box(func(self, self.unbox(v1), self.unbox(v2)))
+        return self.adapt_val(func(self, self.unbox(v1), self.unbox(v2)))
     return impl
 
 def unaryop(func):
@@ -220,7 +220,7 @@
 
     @binop
     def add(self, v1, v2):
-        return v1 + v2
+        return widen(v1) + widen(v2)
 
     def str_format(self, item):
         return str(widen(self.unbox(item)))
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
@@ -73,3 +73,11 @@
         for i in range(10):
             assert isinstance(a[i], int)
             assert a[1] == 1
+
+    def test_add_int8(self):
+        from numpy import array
+
+        a = array(range(5), dtype="int8")
+        b = a + a
+        for i in range(5):
+            assert b[i] == i * 2
\ No newline at end of file


More information about the pypy-commit mailing list