Author: Alex Gaynor <[email protected]>
Branch: numpy-multidim
Changeset: r49730:fbd6482de5d2
Date: 2011-11-24 08:25 -0600
http://bitbucket.org/pypy/pypy/changeset/fbd6482de5d2/
Log: some code-prettyness changes
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
@@ -9,16 +9,23 @@
from pypy.rlib.rstring import StringBuilder
from pypy.rlib.objectmodel import instantiate
-numpy_driver = jit.JitDriver(greens=['shapelen', 'signature'],
- reds=['result_size', 'i', 'ri', 'self',
- 'result'])
-all_driver = jit.JitDriver(greens=['shapelen', 'signature'],
- reds=['i', 'self', 'dtype'])
-any_driver = jit.JitDriver(greens=['shapelen', 'signature'],
- reds=['i', 'self', 'dtype'])
-slice_driver = jit.JitDriver(greens=['shapelen', 'signature'],
- reds=['self', 'source', 'source_iter',
- 'res_iter'])
+
+numpy_driver = jit.JitDriver(
+ greens=['shapelen', 'signature'],
+ reds=['result_size', 'i', 'ri', 'self', 'result']
+)
+all_driver = jit.JitDriver(
+ greens=['shapelen', 'signature'],
+ reds=['i', 'self', 'dtype']
+)
+any_driver = jit.JitDriver(
+ greens=['shapelen', 'signature'],
+ reds=['i', 'self', 'dtype']
+)
+slice_driver = jit.JitDriver(
+ greens=['shapelen', 'signature'],
+ reds=['self', 'source', 'source_iter', 'res_iter']
+)
def _find_shape_and_elems(space, w_iterable):
shape = [space.len_w(w_iterable)]
@@ -42,7 +49,6 @@
shape.append(size)
batch = new_batch
-
def shape_agreement(space, shape1, shape2):
ret = _shape_agreement(shape1, shape2)
if len(ret) < max(len(shape1), len(shape2)):
@@ -388,8 +394,10 @@
descr_min = _reduce_ufunc_impl("minimum")
def _reduce_argmax_argmin_impl(op_name):
- reduce_driver = jit.JitDriver(greens=['shapelen', 'signature'],
- reds=['result', 'idx', 'i', 'self', 'cur_best',
'dtype'])
+ reduce_driver = jit.JitDriver(
+ greens=['shapelen', 'signature'],
+ reds=['result', 'idx', 'i', 'self', 'cur_best', 'dtype']
+ )
def loop(self):
i = self.start_iter()
cur_best = self.eval(i)
@@ -488,7 +496,7 @@
if not concrete.find_size():
res.append('[]')
if len(self.shape) > 1:
- #This is for numpy compliance: an empty slice reports its shape
+ # An empty slice reports its shape
res.append(", shape=(")
self_shape = str(self.shape)
res.append_slice(str(self_shape), 1, len(self_shape) - 1)
@@ -513,7 +521,8 @@
builder.append('[]')
return
if size > 1000:
- #Once this goes True it does not go back to False for recursive
calls
+ # Once this goes True it does not go back to False for recursive
+ # calls
use_ellipsis = True
dtype = self.find_dtype()
ndims = len(self.shape)
@@ -531,7 +540,8 @@
builder.append('\n' + indent)
else:
builder.append(indent)
- #create_slice requires len(chunks)>1 in order to reduce
shape
+ # create_slice requires len(chunks) > 1 in order to reduce
+ # shape
view = self.create_slice(space, [(i, 0, 0, 1), (0,
self.shape[1], 1, self.shape[1])])
view.to_str(space, comma, builder, indent=indent + ' ',
use_ellipsis=use_ellipsis)
builder.append('\n' + indent + '..., ')
@@ -545,15 +555,17 @@
builder.append('\n' + indent)
else:
builder.append(indent)
- #create_slice requires len(chunks)>1 in order to reduce shape
+ # create_slice requires len(chunks) > 1 in order to reduce
+ # shape
view = self.create_slice(space, [(i, 0, 0, 1), (0,
self.shape[1], 1, self.shape[1])])
view.to_str(space, comma, builder, indent=indent + ' ',
use_ellipsis=use_ellipsis)
i += 1
elif ndims == 1:
spacer = ',' * comma + ' '
item = self.start
- #An iterator would be a nicer way to walk along the 1d array, but
how do
- # I reset it if printing ellipsis? iterators have no "set_offset()"
+ # An iterator would be a nicer way to walk along the 1d array, but
+ # how do I reset it if printing ellipsis? iterators have no
+ # "set_offset()"
i = 0
if use_ellipsis:
for i in range(3):
@@ -563,9 +575,10 @@
builder.append(spacer)
builder.append(dtype.str_format(self.getitem(item)))
item += self.strides[0]
- #Add a comma only if comma is False - this prevents adding two
commas
+ # Add a comma only if comma is False - this prevents adding two
+ # commas
builder.append(spacer + '...' + ',' * (1 - comma))
- #Ugly, but can this be done with an iterator?
+ # Ugly, but can this be done with an iterator?
item = self.start + self.backstrides[0] - 2 * self.strides[0]
i = self.shape[0] - 3
while i < self.shape[0]:
@@ -608,8 +621,9 @@
if v < 0:
v += self.shape[i]
if v < 0 or v >= self.shape[i]:
- raise OperationError(space.w_IndexError,
- space.wrap("index (%d) out of range
(0<=index<%d" % (i, self.shape[i])))
+ raise operationerrfmt(space.w_IndexError,
+ "index (%d) out of range (0<=index<%d", i, self.shape[i],
+ )
item += v * self.strides[i]
return item
diff --git a/pypy/module/micronumpy/test/test_compile.py
b/pypy/module/micronumpy/test/test_compile.py
--- a/pypy/module/micronumpy/test/test_compile.py
+++ b/pypy/module/micronumpy/test/test_compile.py
@@ -5,7 +5,7 @@
class TestCompiler(object):
def compile(self, code):
return numpy_compile(code)
-
+
def test_vars(self):
code = """
a = 2
@@ -25,7 +25,7 @@
st = interp.code.statements[0]
assert st.expr.items == [FloatConstant(1), FloatConstant(2),
FloatConstant(3)]
-
+
def test_array_literal2(self):
code = "a = [[1],[2],[3]]"
interp = self.compile(code)
@@ -116,7 +116,7 @@
"""
interp = self.run(code)
assert interp.results[0].value.val == 3 + 6
-
+
def test_range_getitem(self):
code = """
r = |20| + 3
@@ -176,7 +176,7 @@
b -> 3
""")
assert interp.results[0].value.val == 6
-
+
def test_multidim_getitem(self):
interp = self.run("""
a = [[1,2]]
diff --git a/pypy/module/micronumpy/test/test_zjit.py
b/pypy/module/micronumpy/test/test_zjit.py
--- a/pypy/module/micronumpy/test/test_zjit.py
+++ b/pypy/module/micronumpy/test/test_zjit.py
@@ -3,17 +3,18 @@
good assembler
"""
+import py
-import py
+from pypy.jit.metainterp import pyjitpl
from pypy.jit.metainterp.test.support import LLJitMixin
+from pypy.jit.metainterp.warmspot import reset_stats
from pypy.module.micronumpy import interp_ufuncs, signature
from pypy.module.micronumpy.compile import (numpy_compile, FakeSpace,
FloatObject, IntObject, BoolObject, Parser, InterpreterState)
from pypy.module.micronumpy.interp_numarray import NDimArray, NDimSlice
from pypy.rlib.nonconst import NonConstant
from pypy.rpython.annlowlevel import llstr, hlstr
-from pypy.jit.metainterp.warmspot import reset_stats
-from pypy.jit.metainterp import pyjitpl
+
class TestNumpyJIt(LLJitMixin):
graph = None
@@ -37,12 +38,12 @@
allcodes.append(p.parse(code))
cls.code_mapping = d
cls.codes = allcodes
-
+
def run(self, name):
space = FakeSpace()
i = self.code_mapping[name]
codes = self.codes
-
+
def f(i):
interp = InterpreterState(codes[i])
interp.run(space)
@@ -295,10 +296,10 @@
py.test.skip("old")
from pypy.module.micronumpy.compile import FakeSpace
from pypy.module.micronumpy.interp_dtype import W_Float64Dtype
-
+
cls.space = FakeSpace()
cls.float64_dtype = cls.space.fromcache(W_Float64Dtype)
-
+
def test_slice2(self):
def f(i):
step1 = 2
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit