Skip to content

Commit 4d844ce

Browse files
committed
misc: Improve readability
1 parent 422277d commit 4d844ce

6 files changed

Lines changed: 49 additions & 15 deletions

File tree

‎devito/finite_differences/differentiable.py‎

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -546,9 +546,26 @@ def _gather_for_diff(self):
546546
def _eval_is_even(self):
547547
return None
548548

549-
_eval_is_odd = _eval_is_integer = _eval_is_negative = _eval_is_even
550-
_eval_is_extended_negative = _eval_is_positive = _eval_is_even
551-
_eval_is_extended_positive = _eval_is_zero = _eval_is_even
549+
def _eval_is_odd(self):
550+
return None
551+
552+
def _eval_is_integer(self):
553+
return None
554+
555+
def _eval_is_negative(self):
556+
return None
557+
558+
def _eval_is_extended_negative(self):
559+
return None
560+
561+
def _eval_is_positive(self):
562+
return None
563+
564+
def _eval_is_extended_positive(self):
565+
return None
566+
567+
def _eval_is_zero(self):
568+
return None
552569

553570

554571
class DifferentiableFunction(DifferentiableOp):
@@ -827,9 +844,11 @@ def __new__(cls, expr, dimensions, **kwargs):
827844
if not dimensions:
828845
return expr
829846
for d in dimensions:
830-
with suppress(AttributeError):
847+
try:
831848
if d.is_Dimension and is_integer(d.symbolic_size):
832849
continue
850+
except AttributeError:
851+
pass
833852
raise ValueError("Expected Dimension with numeric size, "
834853
f"got `{d}` instead")
835854

@@ -886,8 +905,11 @@ def _evaluate(self, **kwargs):
886905
return self._rebuild(expr)
887906

888907
values = product(*[list(d.range) for d in self.dimensions])
889-
return sum([expr.xreplace(dict(zip(self.dimensions, i, strict=True)))
890-
for i in values])
908+
terms = []
909+
for i in values:
910+
mapper = dict(zip(self.dimensions, i, strict=True))
911+
terms.append(expr.xreplace(mapper))
912+
return sum(terms)
891913

892914
@property
893915
def bound_symbols(self):

‎devito/tools/data_structures.py‎

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -744,9 +744,14 @@ class UnboundTuple(tuple):
744744
"""
745745

746746
def __new__(cls, *items, **kwargs):
747-
nitems = [UnboundTuple(*i)
748-
if isinstance(i, Iterable) and not isinstance(i, UnboundTuple) else i
749-
for i in as_tuple(items)]
747+
nitems = []
748+
for i in as_tuple(items):
749+
if isinstance(i, UnboundTuple):
750+
nitems.append(i)
751+
elif isinstance(i, Iterable):
752+
nitems.append(UnboundTuple(*i))
753+
else:
754+
nitems.append(i)
750755

751756
obj = super().__new__(cls, tuple(nitems))
752757
obj.last = len(nitems)

‎devito/types/basic.py‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1166,6 +1166,7 @@ def dmap(self):
11661166
return DeviceMap(f'd_{self.name}', shape=self._shape, function=self.function)
11671167
elif self._mem_local:
11681168
return self.indexed
1169+
return None
11691170

11701171
@property
11711172
def size(self):

‎devito/types/dense.py‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1593,9 +1593,9 @@ def _halo_exchange(self):
15931593

15941594
def _arg_values(self, estimate_memory=False, **kwargs):
15951595
if self._parent is not None and self.parent.name not in kwargs:
1596-
return self._parent._arg_defaults(alias=self._parent,
1597-
estimate_memory=estimate_memory
1598-
).reduce_all()
1596+
return self._parent._arg_defaults(
1597+
alias=self._parent, estimate_memory=estimate_memory
1598+
).reduce_all()
15991599
elif self.name in kwargs:
16001600
raise RuntimeError(f"`{self.name}` is a SubFunction, so it can't be assigned "
16011601
"a value dynamically")

‎devito/types/dimension.py‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1335,7 +1335,11 @@ def _rebuild_hierarchy(self, callback=None, step=None):
13351335

13361336
name0 = pp.name
13371337

1338-
name1 = p.name if callback is None else callback(f'{callback(name0)}_blk')
1338+
if callback is None:
1339+
name1 = p.name
1340+
else:
1341+
base = callback(name0)
1342+
name1 = callback(f'{base}_blk')
13391343

13401344
bd = p._rebuild(name1, pp, step=step or p.step)
13411345

‎devito/types/sparse.py‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2065,8 +2065,10 @@ def manual_scatter(self, *, data_all_zero=False):
20652065

20662066
# now all ranks can allocate the buffers to receive into
20672067
if distributor.myrank != 0:
2068-
scattered_data = (np.zeros if data_all_zero else np.empty)([nt, npoint],
2069-
dtype=self.dtype)
2068+
if data_all_zero:
2069+
scattered_data = np.zeros([nt, npoint], dtype=self.dtype)
2070+
else:
2071+
scattered_data = np.empty([nt, npoint], dtype=self.dtype)
20702072
scattered_gp = np.empty([nloc, ndim], dtype=np.int32)
20712073
scattered_coeffs = [np.empty([nloc, r_tuple_no_none[idim]], dtype=self.dtype)
20722074
for idim in range(ndim)]

0 commit comments

Comments
 (0)