1 #ifndef ISL_POINT_H 2 #define ISL_POINT_H 3 4 #include <stdio.h> 5 #include <isl/space_type.h> 6 #include <isl/val_type.h> 7 8 #if defined(__cplusplus) 9 extern "C" { 10 #endif 11 12 struct __isl_subclass(isl_basic_set) isl_point; 13 typedef struct isl_point isl_point; 14 15 isl_ctx *isl_point_get_ctx(__isl_keep isl_point *pnt); 16 __isl_give isl_space *isl_point_get_space(__isl_keep isl_point *pnt); 17 18 __isl_give isl_point *isl_point_zero(__isl_take isl_space *space); 19 __isl_give isl_point *isl_point_copy(__isl_keep isl_point *pnt); 20 __isl_null isl_point *isl_point_free(__isl_take isl_point *pnt); 21 22 __isl_give isl_val *isl_point_get_coordinate_val(__isl_keep isl_point *pnt, 23 enum isl_dim_type type, int pos); 24 __isl_give isl_point *isl_point_set_coordinate_val(__isl_take isl_point *pnt, 25 enum isl_dim_type type, int pos, __isl_take isl_val *v); 26 __isl_export 27 __isl_give isl_multi_val *isl_point_get_multi_val(__isl_keep isl_point *pnt); 28 29 __isl_give isl_point *isl_point_add_ui(__isl_take isl_point *pnt, 30 enum isl_dim_type type, int pos, unsigned val); 31 __isl_give isl_point *isl_point_sub_ui(__isl_take isl_point *pnt, 32 enum isl_dim_type type, int pos, unsigned val); 33 34 __isl_give isl_point *isl_point_void(__isl_take isl_space *space); 35 isl_bool isl_point_is_void(__isl_keep isl_point *pnt); 36 37 __isl_give isl_printer *isl_printer_print_point( 38 __isl_take isl_printer *printer, __isl_keep isl_point *pnt); 39 __isl_give char *isl_point_to_str(__isl_keep isl_point *pnt); 40 void isl_point_dump(__isl_keep isl_point *pnt); 41 42 #if defined(__cplusplus) 43 } 44 #endif 45 46 #endif 47