add isl_basic_set_set_tuple_id
authorSven Verdoolaege <skimo@kotnet.org>
Mon, 7 Oct 2013 20:16:33 +0000 (7 22:16 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Fri, 18 Oct 2013 14:43:05 +0000 (18 16:43 +0200)
Tested-by: Michael Kruse <meinersbur@googlemail.com>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
doc/user.pod
include/isl/map.h
include/isl/set.h
isl_map.c

index e2b7431..b09171b 100644 (file)
@@ -1813,6 +1813,9 @@ use the following functions instead.
 The identifiers or names of the domain and range spaces of a set
 or relation can be read off or set using the following functions.
 
+       __isl_give isl_basic_set *isl_basic_set_set_tuple_id(
+               __isl_take isl_basic_set *bset,
+               __isl_take isl_id *id);
        __isl_give isl_set *isl_set_set_tuple_id(
                __isl_take isl_set *set, __isl_take isl_id *id);
        __isl_give isl_set *isl_set_reset_tuple_id(
@@ -1820,6 +1823,9 @@ or relation can be read off or set using the following functions.
        int isl_set_has_tuple_id(__isl_keep isl_set *set);
        __isl_give isl_id *isl_set_get_tuple_id(
                __isl_keep isl_set *set);
+       __isl_give isl_basic_map *isl_basic_map_set_tuple_id(
+               __isl_take isl_basic_map *bmap,
+               enum isl_dim_type type, __isl_take isl_id *id);
        __isl_give isl_map *isl_map_set_tuple_id(
                __isl_take isl_map *map, enum isl_dim_type type,
                __isl_take isl_id *id);
index 265169c..709dce1 100644 (file)
@@ -86,6 +86,9 @@ __isl_give isl_basic_map *isl_basic_map_set_dim_name(
 __isl_give isl_map *isl_map_set_dim_name(__isl_take isl_map *map,
        enum isl_dim_type type, unsigned pos, const char *s);
 
+__isl_give isl_basic_map *isl_basic_map_set_tuple_id(
+       __isl_take isl_basic_map *bmap,
+       enum isl_dim_type type, __isl_take isl_id *id);
 __isl_give isl_map *isl_map_set_dim_id(__isl_take isl_map *map,
        enum isl_dim_type type, unsigned pos, __isl_take isl_id *id);
 int isl_basic_map_has_dim_id(__isl_keep isl_basic_map *bmap,
index 9d90c14..d4042a2 100644 (file)
@@ -66,6 +66,8 @@ __isl_give isl_set *isl_set_set_dim_name(__isl_take isl_set *set,
 
 __isl_give isl_id *isl_basic_set_get_dim_id(__isl_keep isl_basic_set *bset,
        enum isl_dim_type type, unsigned pos);
+__isl_give isl_basic_set *isl_basic_set_set_tuple_id(
+       __isl_take isl_basic_set *bset, __isl_take isl_id *id);
 __isl_give isl_set *isl_set_set_dim_id(__isl_take isl_set *set,
        enum isl_dim_type type, unsigned pos, __isl_take isl_id *id);
 int isl_set_has_dim_id(__isl_keep isl_set *set,
index 6bebe6d..7e68a65 100644 (file)
--- a/isl_map.c
+++ b/isl_map.c
@@ -418,6 +418,30 @@ error:
        return NULL;
 }
 
+/* Replace the identifier of the tuple of type "type" by "id".
+ */
+__isl_give isl_basic_map *isl_basic_map_set_tuple_id(
+       __isl_take isl_basic_map *bmap,
+       enum isl_dim_type type, __isl_take isl_id *id)
+{
+       bmap = isl_basic_map_cow(bmap);
+       if (!bmap)
+               return isl_id_free(id);
+       bmap->dim = isl_space_set_tuple_id(bmap->dim, type, id);
+       if (!bmap->dim)
+               return isl_basic_map_free(bmap);
+       bmap = isl_basic_map_finalize(bmap);
+       return bmap;
+}
+
+/* Replace the identifier of the tuple by "id".
+ */
+__isl_give isl_basic_set *isl_basic_set_set_tuple_id(
+       __isl_take isl_basic_set *bset, __isl_take isl_id *id)
+{
+       return isl_basic_map_set_tuple_id(bset, isl_dim_set, id);
+}
+
 /* Does the input or output tuple have a name?
  */
 int isl_map_has_tuple_name(__isl_keep isl_map *map, enum isl_dim_type type)