add isl_map_get_dim
[platform/upstream/isl.git] / include / isl_div.h
1 #ifndef ISL_DIV_H
2 #define ISL_DIV_H
3
4 #include "isl_dim.h"
5 #include "isl_set.h"
6
7 #if defined(__cplusplus)
8 extern "C" {
9 #endif
10
11 struct isl_div {
12         int ref;
13         struct isl_ctx *ctx;
14
15         struct isl_basic_map    *bmap;
16         isl_int                 **line;
17 };
18
19 struct isl_div *isl_div_alloc(struct isl_dim *dim);
20 struct isl_div *isl_basic_map_div(struct isl_basic_map *bmap, int pos);
21 struct isl_div *isl_basic_set_div(struct isl_basic_set *bset, int pos);
22 struct isl_div *isl_div_free(struct isl_div *c);
23
24 void isl_div_get_constant(struct isl_div *div, isl_int *v);
25 void isl_div_get_denominator(struct isl_div *div, isl_int *v);
26 void isl_div_get_coefficient(struct isl_div *div,
27         enum isl_dim_type type, int pos, isl_int *v);
28 void isl_div_set_constant(struct isl_div *div, isl_int v);
29 void isl_div_set_denominator(struct isl_div *div, isl_int v);
30 void isl_div_set_coefficient(struct isl_div *div,
31         enum isl_dim_type type, int pos, isl_int v);
32
33 #if defined(__cplusplus)
34 }
35 #endif
36
37 #endif