isl_solve_lp: optionally return solution point
[platform/upstream/isl.git] / include / 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         struct isl_ctx *ctx;
18
19         unsigned size;
20         isl_int *el;
21
22         struct isl_blk block;
23 };
24
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);
29
30 void isl_vec_dump(struct isl_vec *vec, FILE *out, int indent);
31
32 void isl_vec_lcm(struct isl_vec *vec, isl_int *lcm);
33
34 struct isl_vec *isl_vec_read_from_file(struct isl_ctx *ctx,
35                 FILE *input, unsigned input_format);
36
37 #if defined(__cplusplus)
38 }
39 #endif
40
41 #endif