From a473a9d0f2ee45a21fadcbb5cd51f4423a723489 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Thu, 14 Mar 2013 09:31:01 +0100 Subject: [PATCH] generalize isl_union_pw_qpolynomial_sub to include isl_union_pw_multi_aff_sub Signed-off-by: Sven Verdoolaege --- doc/user.pod | 3 +++ include/isl/aff.h | 3 +++ isl_fold.c | 2 ++ isl_polynomial.c | 8 -------- isl_union_templ.c | 9 +++++++++ 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/doc/user.pod b/doc/user.pod index 2174675..0e416cf 100644 --- a/doc/user.pod +++ b/doc/user.pod @@ -3890,6 +3890,9 @@ Operations include __isl_give isl_pw_multi_aff *isl_pw_multi_aff_sub( __isl_take isl_pw_multi_aff *pma1, __isl_take isl_pw_multi_aff *pma2); + __isl_give isl_union_pw_multi_aff *isl_union_pw_multi_aff_sub( + __isl_take isl_union_pw_multi_aff *upma1, + __isl_take isl_union_pw_multi_aff *upma2); C subtracts the second argument from the first. diff --git a/include/isl/aff.h b/include/isl/aff.h index f7595e4..9bcc74f 100644 --- a/include/isl/aff.h +++ b/include/isl/aff.h @@ -502,6 +502,9 @@ __isl_give isl_union_set *isl_union_pw_multi_aff_domain( __isl_give isl_union_pw_multi_aff *isl_union_pw_multi_aff_add( __isl_take isl_union_pw_multi_aff *upma1, __isl_take isl_union_pw_multi_aff *upma2); +__isl_give isl_union_pw_multi_aff *isl_union_pw_multi_aff_sub( + __isl_take isl_union_pw_multi_aff *upma1, + __isl_take isl_union_pw_multi_aff *upma2); __isl_give isl_union_pw_multi_aff *isl_union_pw_multi_aff_flat_range_product( __isl_take isl_union_pw_multi_aff *upma1, diff --git a/isl_fold.c b/isl_fold.c index ba93a69..82cad6f 100644 --- a/isl_fold.c +++ b/isl_fold.c @@ -650,6 +650,8 @@ __isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_gist_params( #define PARTS pw_qpolynomial_fold #define ALIGN_DOMAIN +#define NO_SUB + #include __isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_empty(enum isl_fold type, diff --git a/isl_polynomial.c b/isl_polynomial.c index bc0937d..2dfdd0f 100644 --- a/isl_polynomial.c +++ b/isl_polynomial.c @@ -3956,14 +3956,6 @@ error: return NULL; } -__isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_sub( - __isl_take isl_union_pw_qpolynomial *upwqp1, - __isl_take isl_union_pw_qpolynomial *upwqp2) -{ - return isl_union_pw_qpolynomial_add(upwqp1, - isl_union_pw_qpolynomial_neg(upwqp2)); -} - __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_mul( __isl_take isl_union_pw_qpolynomial *upwqp1, __isl_take isl_union_pw_qpolynomial *upwqp2) diff --git a/isl_union_templ.c b/isl_union_templ.c index f6f46e2..cd55f4e 100644 --- a/isl_union_templ.c +++ b/isl_union_templ.c @@ -465,6 +465,15 @@ error: return NULL; } +#ifndef NO_SUB +/* Subtract "u2" from "u1" and return the result. + */ +__isl_give UNION *FN(UNION,sub)(__isl_take UNION *u1, __isl_take UNION *u2) +{ + return match_bin_op(u1, u2, &FN(PART,sub)); +} +#endif + S(UNION,any_set_data) { isl_set *set; UNION *res; -- 2.7.4