diff options
author | Sven Verdoolaege <skimo@kotnet.org> | 2009-07-09 16:20:47 +0200 |
---|---|---|
committer | Sven Verdoolaege <skimo@kotnet.org> | 2009-07-13 13:05:55 +0200 |
commit | b7798ecb6330981849f819f3b21b6d8cf7a7f655 (patch) | |
tree | d0a9d1bf9ef6b6e182ea3c0a1a13c002892d34a2 | |
parent | 9562e7ec05bd6d4cfcafc324a398324b5fde7667 (diff) | |
download | isl-b7798ecb6330981849f819f3b21b6d8cf7a7f655.tar.gz isl-b7798ecb6330981849f819f3b21b6d8cf7a7f655.tar.bz2 isl-b7798ecb6330981849f819f3b21b6d8cf7a7f655.zip |
privately export isl_basic_set_recession_cone
-rw-r--r-- | isl_affine_hull.c | 8 | ||||
-rw-r--r-- | isl_map_private.h | 1 |
2 files changed, 7 insertions, 2 deletions
diff --git a/isl_affine_hull.c b/isl_affine_hull.c index 679bb3ee..4b354b93 100644 --- a/isl_affine_hull.c +++ b/isl_affine_hull.c @@ -318,13 +318,14 @@ error: return NULL; } -static struct isl_basic_set *recession_cone(struct isl_basic_set *bset) +struct isl_basic_set *isl_basic_set_recession_cone(struct isl_basic_set *bset) { int i; bset = isl_basic_set_cow(bset); if (!bset) return NULL; + isl_assert(bset->ctx, bset->n_div == 0, goto error); for (i = 0; i < bset->n_eq; ++i) isl_int_set_si(bset->eq[i][0], 0); @@ -334,6 +335,9 @@ static struct isl_basic_set *recession_cone(struct isl_basic_set *bset) ISL_F_CLR(bset, ISL_BASIC_SET_NO_IMPLICIT); return isl_basic_set_implicit_equalities(bset); +error: + isl_basic_set_free(bset); + return NULL; } static struct isl_basic_set *shift(struct isl_basic_set *bset, isl_int *point) @@ -399,7 +403,7 @@ static struct isl_basic_set *uset_affine_hull(struct isl_basic_set *bset) if (hull->n_eq > 0) { struct isl_basic_set *cone; - cone = recession_cone(isl_basic_set_copy(bset)); + cone = isl_basic_set_recession_cone(isl_basic_set_copy(bset)); isl_basic_set_free_inequality(cone, cone->n_ineq); cone = isl_basic_set_normalize_constraints(cone); cone = shift(cone, bset->sample->block.data); diff --git a/isl_map_private.h b/isl_map_private.h index 622e50c8..6f032523 100644 --- a/isl_map_private.h +++ b/isl_map_private.h @@ -110,4 +110,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_recession_cone(struct isl_basic_set *bset); struct isl_basic_set *isl_basic_set_lineality_space(struct isl_basic_set *bset); |