Skip to content

Commit 2b6cca3

Browse files
committed
changed index substitution optim
isation
1 parent 1944578 commit 2b6cca3

1 file changed

Lines changed: 8 additions & 6 deletions

File tree

gem/optimise.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -102,12 +102,14 @@ def _replace_indices_atomic(i, self, subst):
102102
return i if new_expr == i.expression else VariableIndex(new_expr)
103103
else:
104104
substitute = dict(subst)
105-
if isinstance(i, ListIndex) and i.free_index in substitute:
106-
replacement = substitute[i.free_index]
107-
if isinstance(replacement, int):
108-
return int(i.index_array[replacement])
109-
return ListIndex(i.index_array, free_index=substitute[i.free_index])
110-
return substitute.get(i,i)
105+
def _replace(i):
106+
if isinstance(i, ListIndex) and i.free_index in substitute:
107+
replacement = substitute[i.free_index]
108+
if isinstance(replacement, int):
109+
return int(i.index_array[replacement])
110+
return ListIndex(i.index_array, free_index=substitute[i.free_index])
111+
return substitute.get(i,i)
112+
return _replace(i)
111113

112114

113115
@replace_indices.register(Delta)

0 commit comments

Comments
 (0)