Skip to content

Commit

Permalink
Implement IdentityMapper.map_reduce
Browse files Browse the repository at this point in the history
  • Loading branch information
inducer committed Jul 1, 2024
1 parent 71c7cc7 commit 5810fba
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion pytato/scalar_expr.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,17 @@ def map_reduce(self, expr: Reduce, *args: Any, **kwargs: Any) -> Any:


class IdentityMapper(IdentityMapperBase):
pass
def map_reduce(self, expr: Reduce, *args: Any, **kwargs: Any) -> Any:
return Reduce(
self.rec(expr.inner_expr, *args, **kwargs),
expr.op,
immutabledict({
name: (
self.rec(lower, *args, **kwargs),
self.rec(upper, *args, **kwargs)
)
for name, (lower, upper) in expr.bounds.items()
}))

def map_type_cast(self, expr: TypeCast, *args: Any, **kwargs: Any) -> Any:
return TypeCast(expr.dtype, self.rec(expr.inner_expr, *args, **kwargs))
Expand Down

0 comments on commit 5810fba

Please sign in to comment.