From c74ea89c636a8a750829aa48694c923675732b83 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Sat, 20 Feb 2010 22:02:50 +0100 Subject: [PATCH] isl_map_print: extract out print_disjuncts --- isl_output.c | 39 ++++++++++++++++++++------------------- 1 file 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"); } -- 2.11.4.GIT