add isl_printer_indent
authorSven Verdoolaege <skimo@kotnet.org>
Sun, 29 May 2011 15:20:36 +0000 (17:20 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Sat, 4 Jun 2011 11:19:23 +0000 (13:19 +0200)
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
doc/user.pod
include/isl/printer.h
isl_printer.c

index cb826c0..4ae362c 100644 (file)
@@ -724,6 +724,8 @@ The behavior of the printer can be modified in various ways
                __isl_take isl_printer *p, int output_format);
        __isl_give isl_printer *isl_printer_set_indent(
                __isl_take isl_printer *p, int indent);
+       __isl_give isl_printer *isl_printer_indent(
+               __isl_take isl_printer *p, int indent);
        __isl_give isl_printer *isl_printer_set_prefix(
                __isl_take isl_printer *p, const char *prefix);
        __isl_give isl_printer *isl_printer_set_suffix(
@@ -732,12 +734,15 @@ The behavior of the printer can be modified in various ways
 The C<output_format> may be either C<ISL_FORMAT_ISL>, C<ISL_FORMAT_OMEGA>,
 C<ISL_FORMAT_POLYLIB>, C<ISL_FORMAT_EXT_POLYLIB> or C<ISL_FORMAT_LATEX>
 and defaults to C<ISL_FORMAT_ISL>.
-Each line in the output is indented by C<indent> spaces
+Each line in the output is indented by C<indent> (set by
+C<isl_printer_set_indent>) spaces
 (default: 0), prefixed by C<prefix> and suffixed by C<suffix>.
 In the C<PolyLib> format output,
 the coefficients of the existentially quantified variables
 appear between those of the set variables and those
 of the parameters.
+The function C<isl_printer_indent> increases the indentation
+by the specified amount (which may be negative).
 
 To actually print something, use
 
index 1af408f..35df17d 100644 (file)
@@ -19,6 +19,8 @@ __isl_give char *isl_printer_get_str(__isl_keep isl_printer *printer);
 
 __isl_give isl_printer *isl_printer_set_indent(__isl_take isl_printer *p,
        int indent);
+__isl_give isl_printer *isl_printer_indent(__isl_take isl_printer *p,
+       int indent);
 
 #define ISL_FORMAT_ISL                 0
 #define ISL_FORMAT_POLYLIB             1
index 42130c1..15da209 100644 (file)
@@ -257,6 +257,19 @@ __isl_give isl_printer *isl_printer_set_indent(__isl_take isl_printer *p,
        return p;
 }
 
+__isl_give isl_printer *isl_printer_indent(__isl_take isl_printer *p,
+       int indent)
+{
+       if (!p)
+               return NULL;
+
+       p->indent += indent;
+       if (p->indent < 0)
+               p->indent = 0;
+
+       return p;
+}
+
 __isl_give isl_printer *isl_printer_set_prefix(__isl_take isl_printer *p,
        const char *prefix)
 {