From: Sven Verdoolaege Date: Tue, 19 Jul 2011 14:08:14 +0000 (+0200) Subject: add isl_pw_aff_ne_set X-Git-Tag: isl-0.08~210 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=63794c5e3fc0f53adb50e9cd0fc78d7a9a807a72;p=platform%2Fupstream%2Fisl.git add isl_pw_aff_ne_set Signed-off-by: Sven Verdoolaege --- diff --git a/doc/user.pod b/doc/user.pod index 3c3a324..0e45e14 100644 --- a/doc/user.pod +++ b/doc/user.pod @@ -2441,6 +2441,9 @@ Operations include __isl_give isl_set *isl_pw_aff_eq_set( __isl_take isl_pw_aff *pwaff1, __isl_take isl_pw_aff *pwaff2); + __isl_give isl_set *isl_pw_aff_ne_set( + __isl_take isl_pw_aff *pwaff1, + __isl_take isl_pw_aff *pwaff2); __isl_give isl_set *isl_pw_aff_le_set( __isl_take isl_pw_aff *pwaff1, __isl_take isl_pw_aff *pwaff2); diff --git a/include/isl/aff.h b/include/isl/aff.h index ffeca4b..b6ffe35 100644 --- a/include/isl/aff.h +++ b/include/isl/aff.h @@ -140,6 +140,8 @@ __isl_give isl_set *isl_pw_aff_nonneg_set(__isl_take isl_pw_aff *pwaff); __isl_give isl_set *isl_pw_aff_eq_set(__isl_take isl_pw_aff *pwaff1, __isl_take isl_pw_aff *pwaff2); +__isl_give isl_set *isl_pw_aff_ne_set(__isl_take isl_pw_aff *pwaff1, + __isl_take isl_pw_aff *pwaff2); __isl_give isl_set *isl_pw_aff_le_set(__isl_take isl_pw_aff *pwaff1, __isl_take isl_pw_aff *pwaff2); __isl_give isl_set *isl_pw_aff_lt_set(__isl_take isl_pw_aff *pwaff1, diff --git a/isl_aff.c b/isl_aff.c index 5e5ea3d..5faf870 100644 --- a/isl_aff.c +++ b/isl_aff.c @@ -1286,6 +1286,20 @@ __isl_give isl_set *isl_pw_aff_lt_set(__isl_take isl_pw_aff *pwaff1, return isl_pw_aff_gt_set(pwaff2, pwaff1); } +/* Return a set containing those elements in the shared domain + * of pwaff1 and pwaff2 where pwaff1 is not equal to pwaff2. + */ +__isl_give isl_set *isl_pw_aff_ne_set(__isl_take isl_pw_aff *pwaff1, + __isl_take isl_pw_aff *pwaff2) +{ + isl_set *set_lt, *set_gt; + + set_lt = isl_pw_aff_lt_set(isl_pw_aff_copy(pwaff1), + isl_pw_aff_copy(pwaff2)); + set_gt = isl_pw_aff_gt_set(pwaff1, pwaff2); + return isl_set_union_disjoint(set_lt, set_gt); +} + __isl_give isl_pw_aff *isl_pw_aff_scale_down(__isl_take isl_pw_aff *pwaff, isl_int v) {