add isl_basic_{set,map}_dim
authorSven Verdoolaege <skimo@kotnet.org>
Sun, 28 Dec 2008 15:53:03 +0000 (16:53 +0100)
committerSven Verdoolaege <skimo@kotnet.org>
Sun, 28 Dec 2008 15:53:06 +0000 (16:53 +0100)
include/isl_map.h
include/isl_set.h
isl_constraint.c
isl_map.c

index 53d1f33..c4cb378 100644 (file)
@@ -97,6 +97,8 @@ 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,
+                               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);
index d1d4a25..63bb5e9 100644 (file)
@@ -63,6 +63,8 @@ struct isl_set {
 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_total_dim(const struct isl_basic_set *bset);
+unsigned isl_basic_set_dim(const struct 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);
index b83bb41..b16a7fb 100644 (file)
@@ -3,14 +3,7 @@
 
 static unsigned n(struct isl_constraint *c, enum isl_dim_type type)
 {
-       struct isl_dim *dim = c->bmap->dim;
-       switch (type) {
-       case isl_dim_param:     return dim->nparam;
-       case isl_dim_in:        return dim->n_in;
-       case isl_dim_out:       return dim->n_out;
-       case isl_dim_div:       return c->bmap->n_div;
-       case isl_dim_all:       return isl_basic_map_total_dim(c->bmap);
-       }
+       return isl_basic_map_dim(c->bmap, type);
 }
 
 static unsigned offset(struct isl_constraint *c, enum isl_dim_type type)
index 396b2a8..1677c75 100644 (file)
--- a/isl_map.c
+++ b/isl_map.c
@@ -90,6 +90,25 @@ static void isl_dim_map_dump(struct isl_dim_map *dim_map)
        fprintf(stderr, "\n");
 }
 
+unsigned isl_basic_map_dim(const struct isl_basic_map *bmap,
+                               enum isl_dim_type type)
+{
+       struct isl_dim *dim = bmap->dim;
+       switch (type) {
+       case isl_dim_param:     return dim->nparam;
+       case isl_dim_in:        return dim->n_in;
+       case isl_dim_out:       return dim->n_out;
+       case isl_dim_div:       return bmap->n_div;
+       case isl_dim_all:       return isl_basic_map_total_dim(bmap);
+       }
+}
+
+unsigned isl_basic_set_dim(const struct isl_basic_set *bset,
+                               enum isl_dim_type type)
+{
+       return isl_basic_map_dim((const struct isl_basic_map*)bset, type);
+}
+
 unsigned isl_basic_set_n_dim(const struct isl_basic_set *bset)
 {
        return bset->dim->n_out;