Author: Matti Picus <[email protected]>
Branch: str-dtype-improvement
Changeset: r62400:173bb0fa22cf
Date: 2013-03-18 10:10 -0700
http://bitbucket.org/pypy/pypy/changeset/173bb0fa22cf/

Log:    seperate jit merge points, fix 'whoops' in indexing

diff --git a/pypy/module/micronumpy/loop.py b/pypy/module/micronumpy/loop.py
--- a/pypy/module/micronumpy/loop.py
+++ b/pypy/module/micronumpy/loop.py
@@ -79,18 +79,11 @@
     source_iter = source.create_iter(shape)
     dtype = target.dtype
     shapelen = len(shape)
-    if dtype.is_str_or_unicode():
-        while not target_iter.done():
-            setslice_driver1.jit_merge_point(shapelen=shapelen, dtype=dtype)
-            target_iter.setitem(dtype.convert_from(space, 
source_iter.getitem()))
-            target_iter.next()
-            source_iter.next()
-    else:
-        while not target_iter.done():
-            setslice_driver2.jit_merge_point(shapelen=shapelen, dtype=dtype)
-            target_iter.setitem(source_iter.getitem().convert_to(dtype))
-            target_iter.next()
-            source_iter.next()
+    while not target_iter.done():
+        setslice_driver2.jit_merge_point(shapelen=shapelen, dtype=dtype)
+        target_iter.setitem(source_iter.getitem().convert_to(dtype))
+        target_iter.next()
+        source_iter.next()
     return target
 
 reduce_driver = jit.JitDriver(name='numpy_reduce',
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
@@ -1643,7 +1643,7 @@
     @jit.unroll_safe
     def store(self, arr, i, offset, box):
         assert isinstance(box, interp_boxes.W_StringBox)
-        for k in range(min(self.size - i, box.arr.size-offset)):
+        for k in range(min(self.size, box.arr.size-offset)):
             arr.storage[k + i] = box.arr.storage[k + offset]
 
     def read(self, arr, i, offset, dtype=None):
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to