[pypy-svn] r76170 - in pypy/branch/interplevel-array/pypy/module/array: . test
hakanardo at codespeak.net
hakanardo at codespeak.net
Tue Jul 13 08:01:35 CEST 2010
Author: hakanardo
Date: Tue Jul 13 08:01:33 2010
New Revision: 76170
Modified:
pypy/branch/interplevel-array/pypy/module/array/interp_array.py
pypy/branch/interplevel-array/pypy/module/array/test/sumtst.py
Log:
compiling
Modified: pypy/branch/interplevel-array/pypy/module/array/interp_array.py
==============================================================================
--- pypy/branch/interplevel-array/pypy/module/array/interp_array.py (original)
+++ pypy/branch/interplevel-array/pypy/module/array/interp_array.py Tue Jul 13 08:01:33 2010
@@ -212,19 +212,26 @@
new = space.int_w(w_new)
oldlen = self.len
self.setlen(self.len + new)
-
+
+ i = 0
try:
- if (isinstance(w_seq, W_ListObject) or
- isinstance(w_seq, W_TupleObject)):
- for i in range(new):
+ if isinstance(w_seq, W_ListObject):
+ while i < new:
+ item = self.item_w(w_seq.wrappeditems[i])
+ self.buffer[oldlen + i ] = item
+ i += 1
+ elif isinstance(w_seq, W_TupleObject):
+ while i < new:
item = self.item_w(w_seq.wrappeditems[i])
self.buffer[oldlen + i ] = item
+ i += 1
else:
getitem = space.getattr(w_seq, space.wrap('__getitem__'))
- for i in range(new):
+ while i < new:
w_item = space.call_function(getitem, space.wrap(i))
item=self.item_w(w_item)
self.buffer[oldlen + i ] = item
+ i += 1
except OperationError:
self.setlen(oldlen + i)
raise
Modified: pypy/branch/interplevel-array/pypy/module/array/test/sumtst.py
==============================================================================
--- pypy/branch/interplevel-array/pypy/module/array/test/sumtst.py (original)
+++ pypy/branch/interplevel-array/pypy/module/array/test/sumtst.py Tue Jul 13 08:01:33 2010
@@ -11,7 +11,9 @@
return l
if True:
- img=array('d', '\x00'*640*480*8)
+ img=array('d', '\x00'*640*480)
+ #img=array('d', [0]*640*480)
+ #img=array('d', (0,))*(640*480)
else:
img=simple_array(640*480)
More information about the Pypy-commit
mailing list