Home | History | Annotate | Line # | Download | only in dist
      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