summaryrefslogtreecommitdiff
path: root/isl_output.c
diff options
context:
space:
mode:
authorSven Verdoolaege <skimo@kotnet.org>2010-02-20 22:02:50 +0100
committerSven Verdoolaege <skimo@kotnet.org>2010-03-04 14:24:35 +0100
commitc74ea89c636a8a750829aa48694c923675732b83 (patch)
treed2beffb2205c79eb5e8486896abcc00d5a5321b0 /isl_output.c
parentc9657f3f70f6b17c085ff5cb2ce5fd60e15e6c96 (diff)
downloadisl-c74ea89c636a8a750829aa48694c923675732b83.tar.gz
isl-c74ea89c636a8a750829aa48694c923675732b83.tar.bz2
isl-c74ea89c636a8a750829aa48694c923675732b83.zip
isl_map_print: extract out print_disjuncts
Diffstat (limited to 'isl_output.c')
-rw-r--r--isl_output.c39
1 files changed, 20 insertions, 19 deletions
diff --git a/isl_output.c b/isl_output.c
index 558ec8ac..83645177 100644
--- a/isl_output.c
+++ b/isl_output.c
@@ -451,19 +451,13 @@ static void isl_basic_set_print_isl(__isl_keep isl_basic_set *bset, FILE *out,
fprintf(out, " }%s\n", suffix ? suffix : "");
}
-static void isl_map_print_isl(__isl_keep isl_map *map, FILE *out, int indent)
+static void print_disjuncts(__isl_keep isl_map *map, FILE *out, int set)
{
int i;
- fprintf(out, "%*s", indent, "");
- if (isl_map_dim(map, isl_dim_param) > 0) {
- print_tuple(map->dim, out, isl_dim_param, 0);
- fprintf(out, " -> ");
- }
- fprintf(out, "{ ");
- print_tuple(map->dim, out, isl_dim_in, 0);
- fprintf(out, " -> ");
- print_tuple(map->dim, out, isl_dim_out, 0);
+ if (isl_map_fast_is_universe(map))
+ return;
+
fprintf(out, " : ");
if (map->n == 0)
fprintf(out, "1 = 0");
@@ -472,10 +466,24 @@ static void isl_map_print_isl(__isl_keep isl_map *map, FILE *out, int indent)
fprintf(out, " or ");
if (map->n > 1 && map->p[i]->n_eq + map->p[i]->n_ineq > 1)
fprintf(out, "(");
- print_disjunct(map->p[i], map->dim, out, 0);
+ print_disjunct(map->p[i], map->dim, out, set);
if (map->n > 1 && map->p[i]->n_eq + map->p[i]->n_ineq > 1)
fprintf(out, ")");
}
+}
+
+static void isl_map_print_isl(__isl_keep isl_map *map, FILE *out, int indent)
+{
+ fprintf(out, "%*s", indent, "");
+ if (isl_map_dim(map, isl_dim_param) > 0) {
+ print_tuple(map->dim, out, isl_dim_param, 0);
+ fprintf(out, " -> ");
+ }
+ fprintf(out, "{ ");
+ print_tuple(map->dim, out, isl_dim_in, 0);
+ fprintf(out, " -> ");
+ print_tuple(map->dim, out, isl_dim_out, 0);
+ print_disjuncts(map, out, 0);
fprintf(out, " }\n");
}
@@ -490,14 +498,7 @@ static void isl_set_print_isl(__isl_keep isl_set *set, FILE *out, int indent)
}
fprintf(out, "{ ");
print_tuple(set->dim, out, isl_dim_set, 1);
- fprintf(out, " : ");
- if (set->n == 0)
- fprintf(out, "1 = 0");
- for (i = 0; i < set->n; ++i) {
- if (i)
- fprintf(out, " or ");
- print_disjunct((isl_basic_map *)set->p[i], set->dim, out, 1);
- }
+ print_disjuncts((isl_map *)set, out, 1);
fprintf(out, " }\n");
}