add isl_pw_multi_aff_sub
authorSven Verdoolaege <skimo@kotnet.org>
Thu, 14 Mar 2013 08:20:01 +0000 (09:20 +0100)
committerSven Verdoolaege <skimo@kotnet.org>
Thu, 14 Mar 2013 16:14:09 +0000 (17:14 +0100)
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
doc/user.pod
include/isl/aff.h
isl_aff.c

index 222239d..2174675 100644 (file)
@@ -3887,6 +3887,9 @@ Operations include
        __isl_give isl_multi_aff *isl_multi_aff_sub(
                __isl_take isl_multi_aff *ma1,
                __isl_take isl_multi_aff *ma2);
+       __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);
 
 C<isl_multi_aff_sub> subtracts the second argument from the first.
 
index b450c95..f7595e4 100644 (file)
@@ -417,6 +417,8 @@ __isl_give isl_pw_multi_aff *isl_pw_multi_aff_union_add(
 
 __isl_give isl_pw_multi_aff *isl_pw_multi_aff_add(
        __isl_take isl_pw_multi_aff *pma1, __isl_take isl_pw_multi_aff *pma2);
+__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_pw_multi_aff *isl_pw_multi_aff_union_lexmin(
        __isl_take isl_pw_multi_aff *pma1,
index 2ad424d..a81e4d1 100644 (file)
--- a/isl_aff.c
+++ b/isl_aff.c
@@ -3046,6 +3046,22 @@ __isl_give isl_pw_multi_aff *isl_pw_multi_aff_add(
                                                &pw_multi_aff_add);
 }
 
+static __isl_give isl_pw_multi_aff *pw_multi_aff_sub(
+       __isl_take isl_pw_multi_aff *pma1, __isl_take isl_pw_multi_aff *pma2)
+{
+       return isl_pw_multi_aff_on_shared_domain(pma1, pma2,
+                                               &isl_multi_aff_sub);
+}
+
+/* Subtract "pma2" from "pma1" and return the result.
+ */
+__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)
+{
+       return isl_pw_multi_aff_align_params_pw_pw_and(pma1, pma2,
+                                               &pw_multi_aff_sub);
+}
+
 __isl_give isl_pw_multi_aff *isl_pw_multi_aff_union_add(
        __isl_take isl_pw_multi_aff *pma1, __isl_take isl_pw_multi_aff *pma2)
 {