isl/div.h: drop dependence on isl/set.h
[isl.git] / include / isl / div.h
blob86ac0ca75995285e6e3763173e66c7a418dffa12
1 /*
2 * Copyright 2008-2009 Katholieke Universiteit Leuven
4 * Use of this software is governed by the GNU LGPLv2.1 license
6 * Written by Sven Verdoolaege, K.U.Leuven, Departement
7 * Computerwetenschappen, Celestijnenlaan 200A, B-3001 Leuven, Belgium
8 */
10 #ifndef ISL_DIV_H
11 #define ISL_DIV_H
13 #include <isl/dim.h>
15 #if defined(__cplusplus)
16 extern "C" {
17 #endif
19 struct isl_div;
20 typedef struct isl_div isl_div;
22 isl_ctx *isl_div_get_ctx(__isl_keep isl_div *div);
24 struct isl_div *isl_div_alloc(struct isl_dim *dim);
25 __isl_give isl_div *isl_div_copy(__isl_keep isl_div *div);
26 void isl_div_free(struct isl_div *c);
28 void isl_div_get_constant(__isl_keep isl_div *div, isl_int *v);
29 void isl_div_get_denominator(__isl_keep isl_div *div, isl_int *v);
30 void isl_div_get_coefficient(__isl_keep isl_div *div,
31 enum isl_dim_type type, int pos, isl_int *v);
32 void isl_div_set_constant(struct isl_div *div, isl_int v);
33 void isl_div_set_denominator(struct isl_div *div, isl_int v);
34 void isl_div_set_coefficient(struct isl_div *div,
35 enum isl_dim_type type, int pos, isl_int v);
37 unsigned isl_div_dim(__isl_keep isl_div *div, enum isl_dim_type type);
38 __isl_give isl_div *isl_div_div(__isl_take isl_div *div, int pos);
40 #if defined(__cplusplus)
42 #endif
44 #endif