isl_tab_basic_set_non_trivial_lexmin: extract out better_next_side
[isl.git] / isl_vec_private.h
blob8f6de8668da57c3a22371dcd2684d526bb4cd8d5
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(struct isl_vec *vec, isl_int *lcm);
23 int isl_vec_get_element(__isl_keep isl_vec *vec, int pos, isl_int *v);
24 __isl_give isl_vec *isl_vec_set(__isl_take isl_vec *vec, isl_int v);
26 isl_bool isl_vec_is_zero(__isl_keep isl_vec *vec);
28 __isl_give isl_vec *isl_vec_expand(__isl_take isl_vec *vec, int pos, int n,
29 int *exp, int expanded);
31 #endif