2
2
* Copyright 2008-2009 Katholieke Universiteit Leuven
4
* Use of this software is governed by the GNU LGPLv2.1 license
4
* Use of this software is governed by the MIT license
6
6
* Written by Sven Verdoolaege, K.U.Leuven, Departement
7
7
* Computerwetenschappen, Celestijnenlaan 200A, B-3001 Leuven, Belgium
45
45
__isl_keep isl_basic_set *bset);
47
47
const char *isl_basic_set_get_tuple_name(__isl_keep isl_basic_set *bset);
48
int isl_set_has_tuple_name(__isl_keep isl_set *set);
48
49
const char *isl_set_get_tuple_name(__isl_keep isl_set *set);
49
50
__isl_give isl_basic_set *isl_basic_set_set_tuple_name(
50
51
__isl_take isl_basic_set *set, const char *s);
55
56
__isl_give isl_basic_set *isl_basic_set_set_dim_name(
56
57
__isl_take isl_basic_set *bset,
57
58
enum isl_dim_type type, unsigned pos, const char *s);
59
int isl_set_has_dim_name(__isl_keep isl_set *set,
60
enum isl_dim_type type, unsigned pos);
58
61
const char *isl_set_get_dim_name(__isl_keep isl_set *set,
59
62
enum isl_dim_type type, unsigned pos);
60
63
__isl_give isl_set *isl_set_set_dim_name(__isl_take isl_set *set,
61
64
enum isl_dim_type type, unsigned pos, const char *s);
66
__isl_give isl_id *isl_basic_set_get_dim_id(__isl_keep isl_basic_set *bset,
67
enum isl_dim_type type, unsigned pos);
63
68
__isl_give isl_set *isl_set_set_dim_id(__isl_take isl_set *set,
64
69
enum isl_dim_type type, unsigned pos, __isl_take isl_id *id);
65
70
int isl_set_has_dim_id(__isl_keep isl_set *set,
88
93
struct isl_basic_set *isl_basic_set_extend_constraints(
89
94
struct isl_basic_set *base, unsigned n_eq, unsigned n_ineq);
90
95
struct isl_basic_set *isl_basic_set_finalize(struct isl_basic_set *bset);
91
void isl_basic_set_free(__isl_take isl_basic_set *bset);
96
void *isl_basic_set_free(__isl_take isl_basic_set *bset);
92
97
__isl_give isl_basic_set *isl_basic_set_copy(__isl_keep isl_basic_set *bset);
93
98
struct isl_basic_set *isl_basic_set_dup(struct isl_basic_set *bset);
94
99
__isl_give isl_basic_set *isl_basic_set_empty(__isl_take isl_space *dim);
115
120
__isl_give isl_basic_set *isl_basic_set_apply(
116
121
__isl_take isl_basic_set *bset,
117
122
__isl_take isl_basic_map *bmap);
123
__isl_give isl_basic_set *isl_basic_set_preimage_multi_aff(
124
__isl_take isl_basic_set *bset, __isl_take isl_multi_aff *ma);
119
126
__isl_give isl_basic_set *isl_basic_set_affine_hull(
120
127
__isl_take isl_basic_set *bset);
121
128
__isl_give isl_basic_set *isl_basic_set_remove_dims(
122
129
__isl_take isl_basic_set *bset,
123
130
enum isl_dim_type type, unsigned first, unsigned n);
132
__isl_give isl_basic_set *isl_basic_set_sample(__isl_take isl_basic_set *bset);
124
133
struct isl_basic_set *isl_basic_set_simplify(struct isl_basic_set *bset);
126
135
__isl_give isl_basic_set *isl_basic_set_detect_equalities(
157
166
enum isl_dim_type type, unsigned pos, int value);
158
167
__isl_give isl_set *isl_set_lower_bound_si(__isl_take isl_set *set,
159
168
enum isl_dim_type type, unsigned pos, int value);
169
__isl_give isl_set *isl_set_lower_bound(__isl_take isl_set *set,
170
enum isl_dim_type type, unsigned pos, isl_int value);
160
171
__isl_give isl_set *isl_set_upper_bound_si(__isl_take isl_set *set,
161
172
enum isl_dim_type type, unsigned pos, int value);
173
__isl_give isl_set *isl_set_upper_bound(__isl_take isl_set *set,
174
enum isl_dim_type type, unsigned pos, isl_int value);
163
176
__isl_give isl_set *isl_set_equate(__isl_take isl_set *set,
164
177
enum isl_dim_type type1, int pos1, enum isl_dim_type type2, int pos2);
211
224
__isl_keep isl_set *set2, int pos);
213
226
__isl_give isl_basic_set *isl_basic_set_params(__isl_take isl_basic_set *bset);
227
__isl_give isl_basic_set *isl_basic_set_from_params(
228
__isl_take isl_basic_set *bset);
214
229
__isl_give isl_set *isl_set_params(__isl_take isl_set *set);
215
230
__isl_give isl_set *isl_set_from_params(__isl_take isl_set *set);
224
239
int isl_basic_set_is_empty(__isl_keep isl_basic_set *bset);
225
240
int isl_basic_set_is_bounded(__isl_keep isl_basic_set *bset);
242
int isl_basic_set_is_subset(__isl_keep isl_basic_set *bset1,
243
__isl_keep isl_basic_set *bset2);
227
245
struct isl_set *isl_set_alloc(struct isl_ctx *ctx,
228
246
unsigned nparam, unsigned dim, int n, unsigned flags);
237
255
__isl_take isl_basic_set *bset);
238
256
struct isl_set *isl_set_finalize(struct isl_set *set);
239
257
__isl_give isl_set *isl_set_copy(__isl_keep isl_set *set);
240
void isl_set_free(__isl_take isl_set *set);
258
void *isl_set_free(__isl_take isl_set *set);
241
259
struct isl_set *isl_set_dup(struct isl_set *set);
242
260
__isl_constructor
243
261
__isl_give isl_set *isl_set_from_basic_set(__isl_take isl_basic_set *bset);
244
263
__isl_give isl_basic_set *isl_set_sample(__isl_take isl_set *set);
245
264
__isl_give isl_point *isl_basic_set_sample_point(__isl_take isl_basic_set *bset);
246
265
__isl_give isl_point *isl_set_sample_point(__isl_take isl_set *set);
284
305
__isl_give isl_set *isl_set_apply(
285
306
__isl_take isl_set *set,
286
307
__isl_take isl_map *map);
308
__isl_give isl_set *isl_set_preimage_multi_aff(__isl_take isl_set *set,
309
__isl_take isl_multi_aff *ma);
310
__isl_give isl_set *isl_set_preimage_pw_multi_aff(__isl_take isl_set *set,
311
__isl_take isl_pw_multi_aff *pma);
287
312
__isl_give isl_set *isl_set_fix(__isl_take isl_set *set,
288
313
enum isl_dim_type type, unsigned pos, isl_int value);
289
314
struct isl_set *isl_set_fix_dim_si(struct isl_set *set,
290
315
unsigned dim, int value);
291
316
struct isl_set *isl_set_lower_bound_dim(struct isl_set *set,
292
317
unsigned dim, isl_int value);
318
__isl_give isl_basic_set *isl_basic_set_insert_dims(
319
__isl_take isl_basic_set *bset,
320
enum isl_dim_type type, unsigned pos, unsigned n);
293
321
__isl_give isl_set *isl_set_insert_dims(__isl_take isl_set *set,
294
322
enum isl_dim_type type, unsigned pos, unsigned n);
323
__isl_give isl_basic_set *isl_basic_set_add_dims(__isl_take isl_basic_set *bset,
324
enum isl_dim_type type, unsigned n);
295
326
__isl_give isl_basic_set *isl_basic_set_add(__isl_take isl_basic_set *bset,
296
enum isl_dim_type type, unsigned n);
327
enum isl_dim_type type, unsigned n);
297
328
__isl_give isl_set *isl_set_add_dims(__isl_take isl_set *set,
298
329
enum isl_dim_type type, unsigned n);
299
330
__isl_give isl_basic_set *isl_basic_set_move_dims(__isl_take isl_basic_set *bset,
309
340
enum isl_dim_type type, unsigned first, unsigned n);
310
341
__isl_give isl_basic_set *isl_basic_set_remove_divs(
311
342
__isl_take isl_basic_set *bset);
343
__isl_give isl_basic_set *isl_basic_set_eliminate(
344
__isl_take isl_basic_set *bset,
345
enum isl_dim_type type, unsigned first, unsigned n);
312
346
__isl_give isl_set *isl_set_eliminate(__isl_take isl_set *set,
313
347
enum isl_dim_type type, unsigned first, unsigned n);
314
348
struct isl_set *isl_set_eliminate_dims(struct isl_set *set,
315
349
unsigned first, unsigned n);
316
350
__isl_give isl_set *isl_set_remove_dims(__isl_take isl_set *bset,
317
351
enum isl_dim_type type, unsigned first, unsigned n);
352
__isl_give isl_basic_set *isl_basic_set_remove_divs_involving_dims(
353
__isl_take isl_basic_set *bset,
354
enum isl_dim_type type, unsigned first, unsigned n);
318
355
__isl_give isl_set *isl_set_remove_divs_involving_dims(__isl_take isl_set *set,
319
356
enum isl_dim_type type, unsigned first, unsigned n);
357
__isl_give isl_basic_set *isl_basic_set_remove_unknown_divs(
358
__isl_take isl_basic_set *bset);
320
359
__isl_give isl_set *isl_set_remove_unknown_divs(__isl_take isl_set *set);
321
360
__isl_give isl_set *isl_set_remove_divs(__isl_take isl_set *set);
322
361
__isl_give isl_set *isl_set_split_dims(__isl_take isl_set *set,
323
362
enum isl_dim_type type, unsigned first, unsigned n);
364
__isl_give isl_basic_set *isl_basic_set_drop_constraints_involving_dims(
365
__isl_take isl_basic_set *bset,
366
enum isl_dim_type type, unsigned first, unsigned n);
367
__isl_give isl_basic_set *isl_basic_set_drop_constraints_not_involving_dims(
368
__isl_take isl_basic_set *bset,
369
enum isl_dim_type type, unsigned first, unsigned n);
370
__isl_give isl_set *isl_set_drop_constraints_involving_dims(
371
__isl_take isl_set *set,
372
enum isl_dim_type type, unsigned first, unsigned n);
325
374
int isl_basic_set_involves_dims(__isl_keep isl_basic_set *bset,
326
375
enum isl_dim_type type, unsigned first, unsigned n);
327
376
int isl_set_involves_dims(__isl_keep isl_set *set,
342
391
int isl_set_is_strict_subset(__isl_keep isl_set *set1, __isl_keep isl_set *set2);
344
393
int isl_set_is_equal(__isl_keep isl_set *set1, __isl_keep isl_set *set2);
395
int isl_set_is_disjoint(__isl_keep isl_set *set1, __isl_keep isl_set *set2);
345
396
int isl_set_is_singleton(__isl_keep isl_set *set);
346
397
int isl_set_is_box(__isl_keep isl_set *set);
347
398
int isl_set_has_equal_space(__isl_keep isl_set *set1, __isl_keep isl_set *set2);
377
428
enum isl_dim_type type, unsigned pos);
378
429
int isl_set_dim_has_upper_bound(__isl_keep isl_set *set,
379
430
enum isl_dim_type type, unsigned pos);
431
int isl_set_dim_has_any_lower_bound(__isl_keep isl_set *set,
432
enum isl_dim_type type, unsigned pos);
433
int isl_set_dim_has_any_upper_bound(__isl_keep isl_set *set,
434
enum isl_dim_type type, unsigned pos);
382
437
__isl_give isl_basic_set *isl_basic_set_gist(__isl_take isl_basic_set *bset,
397
452
__isl_give isl_set *isl_set_coalesce(__isl_take isl_set *set);
454
int isl_set_plain_cmp(__isl_keep isl_set *set1, __isl_keep isl_set *set2);
399
455
int isl_set_plain_is_equal(__isl_keep isl_set *set1, __isl_keep isl_set *set2);
400
456
int isl_set_fast_is_equal(__isl_keep isl_set *set1, __isl_keep isl_set *set2);
401
457
int isl_set_plain_is_disjoint(__isl_keep isl_set *set1,