1 #ifndef ISL_VEC_PRIVATE_H 2 #define ISL_VEC_PRIVATE_H 3 4 #include <isl_blk.h> 5 #include <isl/vec.h> 6 7 #include "isl_reordering.h" 8 9 struct isl_vec { 10 int ref; 11 12 struct isl_ctx *ctx; 13 14 unsigned size; 15 isl_int *el; 16 17 struct isl_blk block; 18 }; 19 20 uint32_t isl_vec_get_hash(__isl_keep isl_vec *vec); 21 22 __isl_give isl_vec *isl_vec_cow(__isl_take isl_vec *vec); 23 24 void isl_vec_lcm(__isl_keep isl_vec *vec, isl_int *lcm); 25 __isl_give isl_vec *isl_vec_set(__isl_take isl_vec *vec, isl_int v); 26 27 isl_bool isl_vec_is_zero(__isl_keep isl_vec *vec); 28 29 __isl_give isl_vec *isl_vec_expand(__isl_take isl_vec *vec, int pos, int n, 30 int *exp, int expanded); 31 __isl_give isl_vec *isl_vec_reorder(__isl_take isl_vec *vec, 32 unsigned offset, __isl_take isl_reordering *r); 33 34 #endif 35