add isl_printer_print_constraint
authorSven Verdoolaege <skimo@kotnet.org>
Fri, 29 Apr 2011 09:52:39 +0000 (11:52 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Fri, 29 Apr 2011 09:53:46 +0000 (11:53 +0200)
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
include/isl/constraint.h
isl_output.c

index 6f31b53..9230e39 100644 (file)
@@ -12,6 +12,7 @@
 
 #include <isl/div.h>
 #include <isl/set.h>
+#include <isl/printer.h>
 
 #if defined(__cplusplus)
 extern "C" {
@@ -106,6 +107,10 @@ __isl_give isl_basic_map *isl_basic_map_from_constraint(
 struct isl_basic_set *isl_basic_set_from_constraint(
        struct isl_constraint *constraint);
 
+__isl_give isl_printer *isl_printer_print_constraint(__isl_take isl_printer *p,
+       __isl_keep isl_constraint *c);
+void isl_constraint_dump(__isl_keep isl_constraint *c);
+
 #if defined(__cplusplus)
 }
 #endif
index d62d4a4..e0858de 100644 (file)
@@ -21,6 +21,7 @@
 #include <isl_dim_private.h>
 #include <isl_mat_private.h>
 #include <isl/union_map.h>
+#include <isl/constraint.h>
 
 static const char *s_to[2] = { " -> ", " \\to " };
 static const char *s_and[2] = { " and ", " \\wedge " };
@@ -2041,3 +2042,34 @@ error:
        isl_printer_free(p);
        return NULL;
 }
+
+__isl_give isl_printer *isl_printer_print_constraint(__isl_take isl_printer *p,
+       __isl_keep isl_constraint *c)
+{
+       isl_basic_map *bmap;
+
+       if (!p || !c)
+               goto error;
+
+       bmap = isl_basic_map_from_constraint(isl_constraint_copy(c));
+       p = isl_printer_print_basic_map(p, bmap);
+       isl_basic_map_free(bmap);
+       return p;
+error:
+       isl_printer_free(p);
+       return NULL;
+}
+
+void isl_constraint_dump(__isl_keep isl_constraint *c)
+{
+       isl_printer *printer;
+
+       if (!c)
+               return;
+
+       printer = isl_printer_to_file(isl_constraint_get_ctx(c), stderr);
+       printer = isl_printer_print_constraint(printer, c);
+       printer = isl_printer_end_line(printer);
+
+       isl_printer_free(printer);
+}