isl_multi_templ.c: extract out isl_multi_product_templ.c
[isl.git] / isl_point_private.h
blobc405da3f8bc44705d907de39ac18581b593bf215
1 #ifndef ISL_POINT_PRIVATE_H
2 #define ISL_POINT_PRIVATE_H
4 #include <isl/space.h>
5 #include <isl/point.h>
6 #include <isl/vec.h>
8 struct isl_point {
9 int ref;
10 isl_space *dim;
11 struct isl_vec *vec;
14 __isl_give isl_point *isl_point_alloc(__isl_take isl_space *dim,
15 __isl_take isl_vec *vec);
17 __isl_keep isl_space *isl_point_peek_space(__isl_keep isl_point *pnt);
18 __isl_give isl_space *isl_point_take_space(__isl_keep isl_point *pnt);
19 __isl_give isl_point *isl_point_restore_space(__isl_take isl_point *pnt,
20 __isl_take isl_space *space);
21 __isl_keep isl_vec *isl_point_peek_vec(__isl_keep isl_point *pnt);
22 __isl_give isl_vec *isl_point_get_vec(__isl_keep isl_point *pnt);
23 __isl_give isl_vec *isl_point_take_vec(__isl_keep isl_point *pnt);
24 __isl_give isl_point *isl_point_restore_vec(__isl_take isl_point *pnt,
25 __isl_take isl_vec *vec);
27 #endif