dc8b88d630eecd16e9777d0c2e44f283d8eefa84
[platform/upstream/isl.git] / include / isl / point.h
1 #ifndef ISL_POINT_H
2 #define ISL_POINT_H
3
4 #include <stdio.h>
5 #include <isl/dim.h>
6
7 #if defined(__cplusplus)
8 extern "C" {
9 #endif
10
11 struct isl_point;
12 typedef struct isl_point isl_point;
13
14 isl_ctx *isl_point_get_ctx(__isl_keep isl_point *pnt);
15
16 __isl_give isl_point *isl_point_zero(__isl_take isl_dim *dim);
17 __isl_give isl_point *isl_point_copy(__isl_keep isl_point *pnt);
18 void isl_point_free(__isl_take isl_point *pnt);
19
20 void isl_point_get_coordinate(__isl_keep isl_point *pnt,
21         enum isl_dim_type type, int pos, isl_int *v);
22 __isl_give isl_point *isl_point_set_coordinate(__isl_take isl_point *pnt,
23         enum isl_dim_type type, int pos, isl_int v);
24
25 __isl_give isl_point *isl_point_add_ui(__isl_take isl_point *pnt,
26         enum isl_dim_type type, int pos, unsigned val);
27 __isl_give isl_point *isl_point_sub_ui(__isl_take isl_point *pnt,
28         enum isl_dim_type type, int pos, unsigned val);
29
30 __isl_give isl_point *isl_point_void(__isl_take isl_dim *dim);
31 int isl_point_is_void(__isl_keep isl_point *pnt);
32
33 void isl_point_print(__isl_keep isl_point *pnt, FILE *out);
34
35 #if defined(__cplusplus)
36 }
37 #endif
38
39 #endif