+static __isl_give isl_printer *print_tuple(__isl_keep isl_dim *dim,
+ __isl_take isl_printer *p, enum isl_dim_type type,
+ int set, int latex, __isl_keep isl_basic_map *eq)
+{
+ return print_nested_tuple(p, dim, type, dim, type, set, latex, eq, 0);
+}
+
+static __isl_give isl_printer *print_nested_map_dim(__isl_take isl_printer *p,
+ __isl_keep isl_dim *global_dim, enum isl_dim_type global_type,
+ __isl_keep isl_dim *local_dim,
+ int set, int latex, __isl_keep isl_basic_map *eq, int offset)
+{
+ p = print_nested_tuple(p, global_dim, global_type,
+ local_dim, isl_dim_in, set, latex, eq, offset);
+ p = isl_printer_print_str(p, s_to[latex]);
+ p = print_nested_tuple(p, global_dim, global_type,
+ local_dim, isl_dim_out, set, latex, eq, offset);
+
+ return p;
+}
+
+static __isl_give isl_printer *print_dim(__isl_keep isl_dim *dim,
+ __isl_take isl_printer *p, int set, int latex,
+ __isl_keep isl_basic_map *eq)
+{
+ if (set)
+ p = print_tuple(dim, p, isl_dim_set, 1, latex, eq);
+ else {
+ p = print_tuple(dim, p, isl_dim_in, 0, latex, eq);
+ p = isl_printer_print_str(p, s_to[latex]);
+ p = print_tuple(dim, p, isl_dim_out, 0, latex, eq);
+ }
+
+ return p;
+}
+