From 45500afc69d2bad0ba9188873d1959bbae9e650e Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Mon, 25 Oct 2010 13:37:41 +0200 Subject: [PATCH] isl_pw_qpolynomial_gist: drop empty pieces in result Signed-off-by: Sven Verdoolaege --- isl_pw_templ.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/isl_pw_templ.c b/isl_pw_templ.c index a3cce71..8d15c1e 100644 --- a/isl_pw_templ.c +++ b/isl_pw_templ.c @@ -408,11 +408,18 @@ __isl_give PW *FN(PW,gist)(__isl_take PW *pw, __isl_take isl_set *context) if (!pw) goto error; - for (i = 0; i < pw->n; ++i) { + for (i = pw->n - 1; i >= 0; --i) { pw->p[i].set = isl_set_gist_basic_set(pw->p[i].set, isl_basic_set_copy(hull)); if (!pw->p[i].set) goto error; + if (isl_set_fast_is_empty(pw->p[i].set)) { + isl_set_free(pw->p[i].set); + FN(EL,free)(pw->p[i].FIELD); + if (i != pw->n - 1) + pw->p[i] = pw->p[pw->n - 1]; + pw->n--; + } } isl_basic_set_free(hull); -- 2.7.4