From 26ac4344beaa0257de853e4f3a10140777ec354f Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Sun, 24 Aug 2008 17:11:43 +0200 Subject: [PATCH] isl_basic_map_gauss: handle redundant or conflicting equalities directly --- isl_map.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/isl_map.c b/isl_map.c index e2eb72c..29b74c7 100644 --- a/isl_map.c +++ b/isl_map.c @@ -771,6 +771,14 @@ struct isl_basic_map *isl_basic_map_gauss(struct isl_ctx *ctx, bmap->eq[done][1+last_var]); } } + if (done == bmap->n_eq) + return bmap; + for (k = done; k < bmap->n_eq; ++k) { + if (isl_int_is_zero(bmap->eq[k][0])) + continue; + return isl_basic_map_set_to_empty(ctx, bmap); + } + isl_basic_map_free_equality(ctx, bmap, bmap->n_eq-done); return bmap; } -- 2.7.4