From 02fc937fc28f6192d2c60e8a2f72ef8986da1d76 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Thu, 9 Jul 2009 15:15:51 +0200 Subject: [PATCH] privately export isl_basic_set_lineality_space --- isl_convex_hull.c | 11 ++++++----- isl_map_private.h | 2 ++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/isl_convex_hull.c b/isl_convex_hull.c index 6b28567..d11daa4 100644 --- a/isl_convex_hull.c +++ b/isl_convex_hull.c @@ -1401,12 +1401,12 @@ error: return NULL; } -/* Compute the lineality space of an "underlying" basic set. +/* Compute the lineality space of a basic set. + * We currently do not allow the basic set to have any divs. * We basically just drop the constants and turn every inequality * into an equality. */ -static struct isl_basic_set *ubasic_set_lineality_space( - struct isl_basic_set *bset) +struct isl_basic_set *isl_basic_set_lineality_space(struct isl_basic_set *bset) { int i, k; struct isl_basic_set *lin = NULL; @@ -1414,6 +1414,7 @@ static struct isl_basic_set *ubasic_set_lineality_space( if (!bset) goto error; + isl_assert(bset->ctx, bset->n_div == 0, goto error); dim = isl_basic_set_total_dim(bset); lin = isl_basic_set_alloc_dim(isl_basic_set_get_dim(bset), 0, dim, 0); @@ -1466,7 +1467,7 @@ static struct isl_basic_set *uset_combined_lineality_space(struct isl_set *set) lin = isl_set_alloc_dim(isl_set_get_dim(set), set->n, 0); for (i = 0; i < set->n; ++i) lin = isl_set_add(lin, - ubasic_set_lineality_space(isl_basic_set_copy(set->p[i]))); + isl_basic_set_lineality_space(isl_basic_set_copy(set->p[i]))); isl_set_free(set); return isl_set_affine_hull(lin); } @@ -1498,7 +1499,7 @@ static struct isl_basic_set *uset_convex_hull_unbounded(struct isl_set *set) convex_hull = convex_hull_pair(convex_hull, t); if (set->n == 0) break; - t = ubasic_set_lineality_space(isl_basic_set_copy(convex_hull)); + t = isl_basic_set_lineality_space(isl_basic_set_copy(convex_hull)); if (!t) goto error; if (isl_basic_set_is_universe(t)) { diff --git a/isl_map_private.h b/isl_map_private.h index de112b4..622e50c 100644 --- a/isl_map_private.h +++ b/isl_map_private.h @@ -109,3 +109,5 @@ int isl_basic_set_constraint_is_redundant(struct isl_basic_set **bset, struct isl_basic_map *isl_basic_map_drop_redundant_divs( struct isl_basic_map *bmap); + +struct isl_basic_set *isl_basic_set_lineality_space(struct isl_basic_set *bset); -- 2.7.4