5
5
#include <isl/constraint.h>
8
7
#include <isl/set_type.h>
9
8
#include <isl/point.h>
10
9
#include <isl/printer.h>
11
10
#include <isl/union_set.h>
12
11
#include <isl/aff_type.h>
12
#include <isl/polynomial_type.h>
14
14
#if defined(__cplusplus)
18
struct isl_qpolynomial;
19
typedef struct isl_qpolynomial isl_qpolynomial;
21
18
isl_ctx *isl_qpolynomial_get_ctx(__isl_keep isl_qpolynomial *qp);
22
__isl_give isl_dim *isl_qpolynomial_get_dim(__isl_keep isl_qpolynomial *qp);
23
__isl_give isl_qpolynomial *isl_qpolynomial_reset_dim(
24
__isl_take isl_qpolynomial *qp, __isl_take isl_dim *dim);
19
__isl_give isl_space *isl_qpolynomial_get_domain_space(
20
__isl_keep isl_qpolynomial *qp);
21
__isl_give isl_space *isl_qpolynomial_get_space(__isl_keep isl_qpolynomial *qp);
25
22
unsigned isl_qpolynomial_dim(__isl_keep isl_qpolynomial *qp,
26
23
enum isl_dim_type type);
27
24
int isl_qpolynomial_involves_dims(__isl_keep isl_qpolynomial *qp,
31
28
__isl_take isl_qpolynomial *qp,
32
29
enum isl_dim_type type, unsigned pos, const char *s);
34
__isl_give isl_qpolynomial *isl_qpolynomial_zero(__isl_take isl_dim *dim);
35
__isl_give isl_qpolynomial *isl_qpolynomial_one(__isl_take isl_dim *dim);
36
__isl_give isl_qpolynomial *isl_qpolynomial_infty(__isl_take isl_dim *dim);
37
__isl_give isl_qpolynomial *isl_qpolynomial_neginfty(__isl_take isl_dim *dim);
38
__isl_give isl_qpolynomial *isl_qpolynomial_nan(__isl_take isl_dim *dim);
39
__isl_give isl_qpolynomial *isl_qpolynomial_rat_cst(__isl_take isl_dim *dim,
31
__isl_give isl_qpolynomial *isl_qpolynomial_zero_on_domain(__isl_take isl_space *dim);
32
__isl_give isl_qpolynomial *isl_qpolynomial_one_on_domain(__isl_take isl_space *dim);
33
__isl_give isl_qpolynomial *isl_qpolynomial_infty_on_domain(__isl_take isl_space *dim);
34
__isl_give isl_qpolynomial *isl_qpolynomial_neginfty_on_domain(__isl_take isl_space *dim);
35
__isl_give isl_qpolynomial *isl_qpolynomial_nan_on_domain(__isl_take isl_space *dim);
36
__isl_give isl_qpolynomial *isl_qpolynomial_rat_cst_on_domain(__isl_take isl_space *dim,
40
37
const isl_int n, const isl_int d);
41
__isl_give isl_qpolynomial *isl_qpolynomial_div(__isl_take isl_div *div);
42
__isl_give isl_qpolynomial *isl_qpolynomial_var(__isl_take isl_dim *dim,
38
__isl_give isl_qpolynomial *isl_qpolynomial_var_on_domain(__isl_take isl_space *dim,
43
39
enum isl_dim_type type, unsigned pos);
44
40
__isl_give isl_qpolynomial *isl_qpolynomial_copy(__isl_keep isl_qpolynomial *qp);
45
void isl_qpolynomial_free(__isl_take isl_qpolynomial *qp);
41
void *isl_qpolynomial_free(__isl_take isl_qpolynomial *qp);
47
43
int isl_qpolynomial_plain_is_equal(__isl_keep isl_qpolynomial *qp1,
48
44
__isl_keep isl_qpolynomial *qp2);
80
76
__isl_take isl_qpolynomial *qp,
81
77
enum isl_dim_type dst_type, unsigned dst_pos,
82
78
enum isl_dim_type src_type, unsigned src_pos, unsigned n);
79
__isl_give isl_qpolynomial *isl_qpolynomial_project_domain_on_params(
80
__isl_take isl_qpolynomial *qp);
83
81
__isl_give isl_qpolynomial *isl_qpolynomial_drop_dims(
84
82
__isl_take isl_qpolynomial *qp,
85
83
enum isl_dim_type type, unsigned first, unsigned n);
98
96
__isl_take isl_qpolynomial *poly);
100
98
__isl_give isl_qpolynomial *isl_qpolynomial_align_params(
101
__isl_take isl_qpolynomial *qp, __isl_take isl_dim *model);
104
typedef struct isl_term isl_term;
99
__isl_take isl_qpolynomial *qp, __isl_take isl_space *model);
106
101
isl_ctx *isl_term_get_ctx(__isl_keep isl_term *term);
103
__isl_give isl_term *isl_term_copy(__isl_keep isl_term *term);
108
104
void isl_term_free(__isl_take isl_term *term);
110
106
unsigned isl_term_dim(__isl_keep isl_term *term, enum isl_dim_type type);
112
108
void isl_term_get_den(__isl_keep isl_term *term, isl_int *d);
113
109
int isl_term_get_exp(__isl_keep isl_term *term,
114
110
enum isl_dim_type type, unsigned pos);
115
__isl_give isl_div *isl_term_get_div(__isl_keep isl_term *term, unsigned pos);
111
__isl_give isl_aff *isl_term_get_div(__isl_keep isl_term *term, unsigned pos);
117
113
int isl_qpolynomial_foreach_term(__isl_keep isl_qpolynomial *qp,
118
114
int (*fn)(__isl_take isl_term *term, void *user), void *user);
120
116
__isl_give isl_qpolynomial *isl_qpolynomial_eval(
121
117
__isl_take isl_qpolynomial *qp, __isl_take isl_point *pnt);
119
__isl_give isl_qpolynomial *isl_qpolynomial_gist_params(
120
__isl_take isl_qpolynomial *qp, __isl_take isl_set *context);
123
121
__isl_give isl_qpolynomial *isl_qpolynomial_gist(
124
122
__isl_take isl_qpolynomial *qp, __isl_take isl_set *context);
136
134
unsigned output_format);
137
135
void isl_qpolynomial_dump(__isl_keep isl_qpolynomial *qp);
139
struct isl_pw_qpolynomial;
140
typedef struct isl_pw_qpolynomial isl_pw_qpolynomial;
142
137
isl_ctx *isl_pw_qpolynomial_get_ctx(__isl_keep isl_pw_qpolynomial *pwqp);
144
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_zero(__isl_take isl_dim *dim);
139
int isl_pw_qpolynomial_plain_is_equal(__isl_keep isl_pw_qpolynomial *pwqp1,
140
__isl_keep isl_pw_qpolynomial *pwqp2);
142
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_zero(__isl_take isl_space *dim);
145
143
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_alloc(__isl_take isl_set *set,
146
144
__isl_take isl_qpolynomial *qp);
145
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_from_qpolynomial(
146
__isl_take isl_qpolynomial *qp);
147
147
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_copy(
148
148
__isl_keep isl_pw_qpolynomial *pwqp);
149
149
void *isl_pw_qpolynomial_free(__isl_take isl_pw_qpolynomial *pwqp);
151
151
int isl_pw_qpolynomial_is_zero(__isl_keep isl_pw_qpolynomial *pwqp);
153
__isl_give isl_dim *isl_pw_qpolynomial_get_dim(
154
__isl_keep isl_pw_qpolynomial *pwqp);
155
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_reset_dim(
156
__isl_take isl_pw_qpolynomial *pwqp, __isl_take isl_dim *dim);
153
__isl_give isl_space *isl_pw_qpolynomial_get_domain_space(
154
__isl_keep isl_pw_qpolynomial *pwqp);
155
__isl_give isl_space *isl_pw_qpolynomial_get_space(
156
__isl_keep isl_pw_qpolynomial *pwqp);
157
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_reset_domain_space(
158
__isl_take isl_pw_qpolynomial *pwqp, __isl_take isl_space *dim);
157
159
unsigned isl_pw_qpolynomial_dim(__isl_keep isl_pw_qpolynomial *pwqp,
158
160
enum isl_dim_type type);
159
161
int isl_pw_qpolynomial_involves_dims(__isl_keep isl_pw_qpolynomial *pwqp,
160
162
enum isl_dim_type type, unsigned first, unsigned n);
161
int isl_pw_qpolynomial_has_equal_dim(__isl_keep isl_pw_qpolynomial *pwqp1,
163
int isl_pw_qpolynomial_has_equal_space(__isl_keep isl_pw_qpolynomial *pwqp1,
162
164
__isl_keep isl_pw_qpolynomial *pwqp2);
164
166
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_set_dim_name(
168
170
__isl_give isl_set *isl_pw_qpolynomial_domain(__isl_take isl_pw_qpolynomial *pwqp);
169
171
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_intersect_domain(
170
172
__isl_take isl_pw_qpolynomial *pwpq, __isl_take isl_set *set);
173
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_intersect_params(
174
__isl_take isl_pw_qpolynomial *pwpq, __isl_take isl_set *set);
176
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_project_domain_on_params(
177
__isl_take isl_pw_qpolynomial *pwqp);
172
178
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_drop_dims(
173
179
__isl_take isl_pw_qpolynomial *pwqp,
174
180
enum isl_dim_type type, unsigned first, unsigned n);
192
198
__isl_take isl_pw_qpolynomial *pwqp2);
193
199
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_mul_isl_int(
194
200
__isl_take isl_pw_qpolynomial *pwqp, isl_int v);
201
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_pow(
202
__isl_take isl_pw_qpolynomial *pwqp, unsigned exponent);
196
204
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_insert_dims(
197
205
__isl_take isl_pw_qpolynomial *pwqp, enum isl_dim_type type,
223
231
int (*fn)(__isl_take isl_set *set, __isl_take isl_qpolynomial *qp,
224
232
void *user), void *user);
234
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_from_pw_aff(
235
__isl_take isl_pw_aff *pwaff);
226
238
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_read_from_str(isl_ctx *ctx,
227
239
const char *str);
228
240
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_read_from_file(isl_ctx *ctx,
237
249
__isl_take isl_pw_qpolynomial *pwqp);
238
250
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_gist(
239
251
__isl_take isl_pw_qpolynomial *pwqp, __isl_take isl_set *context);
252
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_gist_params(
253
__isl_take isl_pw_qpolynomial *pwqp, __isl_take isl_set *context);
241
255
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_split_periods(
242
256
__isl_take isl_pw_qpolynomial *pwqp, int max_periods);
245
259
__isl_take isl_basic_set *bset,
246
260
__isl_give isl_pw_qpolynomial *(*fn)(__isl_take isl_basic_set *bset));
254
struct isl_qpolynomial_fold;
255
typedef struct isl_qpolynomial_fold isl_qpolynomial_fold;
257
262
isl_ctx *isl_qpolynomial_fold_get_ctx(__isl_keep isl_qpolynomial_fold *fold);
258
263
enum isl_fold isl_qpolynomial_fold_get_type(__isl_keep isl_qpolynomial_fold *fold);
260
265
__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_empty(enum isl_fold type,
261
__isl_take isl_dim *dim);
266
__isl_take isl_space *dim);
262
267
__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_alloc(
263
268
enum isl_fold type, __isl_take isl_qpolynomial *qp);
264
269
__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_copy(
265
270
__isl_keep isl_qpolynomial_fold *fold);
266
271
void isl_qpolynomial_fold_free(__isl_take isl_qpolynomial_fold *fold);
268
__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_reset_dim(
269
__isl_take isl_qpolynomial_fold *fold, __isl_take isl_dim *dim);
271
273
int isl_qpolynomial_fold_is_empty(__isl_keep isl_qpolynomial_fold *fold);
272
274
int isl_qpolynomial_fold_plain_is_equal(__isl_keep isl_qpolynomial_fold *fold1,
273
275
__isl_keep isl_qpolynomial_fold *fold2);
275
__isl_give isl_dim *isl_qpolynomial_fold_get_dim(
277
__isl_give isl_space *isl_qpolynomial_fold_get_space(
276
278
__isl_keep isl_qpolynomial_fold *fold);
278
280
__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_fold(
297
299
__isl_give isl_qpolynomial *isl_qpolynomial_fold_eval(
298
300
__isl_take isl_qpolynomial_fold *fold, __isl_take isl_point *pnt);
302
__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_gist_params(
303
__isl_take isl_qpolynomial_fold *fold, __isl_take isl_set *context);
304
__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_gist(
305
__isl_take isl_qpolynomial_fold *fold, __isl_take isl_set *context);
300
307
int isl_qpolynomial_fold_foreach_qpolynomial(
301
308
__isl_keep isl_qpolynomial_fold *fold,
302
309
int (*fn)(__isl_take isl_qpolynomial *qp, void *user), void *user);
307
314
unsigned output_format);
308
315
void isl_qpolynomial_fold_dump(__isl_keep isl_qpolynomial_fold *fold);
310
struct isl_pw_qpolynomial_fold;
311
typedef struct isl_pw_qpolynomial_fold isl_pw_qpolynomial_fold;
313
317
isl_ctx *isl_pw_qpolynomial_fold_get_ctx(__isl_keep isl_pw_qpolynomial_fold *pwf);
319
int isl_pw_qpolynomial_fold_plain_is_equal(
320
__isl_keep isl_pw_qpolynomial_fold *pwf1,
321
__isl_keep isl_pw_qpolynomial_fold *pwf2);
315
323
__isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_from_pw_qpolynomial(
316
324
enum isl_fold type, __isl_take isl_pw_qpolynomial *pwqp);
325
333
int isl_pw_qpolynomial_fold_is_zero(__isl_keep isl_pw_qpolynomial_fold *pwf);
327
__isl_give isl_dim *isl_pw_qpolynomial_fold_get_dim(
328
__isl_keep isl_pw_qpolynomial_fold *pwf);
329
__isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_reset_dim(
330
__isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_dim *dim);
335
__isl_give isl_space *isl_pw_qpolynomial_fold_get_domain_space(
336
__isl_keep isl_pw_qpolynomial_fold *pwf);
337
__isl_give isl_space *isl_pw_qpolynomial_fold_get_space(
338
__isl_keep isl_pw_qpolynomial_fold *pwf);
339
__isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_reset_space(
340
__isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_space *dim);
331
341
unsigned isl_pw_qpolynomial_fold_dim(__isl_keep isl_pw_qpolynomial_fold *pwf,
332
342
enum isl_dim_type type);
333
int isl_pw_qpolynomial_fold_has_equal_dim(
343
int isl_pw_qpolynomial_fold_has_equal_space(
334
344
__isl_keep isl_pw_qpolynomial_fold *pwf1,
335
345
__isl_keep isl_pw_qpolynomial_fold *pwf2);
337
347
size_t isl_pw_qpolynomial_fold_size(__isl_keep isl_pw_qpolynomial_fold *pwf);
339
349
__isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_zero(
340
__isl_take isl_dim *dim, enum isl_fold type);
350
__isl_take isl_space *dim, enum isl_fold type);
342
352
__isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_set_dim_name(
343
353
__isl_take isl_pw_qpolynomial_fold *pwf,
347
357
__isl_take isl_pw_qpolynomial_fold *pwf);
348
358
__isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_intersect_domain(
349
359
__isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_set *set);
360
__isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_intersect_params(
361
__isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_set *set);
351
363
__isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_add(
352
364
__isl_take isl_pw_qpolynomial_fold *pwf1,
360
372
__isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_mul_isl_int(
361
373
__isl_take isl_pw_qpolynomial_fold *pwf, isl_int v);
375
__isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_project_domain_on_params(
376
__isl_take isl_pw_qpolynomial_fold *pwf);
363
377
__isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_drop_dims(
364
378
__isl_take isl_pw_qpolynomial_fold *pwf,
365
379
enum isl_dim_type type, unsigned first, unsigned n);
394
408
__isl_take isl_pw_qpolynomial_fold *pwf);
395
409
__isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_gist(
396
410
__isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_set *context);
411
__isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_gist_params(
412
__isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_set *context);
398
414
__isl_give isl_qpolynomial *isl_pw_qpolynomial_fold_max(
399
415
__isl_take isl_pw_qpolynomial_fold *pwf);
414
430
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_to_polynomial(
415
431
__isl_take isl_pw_qpolynomial *pwqp, int sign);
417
struct isl_union_pw_qpolynomial;
418
typedef struct isl_union_pw_qpolynomial isl_union_pw_qpolynomial;
420
433
isl_ctx *isl_union_pw_qpolynomial_get_ctx(
421
434
__isl_keep isl_union_pw_qpolynomial *upwqp);
436
int isl_union_pw_qpolynomial_plain_is_equal(
437
__isl_keep isl_union_pw_qpolynomial *upwqp1,
438
__isl_keep isl_union_pw_qpolynomial *upwqp2);
423
440
__isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_from_pw_qpolynomial(__isl_take isl_pw_qpolynomial *pwqp);
424
441
__isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_zero(
425
__isl_take isl_dim *dim);
442
__isl_take isl_space *dim);
426
443
__isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_add_pw_qpolynomial(
427
444
__isl_take isl_union_pw_qpolynomial *upwqp,
428
445
__isl_take isl_pw_qpolynomial *pwqp);
430
447
__isl_keep isl_union_pw_qpolynomial *upwqp);
431
448
void isl_union_pw_qpolynomial_free(__isl_take isl_union_pw_qpolynomial *upwqp);
451
__isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_read_from_str(
452
isl_ctx *ctx, const char *str);
433
454
__isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_add(
434
455
__isl_take isl_union_pw_qpolynomial *upwqp1,
435
456
__isl_take isl_union_pw_qpolynomial *upwqp2);
447
468
__isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_intersect_domain(
448
469
__isl_take isl_union_pw_qpolynomial *upwpq,
449
470
__isl_take isl_union_set *uset);
471
__isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_intersect_params(
472
__isl_take isl_union_pw_qpolynomial *upwpq,
473
__isl_take isl_set *set);
451
__isl_give isl_dim *isl_union_pw_qpolynomial_get_dim(
475
__isl_give isl_space *isl_union_pw_qpolynomial_get_space(
452
476
__isl_keep isl_union_pw_qpolynomial *upwqp);
454
478
__isl_give isl_qpolynomial *isl_union_pw_qpolynomial_eval(
459
483
__isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_gist(
460
484
__isl_take isl_union_pw_qpolynomial *upwqp,
461
485
__isl_take isl_union_set *context);
486
__isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_gist_params(
487
__isl_take isl_union_pw_qpolynomial *upwqp,
488
__isl_take isl_set *context);
463
490
__isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_align_params(
464
491
__isl_take isl_union_pw_qpolynomial *upwqp,
465
__isl_take isl_dim *model);
492
__isl_take isl_space *model);
467
494
int isl_union_pw_qpolynomial_foreach_pw_qpolynomial(
468
495
__isl_keep isl_union_pw_qpolynomial *upwqp,
469
496
int (*fn)(__isl_take isl_pw_qpolynomial *pwqp, void *user), void *user);
470
497
__isl_give isl_pw_qpolynomial *isl_union_pw_qpolynomial_extract_pw_qpolynomial(
471
__isl_keep isl_union_pw_qpolynomial *upwqp, __isl_take isl_dim *dim);
498
__isl_keep isl_union_pw_qpolynomial *upwqp, __isl_take isl_space *dim);
473
500
__isl_give isl_printer *isl_printer_print_union_pw_qpolynomial(
474
501
__isl_take isl_printer *p, __isl_keep isl_union_pw_qpolynomial *upwqp);
476
struct isl_union_pw_qpolynomial_fold;
477
typedef struct isl_union_pw_qpolynomial_fold isl_union_pw_qpolynomial_fold;
479
503
isl_ctx *isl_union_pw_qpolynomial_fold_get_ctx(
480
504
__isl_keep isl_union_pw_qpolynomial_fold *upwf);
506
int isl_union_pw_qpolynomial_fold_plain_is_equal(
507
__isl_keep isl_union_pw_qpolynomial_fold *upwf1,
508
__isl_keep isl_union_pw_qpolynomial_fold *upwf2);
482
510
__isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_from_pw_qpolynomial_fold(__isl_take isl_pw_qpolynomial_fold *pwf);
483
511
__isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_zero(
484
__isl_take isl_dim *dim, enum isl_fold type);
512
__isl_take isl_space *dim, enum isl_fold type);
485
513
__isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_fold_pw_qpolynomial_fold(
486
514
__isl_take isl_union_pw_qpolynomial_fold *upwqp,
487
515
__isl_take isl_pw_qpolynomial_fold *pwqp);
504
532
__isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_intersect_domain(
505
533
__isl_take isl_union_pw_qpolynomial_fold *upwf,
506
534
__isl_take isl_union_set *uset);
535
__isl_give isl_union_pw_qpolynomial_fold *
536
isl_union_pw_qpolynomial_fold_intersect_params(
537
__isl_take isl_union_pw_qpolynomial_fold *upwf,
538
__isl_take isl_set *set);
508
540
enum isl_fold isl_union_pw_qpolynomial_fold_get_type(
509
541
__isl_keep isl_union_pw_qpolynomial_fold *upwf);
510
__isl_give isl_dim *isl_union_pw_qpolynomial_fold_get_dim(
542
__isl_give isl_space *isl_union_pw_qpolynomial_fold_get_space(
511
543
__isl_keep isl_union_pw_qpolynomial_fold *upwf);
513
545
__isl_give isl_qpolynomial *isl_union_pw_qpolynomial_fold_eval(
519
551
__isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_gist(
520
552
__isl_take isl_union_pw_qpolynomial_fold *upwf,
521
553
__isl_take isl_union_set *context);
554
__isl_give isl_union_pw_qpolynomial_fold *
555
isl_union_pw_qpolynomial_fold_gist_params(
556
__isl_take isl_union_pw_qpolynomial_fold *upwf,
557
__isl_take isl_set *context);
523
559
__isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_align_params(
524
560
__isl_take isl_union_pw_qpolynomial_fold *upwf,
525
__isl_take isl_dim *model);
561
__isl_take isl_space *model);
527
563
int isl_union_pw_qpolynomial_fold_foreach_pw_qpolynomial_fold(
528
564
__isl_keep isl_union_pw_qpolynomial_fold *upwf,
529
565
int (*fn)(__isl_take isl_pw_qpolynomial_fold *pwf,
530
566
void *user), void *user);
531
567
__isl_give isl_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_extract_pw_qpolynomial_fold(
532
__isl_keep isl_union_pw_qpolynomial_fold *upwf, __isl_take isl_dim *dim);
568
__isl_keep isl_union_pw_qpolynomial_fold *upwf, __isl_take isl_space *dim);
534
570
__isl_give isl_printer *isl_printer_print_union_pw_qpolynomial_fold(
535
571
__isl_take isl_printer *p,