add isl_basic_map_image_is_bounded
authorSven Verdoolaege <skimo@kotnet.org>
Wed, 4 Aug 2010 13:22:57 +0000 (15:22 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Wed, 4 Aug 2010 20:56:05 +0000 (22:56 +0200)
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
include/isl_map.h
isl_convex_hull.c

index 0d333cf..ce41c43 100644 (file)
@@ -263,6 +263,7 @@ __isl_give isl_map *isl_map_drop_basic_map(__isl_take isl_map *map,
 int isl_basic_map_fast_is_fixed(struct isl_basic_map *bmap,
        enum isl_dim_type type, unsigned pos, isl_int *val);
 
+int isl_basic_map_image_is_bounded(__isl_keep isl_basic_map *bmap);
 int isl_basic_map_is_universe(__isl_keep isl_basic_map *bmap);
 int isl_basic_map_fast_is_empty(__isl_keep isl_basic_map *bmap);
 int isl_basic_map_is_empty(__isl_keep isl_basic_map *bmap);
index 663f142..90720e5 100644 (file)
@@ -898,6 +898,25 @@ int isl_basic_set_is_bounded(__isl_keep isl_basic_set *bset)
        return bounded;
 }
 
+/* Is the image bounded for each value of the parameters and
+ * the domain variables?
+ */
+int isl_basic_map_image_is_bounded(__isl_keep isl_basic_map *bmap)
+{
+       unsigned nparam = isl_basic_map_dim(bmap, isl_dim_param);
+       unsigned n_in = isl_basic_map_dim(bmap, isl_dim_in);
+       int bounded;
+
+       bmap = isl_basic_map_copy(bmap);
+       bmap = isl_basic_map_cow(bmap);
+       bmap = isl_basic_map_move_dims(bmap, isl_dim_param, nparam,
+                                       isl_dim_in, 0, n_in);
+       bounded = isl_basic_set_is_bounded((isl_basic_set *)bmap);
+       isl_basic_map_free(bmap);
+
+       return bounded;
+}
+
 /* Is the set bounded for each value of the parameters?
  */
 int isl_set_is_bounded(__isl_keep isl_set *set)