Skip to content

Conversation

@FabioLuporini
Copy link
Contributor

No description provided.

@codecov
Copy link

codecov bot commented Feb 2, 2026

Codecov Report

❌ Patch coverage is 81.76796% with 33 lines in your changes missing coverage. Please review.
✅ Project coverage is 78.94%. Comparing base (1c65e48) to head (206c29c).

Files with missing lines Patch % Lines
devito/passes/iet/definitions.py 60.60% 7 Missing and 6 partials ⚠️
devito/passes/iet/engine.py 31.25% 10 Missing and 1 partial ⚠️
devito/ir/clusters/cluster.py 63.63% 4 Missing ⚠️
devito/ir/support/guards.py 0.00% 1 Missing and 2 partials ⚠️
devito/arch/archinfo.py 0.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2840      +/-   ##
==========================================
- Coverage   78.95%   78.94%   -0.01%     
==========================================
  Files         248      248              
  Lines       50877    50979     +102     
  Branches     4394     4402       +8     
==========================================
+ Hits        40170    40247      +77     
- Misses       9908     9928      +20     
- Partials      799      804       +5     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Contributor

@mloubout mloubout left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mintoi comments but was already reviewed in the previous one so looks good

return {i for i in self.free_symbols if i.is_Dimension} | idims
dims_exprs = {i for i in self.free_symbols if i.is_Dimension}

dims_implicit = set().union(*[set(e.implicit_dims) for e in self.exprs])
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't need set(e.implicit_dims) just e.implicit_dims

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could even just be dims_implicit = {d for e in self.exprs for d in e.implicit_dims}

sub_iterators = dict([(k, tuple(filter_ordered(as_tuple(v))))
for k, v in (sub_iterators or {}).items()])
sub_iterators = sub_iterators or {}
sub_iterators = {d: tuple(filter_ordered(as_tuple(v)))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's quite a lot of tuple conversion but doubt can be changed

return {i for i in self.free_symbols if i.is_Dimension} | idims
dims_exprs = {i for i in self.free_symbols if i.is_Dimension}

dims_implicit = set().union(*[set(e.implicit_dims) for e in self.exprs])
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could even just be dims_implicit = {d for e in self.exprs for d in e.implicit_dims}


dims_implicit = set().union(*[set(e.implicit_dims) for e in self.exprs])

syms_guards = set().union(*[e.free_symbols for e in self.guards.values()])
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can do the same with this one, which will improve readability and homogeneity

class Terminal:

"""
Abstract base class for all terminal objects, that is, those objects
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This docstring seems a little tautologous - a terminal is an object collected by retrieve_terminals which is a function that retrieves objects that are terminals. Might be worth noting what makes an object "terminal"? I'm guessing anything which is always a leaf node with no children?


Reserved objects have the following properties:

* `estimate_cost(o) = 0`, where `o` is an instance of Reserved
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this enforced by a subclass or superclass?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants