document isl_map_dim
authorSven Verdoolaege <skimo@kotnet.org>
Thu, 11 Aug 2011 15:36:19 +0000 (17:36 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Thu, 11 Aug 2011 15:38:47 +0000 (17:38 +0200)
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
doc/user.pod
include/isl/map.h
include/isl/set.h
isl_map.c

index 45bbfaf..0ace5aa 100644 (file)
@@ -1304,6 +1304,18 @@ different kinds of variables appear in the resulting matrix
 and should be a permutation of C<isl_dim_cst>, C<isl_dim_param>,
 C<isl_dim_in>, C<isl_dim_out> and C<isl_dim_div>.
 
+The number of parameters, input, output or set dimensions can
+be obtained using the following functions.
+
+       unsigned isl_basic_set_dim(__isl_keep isl_basic_set *bset,
+               enum isl_dim_type type);
+       unsigned isl_basic_map_dim(__isl_keep isl_basic_map *bmap,
+               enum isl_dim_type type);
+       unsigned isl_set_dim(__isl_keep isl_set *set,
+               enum isl_dim_type type);
+       unsigned isl_map_dim(__isl_keep isl_map *map,
+               enum isl_dim_type type);
+
 To check whether the description of a set or relation depends
 on one or more given dimensions, it is not necessary to iterate over all
 constraints.  Instead the following functions can be used.
index 88bd7a4..410c4f0 100644 (file)
@@ -48,13 +48,13 @@ unsigned isl_basic_map_n_out(const struct isl_basic_map *bmap);
 unsigned isl_basic_map_n_param(const struct isl_basic_map *bmap);
 unsigned isl_basic_map_n_div(const struct isl_basic_map *bmap);
 unsigned isl_basic_map_total_dim(const struct isl_basic_map *bmap);
-unsigned isl_basic_map_dim(const struct isl_basic_map *bmap,
+unsigned isl_basic_map_dim(__isl_keep isl_basic_map *bmap,
                                enum isl_dim_type type);
 
 unsigned isl_map_n_in(const struct isl_map *map);
 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);
+unsigned isl_map_dim(__isl_keep isl_map *map, enum isl_dim_type type);
 
 isl_ctx *isl_basic_map_get_ctx(__isl_keep isl_basic_map *bmap);
 isl_ctx *isl_map_get_ctx(__isl_keep isl_map *map);
index 8cb96f8..ba5174f 100644 (file)
 extern "C" {
 #endif
 
-unsigned isl_basic_set_n_dim(const struct isl_basic_set *bset);
-unsigned isl_basic_set_n_param(const struct isl_basic_set *bset);
+unsigned isl_basic_set_n_dim(__isl_keep isl_basic_set *bset);
+unsigned isl_basic_set_n_param(__isl_keep isl_basic_set *bset);
 unsigned isl_basic_set_total_dim(const struct isl_basic_set *bset);
-unsigned isl_basic_set_dim(const struct isl_basic_set *bset,
+unsigned isl_basic_set_dim(__isl_keep isl_basic_set *bset,
                                enum isl_dim_type type);
 
-unsigned isl_set_n_dim(const struct isl_set *set);
-unsigned isl_set_n_param(const struct isl_set *set);
-unsigned isl_set_dim(const struct isl_set *set, enum isl_dim_type type);
+unsigned isl_set_n_dim(__isl_keep isl_set *set);
+unsigned isl_set_n_param(__isl_keep isl_set *set);
+unsigned isl_set_dim(__isl_keep isl_set *set, enum isl_dim_type type);
 
 isl_ctx *isl_basic_set_get_ctx(__isl_keep isl_basic_set *bset);
 isl_ctx *isl_set_get_ctx(__isl_keep isl_set *set);
index d616cd5..7bf1e10 100644 (file)
--- a/isl_map.c
+++ b/isl_map.c
@@ -52,7 +52,7 @@ static unsigned pos(struct isl_dim *dim, enum isl_dim_type type)
        }
 }
 
-unsigned isl_basic_map_dim(const struct isl_basic_map *bmap,
+unsigned isl_basic_map_dim(__isl_keep isl_basic_map *bmap,
                                enum isl_dim_type type)
 {
        if (!bmap)
@@ -68,12 +68,12 @@ unsigned isl_basic_map_dim(const struct isl_basic_map *bmap,
        }
 }
 
-unsigned isl_map_dim(const struct isl_map *map, enum isl_dim_type type)
+unsigned isl_map_dim(__isl_keep isl_map *map, enum isl_dim_type type)
 {
        return map ? n(map->dim, type) : 0;
 }
 
-unsigned isl_set_dim(const struct isl_set *set, enum isl_dim_type type)
+unsigned isl_set_dim(__isl_keep isl_set *set, enum isl_dim_type type)
 {
        return set ? n(set->dim, type) : 0;
 }
@@ -103,18 +103,18 @@ static unsigned map_offset(struct isl_map *map, enum isl_dim_type type)
        return pos(map->dim, type);
 }
 
-unsigned isl_basic_set_dim(const struct isl_basic_set *bset,
+unsigned isl_basic_set_dim(__isl_keep isl_basic_set *bset,
                                enum isl_dim_type type)
 {
-       return isl_basic_map_dim((const struct isl_basic_map*)bset, type);
+       return isl_basic_map_dim(bset, type);
 }
 
-unsigned isl_basic_set_n_dim(const struct isl_basic_set *bset)
+unsigned isl_basic_set_n_dim(__isl_keep isl_basic_set *bset)
 {
        return isl_basic_set_dim(bset, isl_dim_set);
 }
 
-unsigned isl_basic_set_n_param(const struct isl_basic_set *bset)
+unsigned isl_basic_set_n_param(__isl_keep isl_basic_set *bset)
 {
        return isl_basic_set_dim(bset, isl_dim_param);
 }
@@ -124,12 +124,12 @@ unsigned isl_basic_set_total_dim(const struct isl_basic_set *bset)
        return isl_dim_total(bset->dim) + bset->n_div;
 }
 
-unsigned isl_set_n_dim(const struct isl_set *set)
+unsigned isl_set_n_dim(__isl_keep isl_set *set)
 {
        return isl_set_dim(set, isl_dim_set);
 }
 
-unsigned isl_set_n_param(const struct isl_set *set)
+unsigned isl_set_n_param(__isl_keep isl_set *set)
 {
        return isl_set_dim(set, isl_dim_param);
 }