1 /*
2  * Copyright 2008-2009 Katholieke Universiteit Leuven
3  *
4  * Use of this software is governed by the MIT license
5  *
6  * Written by Sven Verdoolaege, K.U.Leuven, Departement
7  * Computerwetenschappen, Celestijnenlaan 200A, B-3001 Leuven, Belgium
8  */
9 
10 #ifndef ISL_ILP_H
11 #define ISL_ILP_H
12 
13 #include <isl/aff_type.h>
14 #include <isl/set_type.h>
15 #include <isl/union_set_type.h>
16 #include <isl/val_type.h>
17 #include <isl/vec.h>
18 
19 #if defined(__cplusplus)
20 extern "C" {
21 #endif
22 
23 __isl_give isl_val *isl_basic_set_max_val(__isl_keep isl_basic_set *bset,
24 	__isl_keep isl_aff *obj);
25 __isl_export
26 __isl_give isl_val *isl_set_min_val(__isl_keep isl_set *set,
27 	__isl_keep isl_aff *obj);
28 __isl_export
29 __isl_give isl_val *isl_set_max_val(__isl_keep isl_set *set,
30 	__isl_keep isl_aff *obj);
31 __isl_give isl_multi_val *isl_union_set_min_multi_union_pw_aff(
32 	__isl_keep isl_union_set *uset, __isl_keep isl_multi_union_pw_aff *obj);
33 
34 __isl_export
35 __isl_give isl_val *isl_pw_aff_min_val(__isl_take isl_pw_aff *pa);
36 __isl_export
37 __isl_give isl_val *isl_pw_aff_max_val(__isl_take isl_pw_aff *pa);
38 __isl_export
39 __isl_give isl_multi_val *isl_pw_multi_aff_min_multi_val(
40 	__isl_take isl_pw_multi_aff *pma);
41 __isl_export
42 __isl_give isl_multi_val *isl_pw_multi_aff_max_multi_val(
43 	__isl_take isl_pw_multi_aff *pma);
44 __isl_export
45 __isl_give isl_multi_val *isl_multi_pw_aff_min_multi_val(
46 	__isl_take isl_multi_pw_aff *mpa);
47 __isl_export
48 __isl_give isl_multi_val *isl_multi_pw_aff_max_multi_val(
49 	__isl_take isl_multi_pw_aff *mpa);
50 
51 __isl_give isl_val *isl_union_pw_aff_min_val(__isl_take isl_union_pw_aff *upa);
52 __isl_give isl_val *isl_union_pw_aff_max_val(__isl_take isl_union_pw_aff *upa);
53 
54 __isl_give isl_multi_val *isl_multi_union_pw_aff_min_multi_val(
55 	__isl_take isl_multi_union_pw_aff *mupa);
56 __isl_give isl_multi_val *isl_multi_union_pw_aff_max_multi_val(
57 	__isl_take isl_multi_union_pw_aff *mupa);
58 
59 __isl_export
60 __isl_give isl_val *isl_basic_set_dim_max_val(__isl_take isl_basic_set *bset,
61 	int pos);
62 __isl_export
63 __isl_give isl_val *isl_set_dim_min_val(__isl_take isl_set *set, int pos);
64 __isl_export
65 __isl_give isl_val *isl_set_dim_max_val(__isl_take isl_set *set, int pos);
66 
67 #if defined(__cplusplus)
68 }
69 #endif
70 
71 #endif
72