From 47d30924b3820d5c6b7d38142501dbec82164510 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Thu, 23 Jun 2011 09:19:56 +0200 Subject: [PATCH] rename isl_qpolynomial_is_equal to isl_qpolynomial_plain_is_equal The current implementation only checks whether two qpolynomials are obviously equal. There may be non-obvious relations between the divs that make two qpolynomials equal even if they do not appear to be equal. Signed-off-by: Sven Verdoolaege --- bound.c | 2 +- include/isl/polynomial.h | 4 ++-- isl_fold.c | 4 ++-- isl_polynomial.c | 2 +- isl_pw_templ.c | 3 ++- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/bound.c b/bound.c index b99afcf..f83e025 100644 --- a/bound.c +++ b/bound.c @@ -113,7 +113,7 @@ static int verify_point(__isl_take isl_point *pnt, void *user) nvar = isl_set_dim(dom, isl_dim_set); opt = isl_qpolynomial_drop_dims(opt, isl_dim_set, 0, nvar); if (vpb->exact && bounded) - ok = isl_qpolynomial_is_equal(opt, bound); + ok = isl_qpolynomial_plain_is_equal(opt, bound); else if (sign > 0) ok = isl_qpolynomial_le_cst(opt, bound); else diff --git a/include/isl/polynomial.h b/include/isl/polynomial.h index d24469c..9fd4ccc 100644 --- a/include/isl/polynomial.h +++ b/include/isl/polynomial.h @@ -44,7 +44,7 @@ __isl_give isl_qpolynomial *isl_qpolynomial_var(__isl_take isl_dim *dim, __isl_give isl_qpolynomial *isl_qpolynomial_copy(__isl_keep isl_qpolynomial *qp); void isl_qpolynomial_free(__isl_take isl_qpolynomial *qp); -int isl_qpolynomial_is_equal(__isl_keep isl_qpolynomial *qp1, +int isl_qpolynomial_plain_is_equal(__isl_keep isl_qpolynomial *qp1, __isl_keep isl_qpolynomial *qp2); int isl_qpolynomial_is_zero(__isl_keep isl_qpolynomial *qp); int isl_qpolynomial_is_nan(__isl_keep isl_qpolynomial *qp); @@ -265,7 +265,7 @@ __isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_reset_dim( __isl_take isl_qpolynomial_fold *fold, __isl_take isl_dim *dim); int isl_qpolynomial_fold_is_empty(__isl_keep isl_qpolynomial_fold *fold); -int isl_qpolynomial_fold_is_equal(__isl_keep isl_qpolynomial_fold *fold1, +int isl_qpolynomial_fold_plain_is_equal(__isl_keep isl_qpolynomial_fold *fold1, __isl_keep isl_qpolynomial_fold *fold2); __isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_fold( diff --git a/isl_fold.c b/isl_fold.c index b69adf9..e211caf 100644 --- a/isl_fold.c +++ b/isl_fold.c @@ -918,7 +918,7 @@ __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_from_pw_qpolynomial( return pwf; } -int isl_qpolynomial_fold_is_equal(__isl_keep isl_qpolynomial_fold *fold1, +int isl_qpolynomial_fold_plain_is_equal(__isl_keep isl_qpolynomial_fold *fold1, __isl_keep isl_qpolynomial_fold *fold2) { int i; @@ -931,7 +931,7 @@ int isl_qpolynomial_fold_is_equal(__isl_keep isl_qpolynomial_fold *fold1, /* We probably want to sort the qps first... */ for (i = 0; i < fold1->n; ++i) { - int eq = isl_qpolynomial_is_equal(fold1->qp[i], fold2->qp[i]); + int eq = isl_qpolynomial_plain_is_equal(fold1->qp[i], fold2->qp[i]); if (eq < 0 || !eq) return eq; } diff --git a/isl_polynomial.c b/isl_polynomial.c index 83cc9f4..ee32b38 100644 --- a/isl_polynomial.c +++ b/isl_polynomial.c @@ -1659,7 +1659,7 @@ error: return NULL; } -int isl_qpolynomial_is_equal(__isl_keep isl_qpolynomial *qp1, +int isl_qpolynomial_plain_is_equal(__isl_keep isl_qpolynomial *qp1, __isl_keep isl_qpolynomial *qp2) { int equal; diff --git a/isl_pw_templ.c b/isl_pw_templ.c index a3c76a1..092300f 100644 --- a/isl_pw_templ.c +++ b/isl_pw_templ.c @@ -447,7 +447,8 @@ __isl_give PW *FN(PW,coalesce)(__isl_take PW *pw) for (i = pw->n - 1; i >= 0; --i) { for (j = i - 1; j >= 0; --j) { - if (!FN(EL,is_equal)(pw->p[i].FIELD, pw->p[j].FIELD)) + if (!FN(EL,plain_is_equal)(pw->p[i].FIELD, + pw->p[j].FIELD)) continue; pw->p[j].set = isl_set_union(pw->p[j].set, pw->p[i].set); -- 2.7.4