diff --git a/loopy/codegen/expression.py b/loopy/codegen/expression.py index 964d7efc1f6d681f618d0fc7edfc3314cdef4a56..da323a79444e8a3b1d28beb7f19776e3e2db0e9d 100644 --- a/loopy/codegen/expression.py +++ b/loopy/codegen/expression.py @@ -310,9 +310,13 @@ class LoopyCCodeMapper(RecursiveMapper): raise RuntimeError("nothing known about variable '%s'" % expr.aggregate.name) def map_floor_div(self, expr, enclosing_prec, type_context): + from loopy.symbolic import get_dependencies + iname_deps = get_dependencies(expr) & self.kernel.all_inames() + domain = self.kernel.get_inames_domain(iname_deps) + from loopy.isl_helpers import is_nonnegative - num_nonneg = is_nonnegative(expr.numerator, self.kernel.domain) - den_nonneg = is_nonnegative(expr.denominator, self.kernel.domain) + num_nonneg = is_nonnegative(expr.numerator, domain) + den_nonneg = is_nonnegative(expr.denominator, domain) if den_nonneg: if num_nonneg: