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

« back to all changes in this revision

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

  • Committer: Package Import Robot
  • Author(s): Matthias Klose
  • Date: 2011-12-15 18:39:17 UTC
  • mfrom: (1.1.1)
  • Revision ID: package-import@ubuntu.com-20111215183917-uqggmujou8wna9js
Tags: 0.17.0-1
New upstream version.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
 
4
4
#include <isl/ctx.h>
5
5
#include <isl/constraint.h>
6
 
#include <isl/dim.h>
7
 
#include <isl/div.h>
 
6
#include <isl/space.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>
13
13
 
14
14
#if defined(__cplusplus)
15
15
extern "C" {
16
16
#endif
17
17
 
18
 
struct isl_qpolynomial;
19
 
typedef struct isl_qpolynomial isl_qpolynomial;
20
 
 
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);
33
30
 
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);
46
42
 
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);
99
97
 
100
98
__isl_give isl_qpolynomial *isl_qpolynomial_align_params(
101
 
        __isl_take isl_qpolynomial *qp, __isl_take isl_dim *model);
102
 
 
103
 
struct isl_term;
104
 
typedef struct isl_term isl_term;
 
99
        __isl_take isl_qpolynomial *qp, __isl_take isl_space *model);
105
100
 
106
101
isl_ctx *isl_term_get_ctx(__isl_keep isl_term *term);
107
102
 
 
103
__isl_give isl_term *isl_term_copy(__isl_keep isl_term *term);
108
104
void isl_term_free(__isl_take isl_term *term);
109
105
 
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);
116
112
 
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);
122
118
 
 
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);
125
123
 
136
134
        unsigned output_format);
137
135
void isl_qpolynomial_dump(__isl_keep isl_qpolynomial *qp);
138
136
 
139
 
struct isl_pw_qpolynomial;
140
 
typedef struct isl_pw_qpolynomial isl_pw_qpolynomial;
141
 
 
142
137
isl_ctx *isl_pw_qpolynomial_get_ctx(__isl_keep isl_pw_qpolynomial *pwqp);
143
138
 
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);
 
141
 
 
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);
150
150
 
151
151
int isl_pw_qpolynomial_is_zero(__isl_keep isl_pw_qpolynomial *pwqp);
152
152
 
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);
163
165
 
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);
171
175
 
 
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);
195
203
 
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);
225
233
 
 
234
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_from_pw_aff(
 
235
        __isl_take isl_pw_aff *pwaff);
 
236
 
 
237
__isl_constructor
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);
240
254
 
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));
247
261
 
248
 
enum isl_fold {
249
 
        isl_fold_min,
250
 
        isl_fold_max,
251
 
        isl_fold_list
252
 
};
253
 
 
254
 
struct isl_qpolynomial_fold;
255
 
typedef struct isl_qpolynomial_fold isl_qpolynomial_fold;
256
 
 
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);
259
264
 
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);
267
272
 
268
 
__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_reset_dim(
269
 
        __isl_take isl_qpolynomial_fold *fold, __isl_take isl_dim *dim);
270
 
 
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);
274
276
 
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);
277
279
 
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);
299
301
 
 
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);
 
306
 
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);
309
316
 
310
 
struct isl_pw_qpolynomial_fold;
311
 
typedef struct isl_pw_qpolynomial_fold isl_pw_qpolynomial_fold;
312
 
 
313
317
isl_ctx *isl_pw_qpolynomial_fold_get_ctx(__isl_keep isl_pw_qpolynomial_fold *pwf);
314
318
 
 
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);
 
322
 
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);
317
325
 
324
332
 
325
333
int isl_pw_qpolynomial_fold_is_zero(__isl_keep isl_pw_qpolynomial_fold *pwf);
326
334
 
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);
336
346
 
337
347
size_t isl_pw_qpolynomial_fold_size(__isl_keep isl_pw_qpolynomial_fold *pwf);
338
348
 
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);
341
351
 
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);
350
362
 
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);
362
374
 
 
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);
397
413
 
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);
416
432
 
417
 
struct isl_union_pw_qpolynomial;
418
 
typedef struct isl_union_pw_qpolynomial isl_union_pw_qpolynomial;
419
 
 
420
433
isl_ctx *isl_union_pw_qpolynomial_get_ctx(
421
434
        __isl_keep isl_union_pw_qpolynomial *upwqp);
422
435
 
 
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);
 
439
 
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);
432
449
 
 
450
__isl_constructor
 
451
__isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_read_from_str(
 
452
        isl_ctx *ctx, const char *str);
 
453
 
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);
450
474
 
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);
453
477
 
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);
462
489
 
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);
466
493
 
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);
472
499
 
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);
475
502
 
476
 
struct isl_union_pw_qpolynomial_fold;
477
 
typedef struct isl_union_pw_qpolynomial_fold isl_union_pw_qpolynomial_fold;
478
 
 
479
503
isl_ctx *isl_union_pw_qpolynomial_fold_get_ctx(
480
504
        __isl_keep isl_union_pw_qpolynomial_fold *upwf);
481
505
 
 
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);
 
509
 
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);
507
539
 
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);
512
544
 
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);
522
558
 
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);
526
562
 
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);
533
569
 
534
570
__isl_give isl_printer *isl_printer_print_union_pw_qpolynomial_fold(
535
571
        __isl_take isl_printer *p,
552
588
}
553
589
#endif
554
590
 
 
591
#include <isl/dim.h>
 
592
 
555
593
#endif