add isl_pw_multi_aff_from_multi_aff
authorSven Verdoolaege <skimo@kotnet.org>
Tue, 20 Mar 2012 12:23:21 +0000 (13:23 +0100)
committerSven Verdoolaege <skimo@kotnet.org>
Sun, 6 May 2012 12:33:04 +0000 (14:33 +0200)
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
doc/user.pod
include/isl/aff.h
isl_aff.c

index 593572f..dcc1161 100644 (file)
@@ -3212,7 +3212,8 @@ following function.
 An empty piecewise multiple quasi affine expression (one with no cells),
 the zero piecewise multiple quasi affine expression (with value zero
 for each output dimension) or
-a piecewise multiple quasi affine expression with a single cell can
+a piecewise multiple quasi affine expression with a single cell (with
+either a universe or a specified domain) can
 be created using the following functions.
 
        #include <isl/aff.h>
@@ -3220,6 +3221,9 @@ be created using the following functions.
                __isl_take isl_space *space);
        __isl_give isl_multi_aff *isl_multi_aff_zero(
                __isl_take isl_space *space);
+       __isl_give isl_pw_multi_aff *
+       isl_pw_multi_aff_from_multi_aff(
+               __isl_take isl_multi_aff *ma);
        __isl_give isl_pw_multi_aff *isl_pw_multi_aff_alloc(
                __isl_take isl_set *set,
                __isl_take isl_multi_aff *maff);
index 7f142dc..4ef0078 100644 (file)
@@ -286,6 +286,8 @@ __isl_give isl_multi_aff *isl_multi_aff_read_from_str(isl_ctx *ctx,
                const char *str);
 void isl_multi_aff_dump(__isl_keep isl_multi_aff *maff);
 
+__isl_give isl_pw_multi_aff *isl_pw_multi_aff_from_multi_aff(
+       __isl_take isl_multi_aff *ma);
 __isl_give isl_pw_multi_aff *isl_pw_multi_aff_alloc(__isl_take isl_set *set,
        __isl_take isl_multi_aff *maff);
 __isl_give isl_pw_multi_aff *isl_pw_multi_aff_copy(
index 8ddd78c..ae72c2e 100644 (file)
--- a/isl_aff.c
+++ b/isl_aff.c
@@ -2114,6 +2114,16 @@ __isl_give isl_multi_aff *isl_multi_aff_zero(__isl_take isl_space *space)
        return ma;
 }
 
+/* Create an isl_pw_multi_aff with the given isl_multi_aff on a universe
+ * domain.
+ */
+__isl_give isl_pw_multi_aff *isl_pw_multi_aff_from_multi_aff(
+       __isl_take isl_multi_aff *ma)
+{
+       isl_set *dom = isl_set_universe(isl_multi_aff_get_domain_space(ma));
+       return isl_pw_multi_aff_alloc(dom, ma);
+}
+
 __isl_give isl_multi_aff *isl_multi_aff_add(__isl_take isl_multi_aff *maff1,
        __isl_take isl_multi_aff *maff2)
 {