/*
* Copyright 2010 INRIA Saclay
*
- * Use of this software is governed by the GNU LGPLv2.1 license
+ * Use of this software is governed by the MIT license
*
* Written by Sven Verdoolaege, INRIA Saclay - Ile-de-France,
* Parc Club Orsay Universite, ZAC des vignes, 4 rue Jacques Monod,
#include <isl/set.h>
#include <isl/seq.h>
#include <isl_tab.h>
-#include <isl_dim_private.h>
+#include <isl_space_private.h>
#include <isl_morph.h>
#include <isl_vertices_private.h>
#include <isl_mat_private.h>
return vertices;
error:
- free(vertices);
+ isl_vertices_free(vertices);
free_vertex_list(list);
return NULL;
}
goto error;
isl_assert(bset->ctx, v->v.vertex->n_eq >= nvar, goto error);
v->v.dom = isl_basic_set_copy(v->v.vertex);
- v->v.dom = isl_basic_set_project_out(v->v.dom, isl_dim_set, 0, nvar);
+ v->v.dom = isl_basic_set_params(v->v.dom);
if (!v->v.dom)
goto error;
goto error;
vertices->n_vertices = 1;
vertices->v[0].vertex = isl_basic_set_copy(bset);
- if (!vertices->v[0].vertex)
+ vertices->v[0].dom = isl_basic_set_params(isl_basic_set_copy(bset));
+ if (!vertices->v[0].vertex || !vertices->v[0].dom)
goto error;
vertices->c = isl_calloc_array(bset->ctx, struct isl_chamber, 1);
vertices->c[0].vertices = isl_calloc_array(bset->ctx, int, 1);
if (!vertices->c[0].vertices)
goto error;
- vertices->c[0].dom = isl_basic_set_copy(bset);
+ vertices->c[0].dom = isl_basic_set_copy(vertices->v[0].dom);
if (!vertices->c[0].dom)
goto error;
if (isl_tab_is_redundant(tab, level))
return 0;
- ovar = isl_dim_offset(bset->dim, isl_dim_set);
+ ovar = isl_space_offset(bset->dim, isl_dim_set);
indep = is_independent(facets, selected, bset->ineq[level] + 1 + ovar);
if (indep < 0)
int level;
int init;
unsigned nvar;
- int *selection;
+ int *selection = NULL;
int selected;
- struct isl_tab_undo **snap;
- isl_mat *facets;
+ struct isl_tab_undo **snap = NULL;
+ isl_mat *facets = NULL;
struct isl_vertex_list *list = NULL;
int n_vertices = 0;
isl_vertices *vertices;
if (!bset)
return NULL;
- if (isl_basic_set_fast_is_empty(bset))
+ if (isl_basic_set_plain_is_empty(bset))
return vertices_empty(bset);
if (bset->n_eq != 0)
if (!bset)
return NULL;
- tab = isl_tab_from_basic_set(bset);
+ tab = isl_tab_from_basic_set(bset, 0);
if (!tab)
goto error;
tab->strict_redundant = 1;
return vertices;
error:
+ free_vertex_list(list);
isl_mat_free(facets);
free(selection);
free(snap);
{
for (; *list; list = &(*list)->next) {
int eq;
- eq = isl_basic_set_fast_is_equal(todo->bset, (*list)->bset);
+ eq = isl_basic_set_plain_is_equal(todo->bset, (*list)->bset);
if (eq < 0)
return -1;
if (!eq)
isl_vec *sample = NULL;
struct isl_tab *tab = NULL;
struct isl_tab_undo *snap;
- unsigned nvar;
int *selection = NULL;
int n_chambers = 0;
struct isl_chamber_list *list = NULL;
if (!selection)
goto error;
- nvar = isl_basic_set_dim(bset, isl_dim_set);
- bset = isl_basic_set_project_out(bset, isl_dim_set, 0, nvar);
+ bset = isl_basic_set_params(bset);
- tab = isl_tab_from_basic_set(bset);
+ tab = isl_tab_from_basic_set(bset, 1);
+ if (!tab)
+ goto error;
for (i = 0; i < bset->n_ineq; ++i)
if (isl_tab_freeze_constraint(tab, i) < 0)
goto error;
- if (isl_tab_track_bset(tab, bset) < 0)
- goto error;
+ isl_basic_set_free(bset);
snap = isl_tab_snap(tab);
v = &vertex->vertices->v[vertex->id];
if (!v->dom) {
- unsigned nvar;
- nvar = isl_basic_set_dim(v->vertex, isl_dim_set);
v->dom = isl_basic_set_copy(v->vertex);
- v->dom = isl_basic_set_project_out(v->dom, isl_dim_set, 0, nvar);
+ v->dom = isl_basic_set_params(v->dom);
}
return isl_basic_set_copy(v->dom);
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(