~ubuntu-branches/ubuntu/trusty/cloog/trusty

« back to all changes in this revision

Viewing changes to isl/include/isl/set.h

  • Committer: Package Import Robot
  • Author(s): Matthias Klose
  • Date: 2013-01-13 04:29:53 UTC
  • mfrom: (3.1.3 sid)
  • Revision ID: package-import@ubuntu.com-20130113042953-yffow2nvsub33dcd
New upstream version.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
2
 * Copyright 2008-2009 Katholieke Universiteit Leuven
3
3
 *
4
 
 * Use of this software is governed by the GNU LGPLv2.1 license
 
4
 * Use of this software is governed by the MIT license
5
5
 *
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);
46
46
 
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);
62
65
 
 
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);
118
125
__isl_export
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);
 
131
__isl_export
 
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);
125
134
__isl_export
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);
162
175
 
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);
212
225
 
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);
216
231
 
223
238
__isl_export
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);
 
241
__isl_export
 
242
int isl_basic_set_is_subset(__isl_keep isl_basic_set *bset1,
 
243
        __isl_keep isl_basic_set *bset2);
226
244
 
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);
 
262
__isl_export
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);
252
271
__isl_export
253
272
__isl_give isl_basic_set *isl_set_polyhedral_hull(__isl_take isl_set *set);
254
273
__isl_give isl_basic_set *isl_set_simple_hull(__isl_take isl_set *set);
 
274
__isl_give isl_basic_set *isl_set_unshifted_simple_hull(
 
275
        __isl_take isl_set *set);
255
276
struct isl_basic_set *isl_set_bounded_simple_hull(struct isl_set *set);
256
277
__isl_give isl_set *isl_set_recession_cone(__isl_take isl_set *set);
257
278
 
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);
 
325
/* deprecated */
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);
324
363
 
 
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);
 
373
 
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);
343
392
__isl_export
344
393
int isl_set_is_equal(__isl_keep isl_set *set1, __isl_keep isl_set *set2);
 
394
__isl_export
 
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);
380
435
 
381
436
__isl_export
382
437
__isl_give isl_basic_set *isl_basic_set_gist(__isl_take isl_basic_set *bset,
396
451
__isl_export
397
452
__isl_give isl_set *isl_set_coalesce(__isl_take isl_set *set);
398
453
 
 
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,
440
496
 
441
497
int isl_set_size(__isl_keep isl_set *set);
442
498
 
 
499
__isl_give isl_basic_set *isl_basic_set_align_params(
 
500
        __isl_take isl_basic_set *bset, __isl_take isl_space *model);
443
501
__isl_give isl_set *isl_set_align_params(__isl_take isl_set *set,
444
502
        __isl_take isl_space *model);
445
503