projects
/
platform
/
upstream
/
isl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
isl_basic_set_compute_vertices: explicitly turn chambers into parameter sets
[platform/upstream/isl.git]
/
isl_vertices.c
diff --git
a/isl_vertices.c
b/isl_vertices.c
index
9c98330
..
e7d849e
100644
(file)
--- a/
isl_vertices.c
+++ b/
isl_vertices.c
@@
-12,7
+12,7
@@
#include <isl/set.h>
#include <isl/seq.h>
#include <isl_tab.h>
#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>
#include <isl_morph.h>
#include <isl_vertices_private.h>
#include <isl_mat_private.h>
@@
-210,7
+210,7
@@
static __isl_give isl_vertices *vertices_0D(__isl_keep isl_basic_set *bset)
vertices->c[0].vertices = isl_calloc_array(bset->ctx, int, 1);
if (!vertices->c[0].vertices)
goto error;
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_
params(isl_basic_set_copy(bset)
);
if (!vertices->c[0].dom)
goto error;
if (!vertices->c[0].dom)
goto error;
@@
-288,7
+288,7
@@
static int can_select(__isl_keep isl_basic_set *bset, int level,
if (isl_tab_is_redundant(tab, level))
return 0;
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)
indep = is_independent(facets, selected, bset->ineq[level] + 1 + ovar);
if (indep < 0)
@@
-392,10
+392,10
@@
__isl_give isl_vertices *isl_basic_set_compute_vertices(
int level;
int init;
unsigned nvar;
int level;
int init;
unsigned nvar;
- int *selection;
+ int *selection
= NULL
;
int selected;
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;
struct isl_vertex_list *list = NULL;
int n_vertices = 0;
isl_vertices *vertices;
@@
-403,7
+403,7
@@
__isl_give isl_vertices *isl_basic_set_compute_vertices(
if (!bset)
return NULL;
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)
return vertices_empty(bset);
if (bset->n_eq != 0)
@@
-771,7
+771,7
@@
static int has_opposite(struct isl_facet_todo *todo,
{
for (; *list; list = &(*list)->next) {
int eq;
{
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)
if (eq < 0)
return -1;
if (!eq)
@@
-861,7
+861,6
@@
static __isl_give isl_vertices *compute_chambers(__isl_take isl_basic_set *bset,
isl_vec *sample = NULL;
struct isl_tab *tab = NULL;
struct isl_tab_undo *snap;
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;
int *selection = NULL;
int n_chambers = 0;
struct isl_chamber_list *list = NULL;
@@
-875,8
+874,7
@@
static __isl_give isl_vertices *compute_chambers(__isl_take isl_basic_set *bset,
if (!selection)
goto error;
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);
for (i = 0; i < bset->n_ineq; ++i)
tab = isl_tab_from_basic_set(bset);
for (i = 0; i < bset->n_ineq; ++i)