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