[pypy-commit] pypy numpy-record-dtypes: maybe fix translation

fijal noreply at buildbot.pypy.org
Sat Mar 3 18:51:13 CET 2012


Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: numpy-record-dtypes
Changeset: r53143:18a59fca2166
Date: 2012-03-03 09:50 -0800
http://bitbucket.org/pypy/pypy/changeset/18a59fca2166/

Log:	maybe fix translation

diff --git a/pypy/module/micronumpy/interp_numarray.py b/pypy/module/micronumpy/interp_numarray.py
--- a/pypy/module/micronumpy/interp_numarray.py
+++ b/pypy/module/micronumpy/interp_numarray.py
@@ -821,8 +821,8 @@
 class ToStringArray(Call1):
     def __init__(self, child):
         dtype = child.find_dtype()
-        self.itemsize = dtype.itemtype.get_element_size()
-        self.s = StringBuilder(child.size * self.itemsize)
+        self.item_size = dtype.itemtype.get_element_size()
+        self.s = StringBuilder(child.size * self.item_size)
         Call1.__init__(self, None, 'tostring', child.shape, dtype, dtype,
                        child)
         self.res = W_NDimArray([1], dtype, 'C')
diff --git a/pypy/module/micronumpy/signature.py b/pypy/module/micronumpy/signature.py
--- a/pypy/module/micronumpy/signature.py
+++ b/pypy/module/micronumpy/signature.py
@@ -4,6 +4,7 @@
      ViewTransform, BroadcastTransform
 from pypy.tool.pairtype import extendabletype
 from pypy.module.micronumpy.loop import ComputationDone
+from pypy.rlib import jit
 
 """ Signature specifies both the numpy expression that has been constructed
 and the assembler to be compiled. This is a very important observation -
@@ -321,13 +322,14 @@
     def __init__(self, dtype, child):
         Call1.__init__(self, None, 'tostring', dtype, child)
 
+    @jit.unroll_safe
     def eval(self, frame, arr):
         from pypy.module.micronumpy.interp_numarray import ToStringArray
 
         assert isinstance(arr, ToStringArray)
         arr.res.setitem(0, self.child.eval(frame, arr.values).convert_to(
             self.dtype))
-        for i in range(arr.itemsize):
+        for i in range(arr.item_size):
             arr.s.append(arr.res_casted[i])
 
 class BroadcastLeft(Call2):


More information about the pypy-commit mailing list