diff options
author | Sven Verdoolaege <skimo@kotnet.org> | 2010-02-20 22:02:50 +0100 |
---|---|---|
committer | Sven Verdoolaege <skimo@kotnet.org> | 2010-03-04 14:24:35 +0100 |
commit | c74ea89c636a8a750829aa48694c923675732b83 (patch) | |
tree | d2beffb2205c79eb5e8486896abcc00d5a5321b0 /isl_output.c | |
parent | c9657f3f70f6b17c085ff5cb2ce5fd60e15e6c96 (diff) | |
download | isl-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.c | 39 |
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"); } |