From b74bd107696ca0e8051053d8d14cab8c82820e26 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Thu, 14 Jul 2011 12:37:03 +0200 Subject: [PATCH] add isl_pw_aff_min and isl_pw_aff_max Signed-off-by: Sven Verdoolaege --- doc/user.pod | 6 ++++++ include/isl/aff.h | 4 ++++ isl_aff.c | 20 ++++++++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/doc/user.pod b/doc/user.pod index 1563e77..eb1f088 100644 --- a/doc/user.pod +++ b/doc/user.pod @@ -2407,6 +2407,12 @@ Operations include __isl_give isl_pw_aff *isl_pw_aff_add( __isl_take isl_pw_aff *pwaff1, __isl_take isl_pw_aff *pwaff2); + __isl_give isl_pw_aff *isl_pw_aff_min( + __isl_take isl_pw_aff *pwaff1, + __isl_take isl_pw_aff *pwaff2); + __isl_give isl_pw_aff *isl_pw_aff_max( + __isl_take isl_pw_aff *pwaff1, + __isl_take isl_pw_aff *pwaff2); __isl_give isl_aff *isl_aff_sub(__isl_take isl_aff *aff1, __isl_take isl_aff *aff2); __isl_give isl_pw_aff *isl_pw_aff_sub( diff --git a/include/isl/aff.h b/include/isl/aff.h index 903815d..29aadbd 100644 --- a/include/isl/aff.h +++ b/include/isl/aff.h @@ -113,6 +113,10 @@ __isl_give isl_pw_aff *isl_pw_aff_align_params(__isl_take isl_pw_aff *pwaff, __isl_give isl_set *isl_pw_aff_domain(__isl_take isl_pw_aff *pwaff); +__isl_give isl_pw_aff *isl_pw_aff_min(__isl_take isl_pw_aff *pwaff1, + __isl_take isl_pw_aff *pwaff2); +__isl_give isl_pw_aff *isl_pw_aff_max(__isl_take isl_pw_aff *pwaff1, + __isl_take isl_pw_aff *pwaff2); __isl_give isl_pw_aff *isl_pw_aff_mul(__isl_take isl_pw_aff *pwaff1, __isl_take isl_pw_aff *pwaff2); __isl_give isl_pw_aff *isl_pw_aff_add(__isl_take isl_pw_aff *pwaff1, diff --git a/isl_aff.c b/isl_aff.c index 284a88a..c6eb716 100644 --- a/isl_aff.c +++ b/isl_aff.c @@ -1471,3 +1471,23 @@ error: isl_pw_aff_free(pwaff2); return NULL; } + +__isl_give isl_pw_aff *isl_pw_aff_min(__isl_take isl_pw_aff *pwaff1, + __isl_take isl_pw_aff *pwaff2) +{ + isl_set *le; + + le = isl_pw_aff_le_set(isl_pw_aff_copy(pwaff1), + isl_pw_aff_copy(pwaff2)); + return isl_pw_aff_cond(le, pwaff1, pwaff2); +} + +__isl_give isl_pw_aff *isl_pw_aff_max(__isl_take isl_pw_aff *pwaff1, + __isl_take isl_pw_aff *pwaff2) +{ + isl_set *le; + + le = isl_pw_aff_ge_set(isl_pw_aff_copy(pwaff1), + isl_pw_aff_copy(pwaff2)); + return isl_pw_aff_cond(le, pwaff1, pwaff2); +} -- 2.7.4