add isl_basic_map_image_is_bounded
[platform/upstream/isl.git] / include / isl_map.h
index 9c66f2d..ce41c43 100644 (file)
@@ -122,9 +122,14 @@ unsigned isl_map_n_out(const struct isl_map *map);
 unsigned isl_map_n_param(const struct isl_map *map);
 unsigned isl_map_dim(const struct isl_map *map, enum isl_dim_type type);
 
+isl_ctx *isl_map_get_ctx(__isl_keep isl_map *map);
 __isl_give isl_dim *isl_basic_map_get_dim(__isl_keep isl_basic_map *bmap);
 __isl_give isl_dim *isl_map_get_dim(__isl_keep isl_map *map);
 
+__isl_give isl_basic_map *isl_basic_map_set_tuple_name(
+       __isl_take isl_basic_map *bmap, enum isl_dim_type type, const char *s);
+__isl_give isl_map *isl_map_set_tuple_name(__isl_take isl_map *map,
+       enum isl_dim_type type, const char *s);
 __isl_give isl_basic_map *isl_basic_map_set_dim_name(
        __isl_take isl_basic_map *bmap,
        enum isl_dim_type type, unsigned pos, const char *s);
@@ -156,7 +161,8 @@ struct isl_basic_map *isl_basic_map_empty_like_map(struct isl_map *model);
 __isl_give isl_basic_map *isl_basic_map_universe(__isl_take isl_dim *dim);
 __isl_give isl_basic_map *isl_basic_map_universe_like(
                __isl_keep isl_basic_map *bmap);
-struct isl_basic_map *isl_basic_map_convex_hull(struct isl_basic_map *bmap);
+__isl_give isl_basic_map *isl_basic_map_remove_redundancies(
+       __isl_take isl_basic_map *bmap);
 __isl_give isl_basic_map *isl_map_simple_hull(__isl_take isl_map *map);
 
 __isl_give isl_basic_map *isl_basic_map_intersect_domain(
@@ -257,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);
@@ -332,6 +339,10 @@ __isl_give isl_map *isl_map_add(__isl_take isl_map *map,
                enum isl_dim_type type, unsigned n);
 __isl_give isl_map *isl_map_insert(__isl_take isl_map *map,
                enum isl_dim_type type, unsigned pos, unsigned n);
+__isl_give isl_basic_map *isl_basic_map_move_dims(
+       __isl_take isl_basic_map *bmap,
+       enum isl_dim_type dst_type, unsigned dst_pos,
+       enum isl_dim_type src_type, unsigned src_pos, unsigned n);
 __isl_give isl_map *isl_map_move_dims(__isl_take isl_map *map,
        enum isl_dim_type dst_type, unsigned dst_pos,
        enum isl_dim_type src_type, unsigned src_pos, unsigned n);
@@ -363,7 +374,9 @@ int isl_map_is_subset(__isl_keep isl_map *map1, __isl_keep isl_map *map2);
 int isl_map_is_strict_subset(__isl_keep isl_map *map1, __isl_keep isl_map *map2);
 int isl_map_is_equal(__isl_keep isl_map *map1, __isl_keep isl_map *map2);
 int isl_map_is_single_valued(__isl_keep isl_map *map);
+int isl_map_is_bijective(__isl_keep isl_map *map);
 int isl_map_is_translation(__isl_keep isl_map *map);
+int isl_map_has_equal_dim(__isl_keep isl_map *map1, __isl_keep isl_map *map2);
 
 __isl_give isl_map *isl_map_make_disjoint(__isl_take isl_map *map);
 __isl_give isl_map *isl_basic_map_compute_divs(__isl_take isl_basic_map *bmap);
@@ -395,6 +408,8 @@ __isl_give isl_map *isl_set_lifting(__isl_take isl_set *set);
 
 __isl_give isl_map *isl_map_power(__isl_take isl_map *map, unsigned param,
        int *exact);
+__isl_give isl_map *isl_map_reaching_path_lengths(__isl_take isl_map *map,
+       int *exact);
 __isl_give isl_map *isl_map_transitive_closure(__isl_take isl_map *map,
        int *exact);