From c07713a0ee4e584f9073c8f482ca444924a3c1ff Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner Date: Thu, 23 Aug 2012 16:06:55 -0400 Subject: [PATCH] Fix floor_div for multi-domain. --- loopy/codegen/expression.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/loopy/codegen/expression.py b/loopy/codegen/expression.py index 964d7efc1..da323a794 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: -- GitLab