isl_basic_map_simplify: detect div constraints while looking for duplicates
[platform/upstream/isl.git] / isl_vec.h
1 #ifndef ISL_VEC_H
2 #define ISL_VEC_H
3
4 #include <stdio.h>
5
6 #include <isl_int.h>
7 #include <isl_ctx.h>
8 #include <isl_blk.h>
9
10 #if defined(__cplusplus)
11 extern "C" {
12 #endif
13
14 struct isl_vec {
15         int ref;
16
17         unsigned size;
18
19         struct isl_blk block;
20 };
21
22 struct isl_vec *isl_vec_alloc(struct isl_ctx *ctx, unsigned size);
23 struct isl_vec *isl_vec_copy(struct isl_ctx *ctx, struct isl_vec *vec);
24 struct isl_vec *isl_vec_cow(struct isl_ctx *ctx, struct isl_vec *vec);
25 void isl_vec_free(struct isl_ctx *ctx, struct isl_vec *vec);
26
27 void isl_vec_dump(struct isl_ctx *ctx, struct isl_vec *vec,
28                                 FILE *out, int indent);
29
30 void isl_vec_lcm(struct isl_ctx *ctx, struct isl_vec *vec, isl_int *lcm);
31
32 #if defined(__cplusplus)
33 }
34 #endif
35
36 #endif