is_tilable = 1;
is_parallel = 1;
is_nonneg = 1;
+ isl_union_set_free(delta);
} else {
- delta_set = isl_union_set_copy_set(delta);
+ delta_set = isl_set_from_union_set(delta);
slice = isl_set_universe(isl_set_get_dim(delta_set));
for (i = 0; i < tilable; ++i)
isl_set_free(origin);
isl_set_free(delta_set);
}
- isl_union_set_free(delta);
if (is_nonneg < 0 || is_parallel < 0 || is_tilable < 0 ||
is_injection < 0 || is_complete < 0)
return 0;
}
+int test_product(isl_ctx *ctx)
+{
+ const char *str;
+ isl_set *set;
+ int ok;
+
+ str = "{ A[i] }";
+ set = isl_set_read_from_str(ctx, str, -1);
+ set = isl_set_product(set, isl_set_copy(set));
+ ok = isl_set_is_wrapping(set);
+ isl_set_free(set);
+ if (ok < 0)
+ return -1;
+ if (!ok)
+ isl_die(ctx, isl_error_unknown, "unexpected result", return -1);
+
+ return 0;
+}
+
+int test_equal(isl_ctx *ctx)
+{
+ const char *str;
+ isl_set *set, *set2;
+ int equal;
+
+ str = "{ S_6[i] }";
+ set = isl_set_read_from_str(ctx, str, -1);
+ str = "{ S_7[i] }";
+ set2 = isl_set_read_from_str(ctx, str, -1);
+ equal = isl_set_is_equal(set, set2);
+ isl_set_free(set);
+ isl_set_free(set2);
+ if (equal < 0)
+ return -1;
+ if (equal)
+ isl_die(ctx, isl_error_unknown, "unexpected result", return -1);
+
+ return 0;
+}
+
int main()
{
struct isl_ctx *ctx;
assert(srcdir);
ctx = isl_ctx_alloc();
+ if (test_equal(ctx) < 0)
+ goto error;
+ if (test_product(ctx) < 0)
+ goto error;
if (test_dim_max(ctx) < 0)
goto error;
if (test_aff(ctx) < 0)