[pypy-svn] r76209 - in pypy/branch/interplevel-array/pypy: jit/metainterp jit/tl module/array/test module/pypyjit/test
hakanardo at codespeak.net
hakanardo at codespeak.net
Wed Jul 14 17:44:37 CEST 2010
Author: hakanardo
Date: Wed Jul 14 17:44:35 2010
New Revision: 76209
Modified:
pypy/branch/interplevel-array/pypy/jit/metainterp/optimizeopt.py
pypy/branch/interplevel-array/pypy/jit/tl/pypyjit_demo.py
pypy/branch/interplevel-array/pypy/module/array/test/test_array.py
pypy/branch/interplevel-array/pypy/module/pypyjit/test/test_pypy_c.py
Log:
extracted 2.6 incompatible parts into a separate test with a skip
Modified: pypy/branch/interplevel-array/pypy/jit/metainterp/optimizeopt.py
==============================================================================
--- pypy/branch/interplevel-array/pypy/jit/metainterp/optimizeopt.py (original)
+++ pypy/branch/interplevel-array/pypy/jit/metainterp/optimizeopt.py Wed Jul 14 17:44:35 2010
@@ -623,7 +623,7 @@
def find_rewriteable_constant(self, op, args):
try:
oldopnum = opboolinvers[op.opnum]
- targ = args[0:2] + [ConstInt(oldopnum)]
+ targ = [args[0], args[1], ConstInt(oldopnum)]
oldop = self.pure_operations.get(targ, None)
if oldop is not None and oldop.descr is op.descr:
value = self.getvalue(oldop.result)
@@ -639,7 +639,7 @@
try:
oldopnum = opboolreflex[op.opnum]
- targ = args[1::-1] + [ConstInt(oldopnum)]
+ targ = [args[1], args[0], ConstInt(oldopnum)]
oldop = self.pure_operations.get(targ, None)
if oldop is not None and oldop.descr is op.descr:
value = self.getvalue(oldop.result)
Modified: pypy/branch/interplevel-array/pypy/jit/tl/pypyjit_demo.py
==============================================================================
--- pypy/branch/interplevel-array/pypy/jit/tl/pypyjit_demo.py (original)
+++ pypy/branch/interplevel-array/pypy/jit/tl/pypyjit_demo.py Wed Jul 14 17:44:35 2010
@@ -37,24 +37,24 @@
## t2 = time.time()
## print t2 - t1
-## from array import array
-## def f(img):
-## i=0
-## sa=0
-## while i<4:
-## sa+=img[i]
-## i+=1
-## return sa
-
-## img=array('i',(1,2,3,4))
-## print f(img)
-
-def f():
- a=7
+from array import array
+def f(img):
i=0
+ sa=0
while i<4:
- if i<0: break
- if i<0: break
+ sa+=img[i]
i+=1
+ return sa
+
+img=array('i',(1,2,3,4))
+print f(img)
+
+## def f():
+## a=7
+## i=0
+## while i<4:
+## if i<0: break
+## if i<0: break
+## i+=1
-f()
+## f()
Modified: pypy/branch/interplevel-array/pypy/module/array/test/test_array.py
==============================================================================
--- pypy/branch/interplevel-array/pypy/module/array/test/test_array.py (original)
+++ pypy/branch/interplevel-array/pypy/module/array/test/test_array.py Wed Jul 14 17:44:35 2010
@@ -343,6 +343,21 @@
assert repr(arr) == repr(self.array('i', lst))
except ValueError:
assert not ok
+
+ def test_reversingslice_pre26(self):
+ import sys
+ if sys.version_info >= (2, 6):
+ py.test.skip('arrays can handle more slice opps than lists in 2.6')
+
+ for a in range(-4,5):
+ for b in range(-4,5):
+ for c in [-4, -3, -2, -1, 1, 2, 3, 4]:
+ lst = [1, 2, 3]
+ arr=self.array('i', lst)
+ for vals in ([4,5], [6], []):
+ try:
+ lst[a:b:c]=vals
+ except ValueError:
raises(ValueError,
"arr[a:b:c]=self.array('i', vals)")
Modified: pypy/branch/interplevel-array/pypy/module/pypyjit/test/test_pypy_c.py
==============================================================================
--- pypy/branch/interplevel-array/pypy/module/pypyjit/test/test_pypy_c.py (original)
+++ pypy/branch/interplevel-array/pypy/module/pypyjit/test/test_pypy_c.py Wed Jul 14 17:44:35 2010
@@ -615,6 +615,17 @@
return total
''', 170, ([], 4999450000L))
+ def test_boolrewrite(self):
+ self.run_source('''
+ def main(a,b,c):
+ sa = 0
+ for i in range(100000):
+ if b < a: sa += 1
+ else: sa += 2
+ if b >= c: sa += 3
+ else: sa += 4
+ ''', 0, ([0, 1, 0], 7))
+
class AppTestJIT(PyPyCJITTests):
def setup_class(cls):
if not option.runappdirect:
More information about the Pypy-commit
mailing list