[pypy-commit] pypy default: Simplify code and fix translation.
alex_gaynor
noreply at buildbot.pypy.org
Tue Jul 12 02:41:07 CEST 2011
Author: Alex Gaynor <alex.gaynor at gmail.com>
Branch:
Changeset: r45493:b21405daef53
Date: 2011-07-11 17:40 -0700
http://bitbucket.org/pypy/pypy/changeset/b21405daef53/
Log: Simplify code and 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
@@ -20,6 +20,8 @@
numpy_driver = jit.JitDriver(greens = ['signature'],
reds = ['result_size', 'i', 'self', 'result'])
+all_driver = jit.JitDriver(greens=['signature'], reds=['i', 'size', 'self'])
+any_driver = jit.JitDriver(greens=['signature'], reds=['i', 'size', 'self'])
class Signature(object):
def __init__(self):
@@ -203,35 +205,27 @@
return space.wrap(loop(self, size))
return func_with_new_name(impl, "reduce_arg%s_impl" % function.__name__)
- all_driver = jit.JitDriver(greens=['signature'], reds=['i', 'size', 'result', 'self'])
def _all(self):
size = self.find_size()
- signature = self.signature
i = 0
- result = True
while i < size:
- BaseArray.all_driver.jit_merge_point(signature=signature, self=self, size=size, i=i, result=result)
- result = result and bool(self.eval(i))
- if not result:
- break
+ all_driver.jit_merge_point(signature=self.signature, self=self, size=size, i=i)
+ if not self.eval(i):
+ return False
i += 1
- return result
+ return True
def descr_all(self, space):
return space.wrap(self._all())
- any_driver = jit.JitDriver(greens=['signature'], reds=['i', 'size', 'result', 'self'])
def _any(self):
size = self.find_size()
- signature = self.signature
i = 0
- result = False
while i < size:
- BaseArray.any_driver.jit_merge_point(signature=signature, self=self, size=size, i=i, result=result)
- result = result or bool(self.eval(i))
- if result:
- break
+ any_driver.jit_merge_point(signature=self.signature, self=self, size=size, i=i)
+ if self.eval(i):
+ return True
i += 1
- return result
+ return False
def descr_any(self, space):
return space.wrap(self._any())
More information about the pypy-commit
mailing list