From 591e2c7603f44d15922d46c4882ff7f540bb193d Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Fri, 25 Oct 2013 15:51:59 +0200 Subject: [PATCH] add isl_map_preimage_range_pw_multi_aff Signed-off-by: Sven Verdoolaege --- doc/user.pod | 4 ++++ include/isl/map.h | 2 ++ isl_map.c | 12 ++++++++++++ 3 files changed, 18 insertions(+) diff --git a/doc/user.pod b/doc/user.pod index 479d6ff7..c42dbfe1 100644 --- a/doc/user.pod +++ b/doc/user.pod @@ -3089,6 +3089,10 @@ a parametric set as well. __isl_take isl_map *map, __isl_take isl_pw_multi_aff *pma); __isl_give isl_map * + isl_map_preimage_range_pw_multi_aff( + __isl_take isl_map *map, + __isl_take isl_pw_multi_aff *pma); + __isl_give isl_map * isl_map_preimage_domain_multi_pw_aff( __isl_take isl_map *map, __isl_take isl_multi_pw_aff *mpa); diff --git a/include/isl/map.h b/include/isl/map.h index aea5e8ca..465e7244 100644 --- a/include/isl/map.h +++ b/include/isl/map.h @@ -356,6 +356,8 @@ __isl_give isl_map *isl_map_preimage_domain_multi_aff(__isl_take isl_map *map, __isl_take isl_multi_aff *ma); __isl_give isl_map *isl_map_preimage_domain_pw_multi_aff( __isl_take isl_map *map, __isl_take isl_pw_multi_aff *pma); +__isl_give isl_map *isl_map_preimage_range_pw_multi_aff( + __isl_take isl_map *map, __isl_take isl_pw_multi_aff *pma); __isl_give isl_map *isl_map_preimage_domain_multi_pw_aff( __isl_take isl_map *map, __isl_take isl_multi_pw_aff *mpa); __isl_give isl_basic_map *isl_basic_map_product( diff --git a/isl_map.c b/isl_map.c index 4ac34831..fc00e865 100644 --- a/isl_map.c +++ b/isl_map.c @@ -12291,6 +12291,18 @@ __isl_give isl_map *isl_map_preimage_domain_pw_multi_aff( return isl_map_preimage_pw_multi_aff(map, isl_dim_in, pma); } +/* Compute the preimage of the range of "map" under the function + * represented by "pma". + * In other words, plug in "pma" in the range of "map". + * The result is a map that lives in the same space as "map", + * except that range space has been replaced by the domain space of "pma". + */ +__isl_give isl_map *isl_map_preimage_range_pw_multi_aff( + __isl_take isl_map *map, __isl_take isl_pw_multi_aff *pma) +{ + return isl_map_preimage_pw_multi_aff(map, isl_dim_out, pma); +} + /* Compute the preimage of "map" under the function represented by "mpa". * In other words, plug in "mpa" in the domain or range of "map". * The result is a map that lives in the same space as "map", -- 2.11.4.GIT