Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
14 | pmbaty | 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_SET_H |
||
11 | #define ISL_SET_H |
||
12 | |||
13 | #include <isl/id_type.h> |
||
14 | #include <isl/map_type.h> |
||
15 | #include <isl/aff_type.h> |
||
16 | #include <isl/list.h> |
||
17 | #include <isl/mat.h> |
||
18 | #include <isl/point.h> |
||
19 | #include <isl/local_space.h> |
||
20 | #include <isl/val_type.h> |
||
21 | #include <isl/stdint.h> |
||
22 | #include <isl/stride_info.h> |
||
23 | #include <isl/fixed_box.h> |
||
24 | |||
25 | #if defined(__cplusplus) |
||
26 | extern "C" { |
||
27 | #endif |
||
28 | |||
29 | isl_size isl_basic_set_n_dim(__isl_keep isl_basic_set *bset); |
||
30 | isl_size isl_basic_set_n_param(__isl_keep isl_basic_set *bset); |
||
31 | isl_size isl_basic_set_total_dim(__isl_keep const isl_basic_set *bset); |
||
32 | isl_size isl_basic_set_dim(__isl_keep isl_basic_set *bset, |
||
33 | enum isl_dim_type type); |
||
34 | |||
35 | isl_size isl_set_n_dim(__isl_keep isl_set *set); |
||
36 | isl_size isl_set_n_param(__isl_keep isl_set *set); |
||
37 | __isl_export |
||
38 | isl_size isl_set_tuple_dim(__isl_keep isl_set *set); |
||
39 | isl_size isl_set_dim(__isl_keep isl_set *set, enum isl_dim_type type); |
||
40 | |||
41 | isl_ctx *isl_basic_set_get_ctx(__isl_keep isl_basic_set *bset); |
||
42 | isl_ctx *isl_set_get_ctx(__isl_keep isl_set *set); |
||
43 | __isl_give isl_space *isl_basic_set_get_space(__isl_keep isl_basic_set *bset); |
||
44 | __isl_export |
||
45 | __isl_give isl_space *isl_set_get_space(__isl_keep isl_set *set); |
||
46 | __isl_give isl_set *isl_set_reset_space(__isl_take isl_set *set, |
||
47 | __isl_take isl_space *space); |
||
48 | |||
49 | __isl_give isl_aff *isl_basic_set_get_div(__isl_keep isl_basic_set *bset, |
||
50 | int pos); |
||
51 | |||
52 | __isl_give isl_local_space *isl_basic_set_get_local_space( |
||
53 | __isl_keep isl_basic_set *bset); |
||
54 | |||
55 | const char *isl_basic_set_get_tuple_name(__isl_keep isl_basic_set *bset); |
||
56 | isl_bool isl_set_has_tuple_name(__isl_keep isl_set *set); |
||
57 | const char *isl_set_get_tuple_name(__isl_keep isl_set *set); |
||
58 | __isl_give isl_basic_set *isl_basic_set_set_tuple_name( |
||
59 | __isl_take isl_basic_set *set, const char *s); |
||
60 | __isl_give isl_set *isl_set_set_tuple_name(__isl_take isl_set *set, |
||
61 | const char *s); |
||
62 | const char *isl_basic_set_get_dim_name(__isl_keep isl_basic_set *bset, |
||
63 | enum isl_dim_type type, unsigned pos); |
||
64 | __isl_give isl_basic_set *isl_basic_set_set_dim_name( |
||
65 | __isl_take isl_basic_set *bset, |
||
66 | enum isl_dim_type type, unsigned pos, const char *s); |
||
67 | isl_bool isl_set_has_dim_name(__isl_keep isl_set *set, |
||
68 | enum isl_dim_type type, unsigned pos); |
||
69 | const char *isl_set_get_dim_name(__isl_keep isl_set *set, |
||
70 | enum isl_dim_type type, unsigned pos); |
||
71 | __isl_give isl_set *isl_set_set_dim_name(__isl_take isl_set *set, |
||
72 | enum isl_dim_type type, unsigned pos, const char *s); |
||
73 | |||
74 | __isl_give isl_id *isl_basic_set_get_dim_id(__isl_keep isl_basic_set *bset, |
||
75 | enum isl_dim_type type, unsigned pos); |
||
76 | __isl_give isl_basic_set *isl_basic_set_set_tuple_id( |
||
77 | __isl_take isl_basic_set *bset, __isl_take isl_id *id); |
||
78 | __isl_give isl_set *isl_set_set_dim_id(__isl_take isl_set *set, |
||
79 | enum isl_dim_type type, unsigned pos, __isl_take isl_id *id); |
||
80 | isl_bool isl_set_has_dim_id(__isl_keep isl_set *set, |
||
81 | enum isl_dim_type type, unsigned pos); |
||
82 | __isl_give isl_id *isl_set_get_dim_id(__isl_keep isl_set *set, |
||
83 | enum isl_dim_type type, unsigned pos); |
||
84 | __isl_give isl_set *isl_set_set_tuple_id(__isl_take isl_set *set, |
||
85 | __isl_take isl_id *id); |
||
86 | __isl_give isl_set *isl_set_reset_tuple_id(__isl_take isl_set *set); |
||
87 | isl_bool isl_set_has_tuple_id(__isl_keep isl_set *set); |
||
88 | __isl_give isl_id *isl_set_get_tuple_id(__isl_keep isl_set *set); |
||
89 | __isl_give isl_set *isl_set_reset_user(__isl_take isl_set *set); |
||
90 | |||
91 | int isl_set_find_dim_by_id(__isl_keep isl_set *set, enum isl_dim_type type, |
||
92 | __isl_keep isl_id *id); |
||
93 | int isl_set_find_dim_by_name(__isl_keep isl_set *set, enum isl_dim_type type, |
||
94 | const char *name); |
||
95 | |||
96 | int isl_basic_set_is_rational(__isl_keep isl_basic_set *bset); |
||
97 | |||
98 | __isl_null isl_basic_set *isl_basic_set_free(__isl_take isl_basic_set *bset); |
||
99 | __isl_give isl_basic_set *isl_basic_set_copy(__isl_keep isl_basic_set *bset); |
||
100 | __isl_give isl_basic_set *isl_basic_set_empty(__isl_take isl_space *space); |
||
101 | __isl_give isl_basic_set *isl_basic_set_universe(__isl_take isl_space *space); |
||
102 | __isl_give isl_basic_set *isl_basic_set_nat_universe( |
||
103 | __isl_take isl_space *space); |
||
104 | __isl_give isl_basic_set *isl_basic_set_positive_orthant( |
||
105 | __isl_take isl_space *space); |
||
106 | void isl_basic_set_print_internal(__isl_keep isl_basic_set *bset, |
||
107 | FILE *out, int indent); |
||
108 | __isl_export |
||
109 | __isl_give isl_basic_set *isl_basic_set_intersect( |
||
110 | __isl_take isl_basic_set *bset1, |
||
111 | __isl_take isl_basic_set *bset2); |
||
112 | __isl_export |
||
113 | __isl_give isl_basic_set *isl_basic_set_intersect_params( |
||
114 | __isl_take isl_basic_set *bset1, __isl_take isl_basic_set *bset2); |
||
115 | __isl_export |
||
116 | __isl_give isl_basic_set *isl_basic_set_apply( |
||
117 | __isl_take isl_basic_set *bset, |
||
118 | __isl_take isl_basic_map *bmap); |
||
119 | __isl_give isl_basic_set *isl_basic_set_preimage_multi_aff( |
||
120 | __isl_take isl_basic_set *bset, __isl_take isl_multi_aff *ma); |
||
121 | __isl_export |
||
122 | __isl_give isl_basic_set *isl_basic_set_affine_hull( |
||
123 | __isl_take isl_basic_set *bset); |
||
124 | __isl_give isl_basic_set *isl_basic_set_remove_dims( |
||
125 | __isl_take isl_basic_set *bset, |
||
126 | enum isl_dim_type type, unsigned first, unsigned n); |
||
127 | __isl_export |
||
128 | __isl_give isl_basic_set *isl_basic_set_sample(__isl_take isl_basic_set *bset); |
||
129 | __isl_export |
||
130 | __isl_give isl_basic_set *isl_basic_set_detect_equalities( |
||
131 | __isl_take isl_basic_set *bset); |
||
132 | __isl_give isl_basic_set *isl_basic_set_remove_redundancies( |
||
133 | __isl_take isl_basic_set *bset); |
||
134 | __isl_give isl_set *isl_set_remove_redundancies(__isl_take isl_set *set); |
||
135 | __isl_give isl_basic_set *isl_basic_set_list_intersect( |
||
136 | __isl_take struct isl_basic_set_list *list); |
||
137 | |||
138 | __isl_give isl_set *isl_set_list_union(__isl_take isl_set_list *list); |
||
139 | |||
140 | __isl_give isl_basic_set *isl_basic_set_read_from_file(isl_ctx *ctx, |
||
141 | FILE *input); |
||
142 | __isl_constructor |
||
143 | __isl_give isl_basic_set *isl_basic_set_read_from_str(isl_ctx *ctx, |
||
144 | const char *str); |
||
145 | __isl_give isl_set *isl_set_read_from_file(isl_ctx *ctx, FILE *input); |
||
146 | __isl_constructor |
||
147 | __isl_give isl_set *isl_set_read_from_str(isl_ctx *ctx, const char *str); |
||
148 | void isl_basic_set_dump(__isl_keep isl_basic_set *bset); |
||
149 | void isl_set_dump(__isl_keep isl_set *set); |
||
150 | __isl_give isl_printer *isl_printer_print_basic_set( |
||
151 | __isl_take isl_printer *printer, __isl_keep isl_basic_set *bset); |
||
152 | __isl_give isl_printer *isl_printer_print_set(__isl_take isl_printer *printer, |
||
153 | __isl_keep isl_set *map); |
||
154 | __isl_give isl_basic_set *isl_basic_set_fix_si(__isl_take isl_basic_set *bset, |
||
155 | enum isl_dim_type type, unsigned pos, int value); |
||
156 | __isl_give isl_basic_set *isl_basic_set_fix_val(__isl_take isl_basic_set *bset, |
||
157 | enum isl_dim_type type, unsigned pos, __isl_take isl_val *v); |
||
158 | __isl_give isl_set *isl_set_fix_si(__isl_take isl_set *set, |
||
159 | enum isl_dim_type type, unsigned pos, int value); |
||
160 | __isl_give isl_set *isl_set_lower_bound_si(__isl_take isl_set *set, |
||
161 | enum isl_dim_type type, unsigned pos, int value); |
||
162 | __isl_give isl_basic_set *isl_basic_set_lower_bound_val( |
||
163 | __isl_take isl_basic_set *bset, enum isl_dim_type type, unsigned pos, |
||
164 | __isl_take isl_val *value); |
||
165 | __isl_give isl_set *isl_set_lower_bound_val(__isl_take isl_set *set, |
||
166 | enum isl_dim_type type, unsigned pos, __isl_take isl_val *value); |
||
167 | __isl_give isl_set *isl_set_upper_bound_si(__isl_take isl_set *set, |
||
168 | enum isl_dim_type type, unsigned pos, int value); |
||
169 | __isl_give isl_basic_set *isl_basic_set_upper_bound_val( |
||
170 | __isl_take isl_basic_set *bset, enum isl_dim_type type, unsigned pos, |
||
171 | __isl_take isl_val *value); |
||
172 | __isl_give isl_set *isl_set_upper_bound_val(__isl_take isl_set *set, |
||
173 | enum isl_dim_type type, unsigned pos, __isl_take isl_val *value); |
||
174 | __isl_overload |
||
175 | __isl_give isl_set *isl_set_lower_bound_multi_val(__isl_take isl_set *set, |
||
176 | __isl_take isl_multi_val *lower); |
||
177 | __isl_overload |
||
178 | __isl_give isl_set *isl_set_upper_bound_multi_val(__isl_take isl_set *set, |
||
179 | __isl_take isl_multi_val *upper); |
||
180 | __isl_overload |
||
181 | __isl_give isl_set *isl_set_lower_bound_multi_pw_aff(__isl_take isl_set *set, |
||
182 | __isl_take isl_multi_pw_aff *lower); |
||
183 | __isl_overload |
||
184 | __isl_give isl_set *isl_set_upper_bound_multi_pw_aff(__isl_take isl_set *set, |
||
185 | __isl_take isl_multi_pw_aff *upper); |
||
186 | |||
187 | __isl_give isl_set *isl_set_equate(__isl_take isl_set *set, |
||
188 | enum isl_dim_type type1, int pos1, enum isl_dim_type type2, int pos2); |
||
189 | |||
190 | __isl_export |
||
191 | isl_bool isl_basic_set_is_equal(__isl_keep isl_basic_set *bset1, |
||
192 | __isl_keep isl_basic_set *bset2); |
||
193 | isl_bool isl_basic_set_is_disjoint(__isl_keep isl_basic_set *bset1, |
||
194 | __isl_keep isl_basic_set *bset2); |
||
195 | |||
196 | __isl_give isl_set *isl_basic_set_partial_lexmin( |
||
197 | __isl_take isl_basic_set *bset, __isl_take isl_basic_set *dom, |
||
198 | __isl_give isl_set **empty); |
||
199 | __isl_give isl_set *isl_basic_set_partial_lexmax( |
||
200 | __isl_take isl_basic_set *bset, __isl_take isl_basic_set *dom, |
||
201 | __isl_give isl_set **empty); |
||
202 | __isl_give isl_set *isl_set_partial_lexmin( |
||
203 | __isl_take isl_set *set, __isl_take isl_set *dom, |
||
204 | __isl_give isl_set **empty); |
||
205 | __isl_give isl_set *isl_set_partial_lexmax( |
||
206 | __isl_take isl_set *set, __isl_take isl_set *dom, |
||
207 | __isl_give isl_set **empty); |
||
208 | __isl_export |
||
209 | __isl_give isl_set *isl_basic_set_lexmin(__isl_take isl_basic_set *bset); |
||
210 | __isl_export |
||
211 | __isl_give isl_set *isl_basic_set_lexmax(__isl_take isl_basic_set *bset); |
||
212 | __isl_export |
||
213 | __isl_give isl_set *isl_set_lexmin(__isl_take isl_set *set); |
||
214 | __isl_export |
||
215 | __isl_give isl_set *isl_set_lexmax(__isl_take isl_set *set); |
||
216 | __isl_give isl_pw_multi_aff *isl_basic_set_partial_lexmin_pw_multi_aff( |
||
217 | __isl_take isl_basic_set *bset, __isl_take isl_basic_set *dom, |
||
218 | __isl_give isl_set **empty); |
||
219 | __isl_give isl_pw_multi_aff *isl_basic_set_partial_lexmax_pw_multi_aff( |
||
220 | __isl_take isl_basic_set *bset, __isl_take isl_basic_set *dom, |
||
221 | __isl_give isl_set **empty); |
||
222 | __isl_export |
||
223 | __isl_give isl_pw_multi_aff *isl_set_lexmin_pw_multi_aff( |
||
224 | __isl_take isl_set *set); |
||
225 | __isl_export |
||
226 | __isl_give isl_pw_multi_aff *isl_set_lexmax_pw_multi_aff( |
||
227 | __isl_take isl_set *set); |
||
228 | __isl_export |
||
229 | __isl_give isl_multi_pw_aff *isl_set_min_multi_pw_aff(__isl_take isl_set *set); |
||
230 | __isl_export |
||
231 | __isl_give isl_multi_pw_aff *isl_set_max_multi_pw_aff(__isl_take isl_set *set); |
||
232 | |||
233 | __isl_export |
||
234 | __isl_give isl_set *isl_basic_set_union( |
||
235 | __isl_take isl_basic_set *bset1, |
||
236 | __isl_take isl_basic_set *bset2); |
||
237 | |||
238 | int isl_basic_set_compare_at(__isl_keep isl_basic_set *bset1, |
||
239 | __isl_keep isl_basic_set *bset2, int pos); |
||
240 | int isl_set_follows_at(__isl_keep isl_set *set1, |
||
241 | __isl_keep isl_set *set2, int pos); |
||
242 | |||
243 | __isl_export |
||
244 | __isl_give isl_basic_set *isl_basic_set_params(__isl_take isl_basic_set *bset); |
||
245 | __isl_give isl_basic_set *isl_basic_set_from_params( |
||
246 | __isl_take isl_basic_set *bset); |
||
247 | __isl_export |
||
248 | __isl_give isl_set *isl_set_params(__isl_take isl_set *set); |
||
249 | __isl_give isl_set *isl_set_from_params(__isl_take isl_set *set); |
||
250 | |||
251 | __isl_export |
||
252 | __isl_give isl_set *isl_set_bind(__isl_take isl_set *set, |
||
253 | __isl_take isl_multi_id *tuple); |
||
254 | __isl_export |
||
255 | __isl_give isl_set *isl_set_unbind_params(__isl_take isl_set *set, |
||
256 | __isl_take isl_multi_id *tuple); |
||
257 | __isl_export |
||
258 | __isl_give isl_map *isl_set_unbind_params_insert_domain( |
||
259 | __isl_take isl_set *set, __isl_take isl_multi_id *domain); |
||
260 | |||
261 | isl_stat isl_basic_set_dims_get_sign(__isl_keep isl_basic_set *bset, |
||
262 | enum isl_dim_type type, unsigned pos, unsigned n, int *signs); |
||
263 | |||
264 | isl_bool isl_basic_set_plain_is_universe(__isl_keep isl_basic_set *bset); |
||
265 | isl_bool isl_basic_set_is_universe(__isl_keep isl_basic_set *bset); |
||
266 | isl_bool isl_basic_set_plain_is_empty(__isl_keep isl_basic_set *bset); |
||
267 | __isl_export |
||
268 | isl_bool isl_basic_set_is_empty(__isl_keep isl_basic_set *bset); |
||
269 | isl_bool isl_basic_set_is_bounded(__isl_keep isl_basic_set *bset); |
||
270 | __isl_export |
||
271 | isl_bool isl_basic_set_is_subset(__isl_keep isl_basic_set *bset1, |
||
272 | __isl_keep isl_basic_set *bset2); |
||
273 | isl_bool isl_basic_set_plain_is_equal(__isl_keep isl_basic_set *bset1, |
||
274 | __isl_keep isl_basic_set *bset2); |
||
275 | |||
276 | __isl_export |
||
277 | __isl_give isl_set *isl_set_empty(__isl_take isl_space *space); |
||
278 | __isl_export |
||
279 | __isl_give isl_set *isl_set_universe(__isl_take isl_space *space); |
||
280 | __isl_export |
||
281 | __isl_give isl_set *isl_space_universe_set(__isl_take isl_space *space); |
||
282 | __isl_give isl_set *isl_set_nat_universe(__isl_take isl_space *space); |
||
283 | __isl_give isl_set *isl_set_copy(__isl_keep isl_set *set); |
||
284 | __isl_null isl_set *isl_set_free(__isl_take isl_set *set); |
||
285 | __isl_export |
||
286 | __isl_give isl_set *isl_basic_set_to_set(__isl_take isl_basic_set *bset); |
||
287 | __isl_constructor |
||
288 | __isl_give isl_set *isl_set_from_basic_set(__isl_take isl_basic_set *bset); |
||
289 | __isl_export |
||
290 | __isl_give isl_basic_set *isl_set_sample(__isl_take isl_set *set); |
||
291 | __isl_export |
||
292 | __isl_give isl_point *isl_basic_set_sample_point(__isl_take isl_basic_set *bset); |
||
293 | __isl_export |
||
294 | __isl_give isl_point *isl_set_sample_point(__isl_take isl_set *set); |
||
295 | __isl_export |
||
296 | __isl_give isl_set *isl_set_detect_equalities(__isl_take isl_set *set); |
||
297 | __isl_export |
||
298 | __isl_give isl_basic_set *isl_set_affine_hull(__isl_take isl_set *set); |
||
299 | __isl_give isl_basic_set *isl_set_convex_hull(__isl_take isl_set *set); |
||
300 | __isl_export |
||
301 | __isl_give isl_basic_set *isl_set_polyhedral_hull(__isl_take isl_set *set); |
||
302 | __isl_give isl_basic_set *isl_set_simple_hull(__isl_take isl_set *set); |
||
303 | __isl_export |
||
304 | __isl_give isl_basic_set *isl_set_unshifted_simple_hull( |
||
305 | __isl_take isl_set *set); |
||
306 | __isl_give isl_basic_set *isl_set_plain_unshifted_simple_hull( |
||
307 | __isl_take isl_set *set); |
||
308 | __isl_give isl_basic_set *isl_set_unshifted_simple_hull_from_set_list( |
||
309 | __isl_take isl_set *set, __isl_take isl_set_list *list); |
||
310 | __isl_give isl_basic_set *isl_set_bounded_simple_hull(__isl_take isl_set *set); |
||
311 | |||
312 | __isl_give isl_set *isl_set_union_disjoint( |
||
313 | __isl_take isl_set *set1, __isl_take isl_set *set2); |
||
314 | __isl_export |
||
315 | __isl_give isl_set *isl_set_union( |
||
316 | __isl_take isl_set *set1, |
||
317 | __isl_take isl_set *set2); |
||
318 | __isl_export |
||
319 | __isl_give isl_set *isl_set_product(__isl_take isl_set *set1, |
||
320 | __isl_take isl_set *set2); |
||
321 | __isl_give isl_basic_set *isl_basic_set_flat_product( |
||
322 | __isl_take isl_basic_set *bset1, __isl_take isl_basic_set *bset2); |
||
323 | __isl_give isl_set *isl_set_flat_product(__isl_take isl_set *set1, |
||
324 | __isl_take isl_set *set2); |
||
325 | __isl_export |
||
326 | __isl_give isl_set *isl_set_intersect( |
||
327 | __isl_take isl_set *set1, |
||
328 | __isl_take isl_set *set2); |
||
329 | __isl_export |
||
330 | __isl_give isl_set *isl_set_intersect_params(__isl_take isl_set *set, |
||
331 | __isl_take isl_set *params); |
||
332 | __isl_give isl_set *isl_set_intersect_factor_domain(__isl_take isl_set *set, |
||
333 | __isl_take isl_set *domain); |
||
334 | __isl_give isl_set *isl_set_intersect_factor_range(__isl_take isl_set *set, |
||
335 | __isl_take isl_set *range); |
||
336 | __isl_export |
||
337 | __isl_give isl_set *isl_set_subtract( |
||
338 | __isl_take isl_set *set1, |
||
339 | __isl_take isl_set *set2); |
||
340 | __isl_export |
||
341 | __isl_give isl_set *isl_set_complement(__isl_take isl_set *set); |
||
342 | __isl_export |
||
343 | __isl_give isl_set *isl_set_apply( |
||
344 | __isl_take isl_set *set, |
||
345 | __isl_take isl_map *map); |
||
346 | __isl_overload |
||
347 | __isl_give isl_set *isl_set_preimage_multi_aff(__isl_take isl_set *set, |
||
348 | __isl_take isl_multi_aff *ma); |
||
349 | __isl_overload |
||
350 | __isl_give isl_set *isl_set_preimage_pw_multi_aff(__isl_take isl_set *set, |
||
351 | __isl_take isl_pw_multi_aff *pma); |
||
352 | __isl_overload |
||
353 | __isl_give isl_set *isl_set_preimage_multi_pw_aff(__isl_take isl_set *set, |
||
354 | __isl_take isl_multi_pw_aff *mpa); |
||
355 | __isl_give isl_set *isl_set_fix_val(__isl_take isl_set *set, |
||
356 | enum isl_dim_type type, unsigned pos, __isl_take isl_val *v); |
||
357 | __isl_give isl_set *isl_set_fix_dim_si(__isl_take isl_set *set, |
||
358 | unsigned dim, int value); |
||
359 | __isl_give isl_basic_set *isl_basic_set_insert_dims( |
||
360 | __isl_take isl_basic_set *bset, |
||
361 | enum isl_dim_type type, unsigned pos, unsigned n); |
||
362 | __isl_give isl_set *isl_set_insert_dims(__isl_take isl_set *set, |
||
363 | enum isl_dim_type type, unsigned pos, unsigned n); |
||
364 | __isl_give isl_basic_set *isl_basic_set_add_dims(__isl_take isl_basic_set *bset, |
||
365 | enum isl_dim_type type, unsigned n); |
||
366 | __isl_give isl_set *isl_set_add_dims(__isl_take isl_set *set, |
||
367 | enum isl_dim_type type, unsigned n); |
||
368 | __isl_give isl_basic_set *isl_basic_set_move_dims(__isl_take isl_basic_set *bset, |
||
369 | enum isl_dim_type dst_type, unsigned dst_pos, |
||
370 | enum isl_dim_type src_type, unsigned src_pos, unsigned n); |
||
371 | __isl_give isl_set *isl_set_move_dims(__isl_take isl_set *set, |
||
372 | enum isl_dim_type dst_type, unsigned dst_pos, |
||
373 | enum isl_dim_type src_type, unsigned src_pos, unsigned n); |
||
374 | __isl_give isl_basic_set *isl_basic_set_project_out( |
||
375 | __isl_take isl_basic_set *bset, |
||
376 | enum isl_dim_type type, unsigned first, unsigned n); |
||
377 | __isl_overload |
||
378 | __isl_give isl_set *isl_set_project_out_param_id(__isl_take isl_set *set, |
||
379 | __isl_take isl_id *id); |
||
380 | __isl_overload |
||
381 | __isl_give isl_set *isl_set_project_out_param_id_list(__isl_take isl_set *set, |
||
382 | __isl_take isl_id_list *list); |
||
383 | __isl_give isl_set *isl_set_project_out(__isl_take isl_set *set, |
||
384 | enum isl_dim_type type, unsigned first, unsigned n); |
||
385 | __isl_export |
||
386 | __isl_give isl_set *isl_set_project_out_all_params(__isl_take isl_set *set); |
||
387 | __isl_give isl_map *isl_set_project_onto_map(__isl_take isl_set *set, |
||
388 | enum isl_dim_type type, unsigned first, unsigned n); |
||
389 | __isl_give isl_basic_set *isl_basic_set_remove_divs( |
||
390 | __isl_take isl_basic_set *bset); |
||
391 | __isl_give isl_basic_set *isl_basic_set_eliminate( |
||
392 | __isl_take isl_basic_set *bset, |
||
393 | enum isl_dim_type type, unsigned first, unsigned n); |
||
394 | __isl_give isl_set *isl_set_eliminate(__isl_take isl_set *set, |
||
395 | enum isl_dim_type type, unsigned first, unsigned n); |
||
396 | __isl_give isl_set *isl_set_eliminate_dims(__isl_take isl_set *set, |
||
397 | unsigned first, unsigned n); |
||
398 | __isl_give isl_set *isl_set_remove_dims(__isl_take isl_set *bset, |
||
399 | enum isl_dim_type type, unsigned first, unsigned n); |
||
400 | __isl_give isl_basic_set *isl_basic_set_remove_divs_involving_dims( |
||
401 | __isl_take isl_basic_set *bset, |
||
402 | enum isl_dim_type type, unsigned first, unsigned n); |
||
403 | __isl_give isl_set *isl_set_remove_divs_involving_dims(__isl_take isl_set *set, |
||
404 | enum isl_dim_type type, unsigned first, unsigned n); |
||
405 | __isl_give isl_basic_set *isl_basic_set_remove_unknown_divs( |
||
406 | __isl_take isl_basic_set *bset); |
||
407 | __isl_give isl_set *isl_set_remove_unknown_divs(__isl_take isl_set *set); |
||
408 | __isl_give isl_set *isl_set_remove_divs(__isl_take isl_set *set); |
||
409 | __isl_give isl_set *isl_set_split_dims(__isl_take isl_set *set, |
||
410 | enum isl_dim_type type, unsigned first, unsigned n); |
||
411 | |||
412 | __isl_give isl_basic_set *isl_basic_set_drop_constraints_involving_dims( |
||
413 | __isl_take isl_basic_set *bset, |
||
414 | enum isl_dim_type type, unsigned first, unsigned n); |
||
415 | __isl_give isl_basic_set *isl_basic_set_drop_constraints_not_involving_dims( |
||
416 | __isl_take isl_basic_set *bset, |
||
417 | enum isl_dim_type type, unsigned first, unsigned n); |
||
418 | __isl_give isl_set *isl_set_drop_constraints_involving_dims( |
||
419 | __isl_take isl_set *set, |
||
420 | enum isl_dim_type type, unsigned first, unsigned n); |
||
421 | __isl_give isl_set *isl_set_drop_constraints_not_involving_dims( |
||
422 | __isl_take isl_set *set, |
||
423 | enum isl_dim_type type, unsigned first, unsigned n); |
||
424 | |||
425 | __isl_export |
||
426 | isl_bool isl_set_involves_locals(__isl_keep isl_set *set); |
||
427 | |||
428 | isl_bool isl_basic_set_involves_dims(__isl_keep isl_basic_set *bset, |
||
429 | enum isl_dim_type type, unsigned first, unsigned n); |
||
430 | isl_bool isl_set_involves_dims(__isl_keep isl_set *set, |
||
431 | enum isl_dim_type type, unsigned first, unsigned n); |
||
432 | |||
433 | void isl_set_print_internal(__isl_keep isl_set *set, FILE *out, int indent); |
||
434 | isl_bool isl_set_plain_is_empty(__isl_keep isl_set *set); |
||
435 | isl_bool isl_set_plain_is_universe(__isl_keep isl_set *set); |
||
436 | isl_bool isl_set_is_params(__isl_keep isl_set *set); |
||
437 | __isl_export |
||
438 | isl_bool isl_set_is_empty(__isl_keep isl_set *set); |
||
439 | isl_bool isl_set_is_bounded(__isl_keep isl_set *set); |
||
440 | __isl_export |
||
441 | isl_bool isl_set_is_subset(__isl_keep isl_set *set1, __isl_keep isl_set *set2); |
||
442 | __isl_export |
||
443 | isl_bool isl_set_is_strict_subset(__isl_keep isl_set *set1, |
||
444 | __isl_keep isl_set *set2); |
||
445 | __isl_export |
||
446 | isl_bool isl_set_is_equal(__isl_keep isl_set *set1, __isl_keep isl_set *set2); |
||
447 | __isl_export |
||
448 | isl_bool isl_set_is_disjoint(__isl_keep isl_set *set1, |
||
449 | __isl_keep isl_set *set2); |
||
450 | __isl_export |
||
451 | isl_bool isl_set_is_singleton(__isl_keep isl_set *set); |
||
452 | isl_bool isl_set_is_box(__isl_keep isl_set *set); |
||
453 | isl_bool isl_set_has_equal_space(__isl_keep isl_set *set1, |
||
454 | __isl_keep isl_set *set2); |
||
455 | |||
456 | __isl_give isl_set *isl_set_sum(__isl_take isl_set *set1, |
||
457 | __isl_take isl_set *set2); |
||
458 | __isl_give isl_basic_set *isl_basic_set_neg(__isl_take isl_basic_set *bset); |
||
459 | __isl_give isl_set *isl_set_neg(__isl_take isl_set *set); |
||
460 | |||
461 | __isl_give isl_set *isl_set_make_disjoint(__isl_take isl_set *set); |
||
462 | __isl_give isl_set *isl_basic_set_compute_divs(__isl_take isl_basic_set *bset); |
||
463 | __isl_give isl_set *isl_set_compute_divs(__isl_take isl_set *set); |
||
464 | ISL_DEPRECATED |
||
465 | __isl_give isl_set *isl_set_align_divs(__isl_take isl_set *set); |
||
466 | |||
467 | __isl_export |
||
468 | __isl_give isl_multi_val *isl_set_get_plain_multi_val_if_fixed( |
||
469 | __isl_keep isl_set *set); |
||
470 | __isl_give isl_val *isl_set_plain_get_val_if_fixed(__isl_keep isl_set *set, |
||
471 | enum isl_dim_type type, unsigned pos); |
||
472 | isl_bool isl_set_dim_is_bounded(__isl_keep isl_set *set, |
||
473 | enum isl_dim_type type, unsigned pos); |
||
474 | isl_bool isl_set_dim_has_lower_bound(__isl_keep isl_set *set, |
||
475 | enum isl_dim_type type, unsigned pos); |
||
476 | isl_bool isl_set_dim_has_upper_bound(__isl_keep isl_set *set, |
||
477 | enum isl_dim_type type, unsigned pos); |
||
478 | isl_bool isl_set_dim_has_any_lower_bound(__isl_keep isl_set *set, |
||
479 | enum isl_dim_type type, unsigned pos); |
||
480 | isl_bool isl_set_dim_has_any_upper_bound(__isl_keep isl_set *set, |
||
481 | enum isl_dim_type type, unsigned pos); |
||
482 | |||
483 | __isl_export |
||
484 | __isl_give isl_basic_set *isl_basic_set_gist(__isl_take isl_basic_set *bset, |
||
485 | __isl_take isl_basic_set *context); |
||
486 | __isl_give isl_set *isl_set_gist_basic_set(__isl_take isl_set *set, |
||
487 | __isl_take isl_basic_set *context); |
||
488 | __isl_export |
||
489 | __isl_give isl_set *isl_set_gist(__isl_take isl_set *set, |
||
490 | __isl_take isl_set *context); |
||
491 | __isl_give isl_set *isl_set_gist_params(__isl_take isl_set *set, |
||
492 | __isl_take isl_set *context); |
||
493 | isl_stat isl_set_dim_residue_class_val(__isl_keep isl_set *set, |
||
494 | int pos, __isl_give isl_val **modulo, __isl_give isl_val **residue); |
||
495 | |||
496 | __isl_give isl_stride_info *isl_set_get_stride_info(__isl_keep isl_set *set, |
||
497 | int pos); |
||
498 | __isl_export |
||
499 | __isl_give isl_val *isl_set_get_stride(__isl_keep isl_set *set, int pos); |
||
500 | __isl_export |
||
501 | __isl_give isl_fixed_box *isl_set_get_simple_fixed_box_hull( |
||
502 | __isl_keep isl_set *set); |
||
503 | |||
504 | __isl_export |
||
505 | __isl_give isl_set *isl_set_coalesce(__isl_take isl_set *set); |
||
506 | |||
507 | int isl_set_plain_cmp(__isl_keep isl_set *set1, __isl_keep isl_set *set2); |
||
508 | isl_bool isl_set_plain_is_equal(__isl_keep isl_set *set1, |
||
509 | __isl_keep isl_set *set2); |
||
510 | isl_bool isl_set_plain_is_disjoint(__isl_keep isl_set *set1, |
||
511 | __isl_keep isl_set *set2); |
||
512 | |||
513 | uint32_t isl_set_get_hash(__isl_keep isl_set *set); |
||
514 | |||
515 | __isl_export |
||
516 | isl_size isl_set_n_basic_set(__isl_keep isl_set *set); |
||
517 | __isl_export |
||
518 | isl_stat isl_set_foreach_basic_set(__isl_keep isl_set *set, |
||
519 | isl_stat (*fn)(__isl_take isl_basic_set *bset, void *user), void *user); |
||
520 | __isl_give isl_basic_set_list *isl_set_get_basic_set_list( |
||
521 | __isl_keep isl_set *set); |
||
522 | |||
523 | __isl_export |
||
524 | isl_stat isl_set_foreach_point(__isl_keep isl_set *set, |
||
525 | isl_stat (*fn)(__isl_take isl_point *pnt, void *user), void *user); |
||
526 | __isl_give isl_val *isl_set_count_val(__isl_keep isl_set *set); |
||
527 | |||
528 | __isl_constructor |
||
529 | __isl_give isl_basic_set *isl_basic_set_from_point(__isl_take isl_point *pnt); |
||
530 | __isl_export |
||
531 | __isl_give isl_set *isl_point_to_set(__isl_take isl_point *pnt); |
||
532 | __isl_constructor |
||
533 | __isl_give isl_set *isl_set_from_point(__isl_take isl_point *pnt); |
||
534 | __isl_give isl_basic_set *isl_basic_set_box_from_points( |
||
535 | __isl_take isl_point *pnt1, __isl_take isl_point *pnt2); |
||
536 | __isl_give isl_set *isl_set_box_from_points(__isl_take isl_point *pnt1, |
||
537 | __isl_take isl_point *pnt2); |
||
538 | |||
539 | __isl_give isl_basic_set *isl_basic_set_lift(__isl_take isl_basic_set *bset); |
||
540 | __isl_give isl_set *isl_set_lift(__isl_take isl_set *set); |
||
541 | |||
542 | __isl_give isl_map *isl_set_lex_le_set(__isl_take isl_set *set1, |
||
543 | __isl_take isl_set *set2); |
||
544 | __isl_give isl_map *isl_set_lex_lt_set(__isl_take isl_set *set1, |
||
545 | __isl_take isl_set *set2); |
||
546 | __isl_give isl_map *isl_set_lex_ge_set(__isl_take isl_set *set1, |
||
547 | __isl_take isl_set *set2); |
||
548 | __isl_give isl_map *isl_set_lex_gt_set(__isl_take isl_set *set1, |
||
549 | __isl_take isl_set *set2); |
||
550 | |||
551 | int isl_set_size(__isl_keep isl_set *set); |
||
552 | |||
553 | __isl_give isl_basic_set *isl_basic_set_align_params( |
||
554 | __isl_take isl_basic_set *bset, __isl_take isl_space *model); |
||
555 | __isl_give isl_set *isl_set_align_params(__isl_take isl_set *set, |
||
556 | __isl_take isl_space *model); |
||
557 | __isl_give isl_basic_set *isl_basic_set_drop_unused_params( |
||
558 | __isl_take isl_basic_set *bset); |
||
559 | __isl_give isl_set *isl_set_drop_unused_params(__isl_take isl_set *set); |
||
560 | |||
561 | __isl_give isl_mat *isl_basic_set_equalities_matrix( |
||
562 | __isl_keep isl_basic_set *bset, enum isl_dim_type c1, |
||
563 | enum isl_dim_type c2, enum isl_dim_type c3, enum isl_dim_type c4); |
||
564 | __isl_give isl_mat *isl_basic_set_inequalities_matrix( |
||
565 | __isl_keep isl_basic_set *bset, enum isl_dim_type c1, |
||
566 | enum isl_dim_type c2, enum isl_dim_type c3, enum isl_dim_type c4); |
||
567 | __isl_give isl_basic_set *isl_basic_set_from_constraint_matrices( |
||
568 | __isl_take isl_space *space, |
||
569 | __isl_take isl_mat *eq, __isl_take isl_mat *ineq, enum isl_dim_type c1, |
||
570 | enum isl_dim_type c2, enum isl_dim_type c3, enum isl_dim_type c4); |
||
571 | |||
572 | __isl_give isl_basic_set *isl_basic_set_from_multi_aff( |
||
573 | __isl_take isl_multi_aff *ma); |
||
574 | |||
575 | __isl_export |
||
576 | __isl_give isl_set *isl_multi_aff_as_set(__isl_take isl_multi_aff *ma); |
||
577 | __isl_give isl_set *isl_set_from_multi_aff(__isl_take isl_multi_aff *ma); |
||
578 | |||
579 | __isl_give isl_mat *isl_basic_set_reduced_basis(__isl_keep isl_basic_set *bset); |
||
580 | |||
581 | __isl_give isl_basic_set *isl_basic_set_coefficients( |
||
582 | __isl_take isl_basic_set *bset); |
||
583 | __isl_give isl_basic_set_list *isl_basic_set_list_coefficients( |
||
584 | __isl_take isl_basic_set_list *list); |
||
585 | __isl_give isl_basic_set *isl_set_coefficients(__isl_take isl_set *set); |
||
586 | __isl_give isl_basic_set *isl_basic_set_solutions( |
||
587 | __isl_take isl_basic_set *bset); |
||
588 | __isl_give isl_basic_set *isl_set_solutions(__isl_take isl_set *set); |
||
589 | |||
590 | __isl_give isl_pw_aff *isl_set_dim_max(__isl_take isl_set *set, int pos); |
||
591 | __isl_give isl_pw_aff *isl_set_dim_min(__isl_take isl_set *set, int pos); |
||
592 | |||
593 | __isl_give char *isl_basic_set_to_str(__isl_keep isl_basic_set *bset); |
||
594 | __isl_give char *isl_set_to_str(__isl_keep isl_set *set); |
||
595 | |||
596 | #if defined(__cplusplus) |
||
597 | } |
||
598 | #endif |
||
599 | |||
600 | #endif |