isl_{set,map}_add: don't add obviously empty basic sets/maps
[isl.git] / isl_vec.h
blobe5c7405e1706abac6b08958e933328327058ad2e
1 #ifndef ISL_VEC_H
2 #define ISL_VEC_H
4 #include <stdio.h>
6 #include <isl_int.h>
7 #include <isl_ctx.h>
8 #include <isl_blk.h>
10 #if defined(__cplusplus)
11 extern "C" {
12 #endif
14 struct isl_vec {
15 int ref;
17 struct isl_ctx *ctx;
19 unsigned size;
20 isl_int *el;
22 struct isl_blk block;
25 struct isl_vec *isl_vec_alloc(struct isl_ctx *ctx, unsigned size);
26 struct isl_vec *isl_vec_copy(struct isl_vec *vec);
27 struct isl_vec *isl_vec_cow(struct isl_vec *vec);
28 void isl_vec_free(struct isl_vec *vec);
30 void isl_vec_dump(struct isl_vec *vec, FILE *out, int indent);
32 void isl_vec_lcm(struct isl_vec *vec, isl_int *lcm);
34 #if defined(__cplusplus)
36 #endif
38 #endif