add isl_dim_dump
authorSven Verdoolaege <skimo@kotnet.org>
Mon, 20 Jun 2011 13:54:42 +0000 (15:54 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Mon, 20 Jun 2011 15:50:40 +0000 (17:50 +0200)
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
include/isl/dim.h
isl_output.c

index ed6b8f9..5cb2664 100644 (file)
@@ -11,6 +11,7 @@
 #define ISL_DIM_H
 
 #include <isl/ctx.h>
+#include <isl/printer.h>
 
 #if defined(__cplusplus)
 extern "C" {
@@ -96,6 +97,10 @@ int isl_dim_compatible(struct isl_dim *dim1, struct isl_dim *dim2);
 unsigned isl_dim_size(__isl_keep isl_dim *dim, enum isl_dim_type type);
 unsigned isl_dim_total(struct isl_dim *dim);
 
+__isl_give isl_printer *isl_printer_print_dim(__isl_take isl_printer *p,
+       __isl_keep isl_dim *dim);
+void isl_dim_dump(__isl_keep isl_dim *dim);
+
 #if defined(__cplusplus)
 }
 #endif
index 8a2febd..bfd6457 100644 (file)
@@ -2120,6 +2120,43 @@ void isl_constraint_dump(__isl_keep isl_constraint *c)
        isl_printer_free(printer);
 }
 
+__isl_give isl_printer *isl_printer_print_dim(__isl_take isl_printer *p,
+       __isl_keep isl_dim *dim)
+{
+       if (!dim)
+               goto error;
+
+       if (isl_dim_size(dim, isl_dim_param) > 0) {
+               p = print_tuple(dim, p, isl_dim_param, 0, 0, NULL);
+               p = isl_printer_print_str(p, " -> ");
+       }
+
+       p = isl_printer_print_str(p, "{ ");
+       p = print_tuple(dim, p, isl_dim_in, 0, 0, NULL);
+       p = isl_printer_print_str(p, " -> ");
+       p = print_tuple(dim, p, isl_dim_out, 0, 0, NULL);
+       p = isl_printer_print_str(p, " }");
+
+       return p;
+error:
+       isl_printer_free(p);
+       return NULL;
+}
+
+void isl_dim_dump(__isl_keep isl_dim *dim)
+{
+       isl_printer *printer;
+
+       if (!dim)
+               return;
+
+       printer = isl_printer_to_file(isl_dim_get_ctx(dim), stderr);
+       printer = isl_printer_print_dim(printer, dim);
+       printer = isl_printer_end_line(printer);
+
+       isl_printer_free(printer);
+}
+
 __isl_give isl_printer *isl_printer_print_local_space(__isl_take isl_printer *p,
        __isl_keep isl_local_space *ls)
 {