isl_aff_floor: normalize result
authorSven Verdoolaege <skimo@kotnet.org>
Sat, 8 Sep 2012 13:04:45 +0000 (8 15:04 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Tue, 13 Nov 2012 23:33:52 +0000 (14 00:33 +0100)
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
isl_aff.c
test_inputs/codegen/cloog/thomasset.c

index c2e3f53..0ea1847 100644 (file)
--- a/isl_aff.c
+++ b/isl_aff.c
@@ -955,6 +955,8 @@ __isl_give isl_aff *isl_aff_floor(__isl_take isl_aff *aff)
        isl_int_set_si(aff->v->el[0], 1);
        isl_int_set_si(aff->v->el[size], 1);
 
+       aff = isl_aff_normalize(aff);
+
        return aff;
 }
 
index 97bde2f..15552ae 100644 (file)
@@ -2,7 +2,7 @@
   for (int c0 = 0; c0 <= floord(n - 1, 3); c0 += 1)
     for (int c2 = 3 * c0 + 1; c2 <= min(n, 3 * c0 + 3); c2 += 1)
       S1(c2, c0);
-  for (int c0 = floord(n, 3); c0 <= floord(n, 3) + floord(n, 3); c0 += 1)
+  for (int c0 = floord(n, 3); c0 <= 2 * floord(n, 3); c0 += 1)
     for (int c1 = 0; c1 < n; c1 += 1)
       for (int c3 = max((n % 3) - n + 3 * c0, 1); c3 <= min((n % 3) - n + 3 * c0 + 2, n); c3 += 1)
         S2(c1 + 1, c3, 0, n / 3, c0 - n / 3);