add rudimentary argument parsing facility
[isl.git] / include / isl_vec.h
blob796ce2b0ec2d8c72f8bcb8a4924031edc31f98b6
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;
24 typedef struct isl_vec isl_vec;
26 struct isl_vec *isl_vec_alloc(struct isl_ctx *ctx, unsigned size);
27 struct isl_vec *isl_vec_copy(struct isl_vec *vec);
28 struct isl_vec *isl_vec_cow(struct isl_vec *vec);
29 void isl_vec_free(struct isl_vec *vec);
31 void isl_vec_dump(struct isl_vec *vec, FILE *out, int indent);
33 void isl_vec_lcm(struct isl_vec *vec, isl_int *lcm);
34 struct isl_vec *isl_vec_ceil(struct isl_vec *vec);
35 struct isl_vec *isl_vec_normalize(struct isl_vec *vec);
37 struct isl_vec *isl_vec_read_from_file(struct isl_ctx *ctx,
38 FILE *input, unsigned input_format);
40 #if defined(__cplusplus)
42 #endif
44 #endif