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_multi_val *isl_pw_multi_aff_min_multi_val(
36 	__isl_take isl_pw_multi_aff *pma);
37 __isl_export
38 __isl_give isl_multi_val *isl_pw_multi_aff_max_multi_val(
39 	__isl_take isl_pw_multi_aff *pma);
40 __isl_export
41 __isl_give isl_multi_val *isl_multi_pw_aff_min_multi_val(
42 	__isl_take isl_multi_pw_aff *mpa);
43 __isl_export
44 __isl_give isl_multi_val *isl_multi_pw_aff_max_multi_val(
45 	__isl_take isl_multi_pw_aff *mpa);
46 
47 __isl_give isl_val *isl_union_pw_aff_min_val(__isl_take isl_union_pw_aff *upa);
48 __isl_give isl_val *isl_union_pw_aff_max_val(__isl_take isl_union_pw_aff *upa);
49 
50 __isl_give isl_multi_val *isl_multi_union_pw_aff_min_multi_val(
51 	__isl_take isl_multi_union_pw_aff *mupa);
52 __isl_give isl_multi_val *isl_multi_union_pw_aff_max_multi_val(
53 	__isl_take isl_multi_union_pw_aff *mupa);
54 
55 __isl_export
56 __isl_give isl_val *isl_basic_set_dim_max_val(__isl_take isl_basic_set *bset,
57 	int pos);
58 __isl_export
59 __isl_give isl_val *isl_set_dim_min_val(__isl_take isl_set *set, int pos);
60 __isl_export
61 __isl_give isl_val *isl_set_dim_max_val(__isl_take isl_set *set, int pos);
62 
63 #if defined(__cplusplus)
64 }
65 #endif
66 
67 #endif
68