diff --git a/loopy/check.py b/loopy/check.py index e11aafab093c2f74875caa372dacbc9306fd9648..81b384a38a18f92c76fda9695b8d340c6f2dcc17 100644 --- a/loopy/check.py +++ b/loopy/check.py @@ -73,7 +73,7 @@ class SubscriptIndicesIsIntChecker(TypeInferenceMapper): def map_subscript(self, expr): for idx in expr.index_tuple: if not self.rec(idx)[0].is_integral(): - raise LoopyError("Non integral array indices obtained in" + raise LoopyError("Non-integral array indices obtained in" " {}.".format(expr)) return self.rec(expr.aggregate) diff --git a/test/test_expression.py b/test/test_expression.py index 7a26e7e2e2c753f08f1b5eb5fc00f300a709e25e..752d9ab2da3e2865891da8eedb4d5295b8b35826 100644 --- a/test/test_expression.py +++ b/test/test_expression.py @@ -445,15 +445,23 @@ def test_integer_associativity(): knl = lp.make_kernel( "{[i] : 0<=i " + "{ : elemsize>= 0 and ncomp >= 0}")) + print(lp.generate_code_v2(knl).device_code()) + assert ( + "u[ncomp * indices[i % elemsize + elemsize " + "* loopy_floor_div_int32(i, ncomp * elemsize)] " + "+ loopy_mod_pos_b_int32(i / elemsize, ncomp)]" in lp.generate_code_v2(knl).device_code())