isl_ast_build_expr_from_set_internal: only exploit individual earlier disjuncts
[isl.git] / include / isl / printer.h
blobf5b2f43ca5ee253078fd90096021c3947d71957d
1 #ifndef ISL_PRINTER_H
2 #define ISL_PRINTER_H
4 #include <stdio.h>
5 #include <isl/ctx.h>
7 #if defined(__cplusplus)
8 extern "C" {
9 #endif
11 struct isl_printer;
12 typedef struct isl_printer isl_printer;
14 __isl_give isl_printer *isl_printer_to_file(isl_ctx *ctx, FILE *file);
15 __isl_give isl_printer *isl_printer_to_str(isl_ctx *ctx);
16 __isl_null isl_printer *isl_printer_free(__isl_take isl_printer *printer);
18 isl_ctx *isl_printer_get_ctx(__isl_keep isl_printer *printer);
19 FILE *isl_printer_get_file(__isl_keep isl_printer *printer);
21 __isl_give char *isl_printer_get_str(__isl_keep isl_printer *printer);
23 __isl_give isl_printer *isl_printer_set_indent(__isl_take isl_printer *p,
24 int indent);
25 __isl_give isl_printer *isl_printer_indent(__isl_take isl_printer *p,
26 int indent);
28 #define ISL_FORMAT_ISL 0
29 #define ISL_FORMAT_POLYLIB 1
30 #define ISL_FORMAT_POLYLIB_CONSTRAINTS 2
31 #define ISL_FORMAT_OMEGA 3
32 #define ISL_FORMAT_C 4
33 #define ISL_FORMAT_LATEX 5
34 #define ISL_FORMAT_EXT_POLYLIB 6
35 __isl_give isl_printer *isl_printer_set_output_format(__isl_take isl_printer *p,
36 int output_format);
37 int isl_printer_get_output_format(__isl_keep isl_printer *p);
39 #define ISL_YAML_STYLE_BLOCK 0
40 #define ISL_YAML_STYLE_FLOW 1
41 __isl_give isl_printer *isl_printer_set_yaml_style(__isl_take isl_printer *p,
42 int yaml_style);
43 int isl_printer_get_yaml_style(__isl_keep isl_printer *p);
45 __isl_give isl_printer *isl_printer_set_indent_prefix(__isl_take isl_printer *p,
46 const char *prefix);
47 __isl_give isl_printer *isl_printer_set_prefix(__isl_take isl_printer *p,
48 const char *prefix);
49 __isl_give isl_printer *isl_printer_set_suffix(__isl_take isl_printer *p,
50 const char *suffix);
51 __isl_give isl_printer *isl_printer_set_isl_int_width(__isl_take isl_printer *p,
52 int width);
54 __isl_give isl_printer *isl_printer_start_line(__isl_take isl_printer *p);
55 __isl_give isl_printer *isl_printer_end_line(__isl_take isl_printer *p);
56 __isl_give isl_printer *isl_printer_print_double(__isl_take isl_printer *p,
57 double d);
58 __isl_give isl_printer *isl_printer_print_int(__isl_take isl_printer *p, int i);
59 __isl_give isl_printer *isl_printer_print_str(__isl_take isl_printer *p,
60 const char *s);
62 __isl_give isl_printer *isl_printer_yaml_start_mapping(
63 __isl_take isl_printer *p);
64 __isl_give isl_printer *isl_printer_yaml_end_mapping(
65 __isl_take isl_printer *p);
66 __isl_give isl_printer *isl_printer_yaml_start_sequence(
67 __isl_take isl_printer *p);
68 __isl_give isl_printer *isl_printer_yaml_end_sequence(
69 __isl_take isl_printer *p);
70 __isl_give isl_printer *isl_printer_yaml_next(__isl_take isl_printer *p);
72 __isl_give isl_printer *isl_printer_flush(__isl_take isl_printer *p);
74 #if defined(__cplusplus)
76 #endif
78 #endif