#include <isl_factorization.h>
#include <isl/schedule.h>
#include <isl_options_private.h>
+#include <isl/vertices.h>
static char *srcdir;
return 0;
}
+int test_vertices(isl_ctx *ctx)
+{
+ const char *str;
+ isl_basic_set *bset;
+ isl_vertices *vertices;
+
+ str = "{ A[t, i] : t = 12 and i >= 4 and i <= 12 }";
+ bset = isl_basic_set_read_from_str(ctx, str);
+ vertices = isl_basic_set_compute_vertices(bset);
+ isl_basic_set_free(bset);
+ isl_vertices_free(vertices);
+ if (!vertices)
+ return -1;
+
+ return 0;
+}
+
int test_union_pw(isl_ctx *ctx)
{
int equal;
assert(srcdir);
ctx = isl_ctx_alloc();
+ if (test_vertices(ctx) < 0)
+ goto error;
if (test_fixed(ctx) < 0)
goto error;
if (test_equal(ctx) < 0)
isl_assert(vertices->bset->ctx, vertices->ref == 1, goto error);
param_morph = isl_morph_copy(morph);
- param_morph = isl_morph_remove_dom_dims(param_morph, isl_dim_set,
- 0, isl_morph_dom_dim(morph, isl_dim_set));
- param_morph = isl_morph_remove_ran_dims(param_morph, isl_dim_set,
- 0, isl_morph_ran_dim(morph, isl_dim_set));
+ param_morph = isl_morph_dom_params(param_morph);
+ param_morph = isl_morph_ran_params(param_morph);
for (i = 0; i < vertices->n_vertices; ++i) {
vertices->v[i].dom = isl_morph_basic_set(