1 #ifndef ISL_PRINTER_H 2 #define ISL_PRINTER_H 3 4 #include <stdio.h> 5 #include <isl/ctx.h> 6 7 #if defined(__cplusplus) 8 extern "C" { 9 #endif 10 11 struct isl_printer; 12 typedef struct isl_printer isl_printer; 13 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 void *isl_printer_free(__isl_take isl_printer *printer); 17 18 isl_ctx *isl_printer_get_ctx(__isl_keep isl_printer *printer); 19 FILE *isl_printer_get_file(__isl_keep isl_printer *printer); 20 21 __isl_give char *isl_printer_get_str(__isl_keep isl_printer *printer); 22 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); 27 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); 38 39 __isl_give isl_printer *isl_printer_set_prefix(__isl_take isl_printer *p, 40 const char *prefix); 41 __isl_give isl_printer *isl_printer_set_suffix(__isl_take isl_printer *p, 42 const char *suffix); 43 __isl_give isl_printer *isl_printer_set_isl_int_width(__isl_take isl_printer *p, 44 int width); 45 46 __isl_give isl_printer *isl_printer_start_line(__isl_take isl_printer *p); 47 __isl_give isl_printer *isl_printer_end_line(__isl_take isl_printer *p); 48 __isl_give isl_printer *isl_printer_print_double(__isl_take isl_printer *p, 49 double d); 50 __isl_give isl_printer *isl_printer_print_int(__isl_take isl_printer *p, int i); 51 __isl_give isl_printer *isl_printer_print_isl_int(__isl_take isl_printer *p, 52 isl_int i); 53 __isl_give isl_printer *isl_printer_print_str(__isl_take isl_printer *p, 54 const char *s); 55 56 __isl_give isl_printer *isl_printer_flush(__isl_take isl_printer *p); 57 58 #if defined(__cplusplus) 59 } 60 #endif 61 62 #endif 63