From: Sven Verdoolaege Date: Tue, 20 Mar 2012 12:23:21 +0000 (+0100) Subject: add isl_pw_multi_aff_from_multi_aff X-Git-Tag: isl-0.10~63 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=df0e216f033aeece4b6ff7e4919068bbd4ddb75b;p=platform%2Fupstream%2Fisl.git add isl_pw_multi_aff_from_multi_aff Signed-off-by: Sven Verdoolaege --- diff --git a/doc/user.pod b/doc/user.pod index 593572f..dcc1161 100644 --- a/doc/user.pod +++ b/doc/user.pod @@ -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 @@ -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); diff --git a/include/isl/aff.h b/include/isl/aff.h index 7f142dc..4ef0078 100644 --- a/include/isl/aff.h +++ b/include/isl/aff.h @@ -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( diff --git a/isl_aff.c b/isl_aff.c index 8ddd78c..ae72c2e 100644 --- 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) {