isl_map.c: room_for_ineq: add memory management annotation
[isl.git] / isl_vec_private.h
blob49bcef81f6059733ca5089043b7fce9afbdd21ad
1 #ifndef ISL_VEC_PRIVATE_H
2 #define ISL_VEC_PRIVATE_H
4 #include <isl_blk.h>
5 #include <isl/vec.h>
7 struct isl_vec {
8 int ref;
10 struct isl_ctx *ctx;
12 unsigned size;
13 isl_int *el;
15 struct isl_blk block;
18 uint32_t isl_vec_get_hash(__isl_keep isl_vec *vec);
20 __isl_give isl_vec *isl_vec_cow(__isl_take isl_vec *vec);
22 void isl_vec_lcm(__isl_keep isl_vec *vec, isl_int *lcm);
23 __isl_give isl_vec *isl_vec_set(__isl_take isl_vec *vec, isl_int v);
25 isl_bool isl_vec_is_zero(__isl_keep isl_vec *vec);
27 __isl_give isl_vec *isl_vec_expand(__isl_take isl_vec *vec, int pos, int n,
28 int *exp, int expanded);
30 #endif