提交 932dd94f authored 作者: Iban Harlouchet's avatar Iban Harlouchet

flake8 elemwise_cgen.py

上级 5987a220
...@@ -276,7 +276,7 @@ def make_reordered_loop(init_loop_orders, olv_index, dtypes, inner_task, sub, op ...@@ -276,7 +276,7 @@ def make_reordered_loop(init_loop_orders, olv_index, dtypes, inner_task, sub, op
if index != 'x': if index != 'x':
order_loops += """ order_loops += """
%(ovar)s_loops_it->first = abs(PyArray_STRIDES(%(ovar)s)[%(index)i]); %(ovar)s_loops_it->first = abs(PyArray_STRIDES(%(ovar)s)[%(index)i]);
""" % locals() """ % locals()
else: else:
# Stride is 0 when dimension is broadcastable # Stride is 0 when dimension is broadcastable
order_loops += """ order_loops += """
...@@ -311,15 +311,13 @@ def make_reordered_loop(init_loop_orders, olv_index, dtypes, inner_task, sub, op ...@@ -311,15 +311,13 @@ def make_reordered_loop(init_loop_orders, olv_index, dtypes, inner_task, sub, op
total = "%(var)s_n%(candidate)s" % locals() total = "%(var)s_n%(candidate)s" % locals()
break break
else: else:
total = '1'; total = '1'
totals.append(total) totals.append(total)
declare_totals = """ declare_totals = """
int init_totals[%(nnested)s] = {%(totals)s}; int init_totals[%(nnested)s] = {%(totals)s};
""" % dict( """ % dict(nnested=nnested,
nnested=nnested, totals=', '.join(totals))
totals=', '.join(totals)
)
# Sort totals to match the new order that was computed by sorting # Sort totals to match the new order that was computed by sorting
# the loop vector. One integer variable per loop is declared. # the loop vector. One integer variable per loop is declared.
...@@ -355,13 +353,11 @@ def make_reordered_loop(init_loop_orders, olv_index, dtypes, inner_task, sub, op ...@@ -355,13 +353,11 @@ def make_reordered_loop(init_loop_orders, olv_index, dtypes, inner_task, sub, op
declare_strides = """ declare_strides = """
int init_strides[%(nvars)i][%(nnested)i] = { int init_strides[%(nvars)i][%(nnested)i] = {
%(strides)s %(strides)s
};""" % dict( };""" % dict(nvars=nvars,
nvars=nvars, nnested=nnested,
nnested=nnested, strides=', \n'.join(', '.join(get_loop_strides(lo, i))
strides=', \n'.join( for i, lo in enumerate(init_loop_orders)
', '.join(get_loop_strides(lo, i)) if len(lo) > 0))
for i, lo in enumerate(init_loop_orders)
if len(lo) > 0))
# Declare (sorted) stride and for each variable # Declare (sorted) stride and for each variable
# we iterate from innermost loop to outermost loop # we iterate from innermost loop to outermost loop
...@@ -385,9 +381,9 @@ def make_reordered_loop(init_loop_orders, olv_index, dtypes, inner_task, sub, op ...@@ -385,9 +381,9 @@ def make_reordered_loop(init_loop_orders, olv_index, dtypes, inner_task, sub, op
declare_iter += "%(var)s_iter = (%(dtype)s*)(PyArray_DATA(%(var)s));\n" % locals() declare_iter += "%(var)s_iter = (%(dtype)s*)(PyArray_DATA(%(var)s));\n" % locals()
pointer_update = '' pointer_update = ''
for j , dtype in enumerate(dtypes): for j, dtype in enumerate(dtypes):
var = sub["lv%i" % j] var = sub["lv%i" % j]
pointer_update += "%(dtype)s &%(var)s_i = * ( %(var)s_iter"%locals() pointer_update += "%(dtype)s &%(var)s_i = * ( %(var)s_iter" % locals()
tot_jump = '' tot_jump = ''
for i in reversed(range(nnested)): for i in reversed(range(nnested)):
iterv = 'ITER_%i' % i iterv = 'ITER_%i' % i
...@@ -401,7 +397,7 @@ def make_reordered_loop(init_loop_orders, olv_index, dtypes, inner_task, sub, op ...@@ -401,7 +397,7 @@ def make_reordered_loop(init_loop_orders, olv_index, dtypes, inner_task, sub, op
update = '' update = ''
forloop = '' forloop = ''
# The pointers are defined only in the most inner loop # The pointers are defined only in the most inner loop
if i == nnested-1: if i == nnested - 1:
update = pointer_update update = pointer_update
if i == 0: if i == 0:
if openmp: if openmp:
...@@ -413,19 +409,17 @@ def make_reordered_loop(init_loop_orders, olv_index, dtypes, inner_task, sub, op ...@@ -413,19 +409,17 @@ def make_reordered_loop(init_loop_orders, olv_index, dtypes, inner_task, sub, op
%(forloop)s %(forloop)s
{ // begin loop %(i)i { // begin loop %(i)i
%(update)s %(update)s
%(loop)s %(loop)s
} // end loop %(i)i } // end loop %(i)i
""" % locals() """ % locals()
return '\n'.join([ return '\n'.join(['{',
'{', order_loops,
order_loops, declare_totals,
declare_totals, declare_strides,
declare_strides, declare_iter,
declare_iter, loop,
loop, '}\n'])
'}\n',
])
# print make_declare(((0, 1, 2, 3), ('x', 1, 0, 3), ('x', 'x', 'x', 0)), # print make_declare(((0, 1, 2, 3), ('x', 1, 0, 3), ('x', 'x', 'x', 0)),
# ('double', 'int', 'float'), # ('double', 'int', 'float'),
...@@ -451,16 +445,16 @@ def make_reordered_loop(init_loop_orders, olv_index, dtypes, inner_task, sub, op ...@@ -451,16 +445,16 @@ def make_reordered_loop(init_loop_orders, olv_index, dtypes, inner_task, sub, op
################## ##################
### DimShuffle ### # DimShuffle #
################## ##################
################# #################
### Broadcast ### # Broadcast #
################# #################
################ ################
### CAReduce ### # CAReduce #
################ ################
...@@ -527,4 +521,3 @@ def make_loop_careduce(loop_orders, dtypes, loop_tasks, sub): ...@@ -527,4 +521,3 @@ def make_loop_careduce(loop_orders, dtypes, loop_tasks, sub):
s += loop_tasks[-1] s += loop_tasks[-1]
return "{%s}" % s return "{%s}" % s
...@@ -58,7 +58,6 @@ whitelist_flake8 = [ ...@@ -58,7 +58,6 @@ whitelist_flake8 = [
"typed_list/tests/test_opt.py", "typed_list/tests/test_opt.py",
"typed_list/tests/test_basic.py", "typed_list/tests/test_basic.py",
"tensor/__init__.py", "tensor/__init__.py",
"tensor/elemwise_cgen.py",
"tensor/blas_scipy.py", "tensor/blas_scipy.py",
"tensor/tests/test_subtensor.py", "tensor/tests/test_subtensor.py",
"tensor/tests/test_utils.py", "tensor/tests/test_utils.py",
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论