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

« back to all changes in this revision

Viewing changes to isl/isl_polynomial_private.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:
1
1
#include <stdio.h>
2
 
#include <isl/div.h>
3
2
#include <isl/map.h>
4
3
#include <isl/mat.h>
5
4
#include <isl_morph.h>
27
26
        struct isl_upoly *p[];
28
27
};
29
28
 
 
29
/* dim represents the domain space.
 
30
 */
30
31
struct isl_qpolynomial {
31
32
        int ref;
32
33
 
33
 
        struct isl_dim *dim;
 
34
        isl_space *dim;
34
35
        struct isl_mat *div;
35
36
        struct isl_upoly *upoly;
36
37
};
41
42
        isl_int n;
42
43
        isl_int d;
43
44
 
44
 
        struct isl_dim *dim;
 
45
        isl_space *dim;
45
46
        struct isl_mat *div;
46
47
 
47
48
        int pow[1];
55
56
struct isl_pw_qpolynomial {
56
57
        int ref;
57
58
 
58
 
        struct isl_dim *dim;
 
59
        isl_space *dim;
59
60
 
60
61
        int n;
61
62
 
63
64
        struct isl_pw_qpolynomial_piece p[1];
64
65
};
65
66
 
 
67
/* dim represents the domain space.
 
68
 */
66
69
struct isl_qpolynomial_fold {
67
70
        int ref;
68
71
 
69
72
        enum isl_fold type;
70
 
        struct isl_dim *dim;
 
73
        isl_space *dim;
71
74
 
72
75
        int n;
73
76
 
84
87
        int ref;
85
88
 
86
89
        enum isl_fold type;
87
 
        struct isl_dim *dim;
 
90
        isl_space *dim;
88
91
 
89
92
        int n;
90
93
 
112
115
__isl_give struct isl_upoly *isl_upoly_mul_isl_int(
113
116
        __isl_take struct isl_upoly *up, isl_int v);
114
117
 
115
 
__isl_give isl_qpolynomial *isl_qpolynomial_alloc(__isl_take isl_dim *dim,
 
118
__isl_give isl_qpolynomial *isl_qpolynomial_alloc(__isl_take isl_space *dim,
116
119
        unsigned n_div, __isl_take struct isl_upoly *up);
117
120
__isl_give isl_qpolynomial *isl_qpolynomial_cow(__isl_take isl_qpolynomial *qp);
118
121
__isl_give isl_qpolynomial *isl_qpolynomial_dup(__isl_keep isl_qpolynomial *qp);
119
122
 
120
 
__isl_give isl_qpolynomial *isl_qpolynomial_cst(__isl_take isl_dim *dim,
 
123
__isl_give isl_qpolynomial *isl_qpolynomial_cst_on_domain(__isl_take isl_space *dim,
121
124
        isl_int v);
122
 
__isl_give isl_qpolynomial *isl_qpolynomial_var_pow(__isl_take isl_dim *dim,
 
125
__isl_give isl_qpolynomial *isl_qpolynomial_var_pow_on_domain(__isl_take isl_space *dim,
123
126
        int pos, int power);
124
 
__isl_give isl_qpolynomial *isl_qpolynomial_div_pow(__isl_take isl_div *div,
125
 
        int power);
126
127
int isl_qpolynomial_is_one(__isl_keep isl_qpolynomial *qp);
127
128
int isl_qpolynomial_is_affine(__isl_keep isl_qpolynomial *qp);
128
129
 
145
146
 
146
147
__isl_give isl_vec *isl_qpolynomial_extract_affine(
147
148
        __isl_keep isl_qpolynomial *qp);
148
 
__isl_give isl_qpolynomial *isl_qpolynomial_from_affine(__isl_take isl_dim *dim,
 
149
__isl_give isl_qpolynomial *isl_qpolynomial_from_affine(__isl_take isl_space *dim,
149
150
        isl_int *f, isl_int denom);
150
151
 
151
152
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_cow(
156
157
        __isl_take isl_set *set, __isl_take isl_qpolynomial *qp);
157
158
int isl_pw_qpolynomial_is_one(__isl_keep isl_pw_qpolynomial *pwqp);
158
159
 
 
160
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_project_out(
 
161
        __isl_take isl_pw_qpolynomial *pwqp,
 
162
        enum isl_dim_type type, unsigned first, unsigned n);
 
163
 
159
164
__isl_give isl_qpolynomial *isl_qpolynomial_opt_on_domain(
160
165
        __isl_take isl_qpolynomial *qp, __isl_take isl_set *set, int max);
161
166
 
184
189
int isl_pw_qpolynomial_fold_covers(__isl_keep isl_pw_qpolynomial_fold *pwf1,
185
190
        __isl_keep isl_pw_qpolynomial_fold *pwf2);
186
191
 
187
 
__isl_give isl_qpolynomial *isl_qpolynomial_morph(__isl_take isl_qpolynomial *qp,
188
 
        __isl_take isl_morph *morph);
189
 
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_morph(
 
192
__isl_give isl_qpolynomial *isl_qpolynomial_morph_domain(
 
193
        __isl_take isl_qpolynomial *qp, __isl_take isl_morph *morph);
 
194
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_morph_domain(
190
195
        __isl_take isl_pw_qpolynomial *pwqp, __isl_take isl_morph *morph);
191
 
__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_morph(
 
196
__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_morph_domain(
192
197
        __isl_take isl_qpolynomial_fold *fold, __isl_take isl_morph *morph);
193
 
__isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_morph(
 
198
__isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_morph_domain(
194
199
        __isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_morph *morph);
195
200
 
196
201
__isl_give isl_qpolynomial *isl_qpolynomial_lift(__isl_take isl_qpolynomial *qp,
197
 
        __isl_take isl_dim *dim);
 
202
        __isl_take isl_space *dim);
198
203
__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_lift(
199
 
        __isl_take isl_qpolynomial_fold *fold, __isl_take isl_dim *dim);
 
204
        __isl_take isl_qpolynomial_fold *fold, __isl_take isl_space *dim);
200
205
 
201
206
__isl_give isl_qpolynomial *isl_qpolynomial_substitute_equalities(
202
207
        __isl_take isl_qpolynomial *qp, __isl_take isl_basic_set *eq);
205
210
__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_gist(
206
211
        __isl_take isl_qpolynomial_fold *fold, __isl_take isl_set *context);
207
212
 
208
 
__isl_give isl_qpolynomial *isl_qpolynomial_realign(
 
213
__isl_give isl_qpolynomial *isl_qpolynomial_realign_domain(
209
214
        __isl_take isl_qpolynomial *qp, __isl_take isl_reordering *r);
210
 
__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_realign(
 
215
__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_realign_domain(
211
216
        __isl_take isl_qpolynomial_fold *fold, __isl_take isl_reordering *r);
212
 
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_realign(
 
217
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_realign_domain(
213
218
        __isl_take isl_pw_qpolynomial *pwqp, __isl_take isl_reordering *r);
214
 
__isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_realign(
 
219
__isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_realign_domain(
215
220
        __isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_reordering *r);
 
221
 
 
222
__isl_give isl_qpolynomial *isl_qpolynomial_reset_domain_space(
 
223
        __isl_take isl_qpolynomial *qp, __isl_take isl_space *dim);
 
224
__isl_give isl_qpolynomial *isl_qpolynomial_reset_space_and_domain(
 
225
        __isl_take isl_qpolynomial *qp, __isl_take isl_space *space,
 
226
        __isl_take isl_space *domain);
 
227
__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_reset_domain_space(
 
228
        __isl_take isl_qpolynomial_fold *fold, __isl_take isl_space *dim);
 
229
__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_reset_space_and_domain(
 
230
        __isl_take isl_qpolynomial_fold *fold, __isl_take isl_space *space,
 
231
        __isl_take isl_space *domain);
 
232
__isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_reset_domain_space(
 
233
        __isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_space *dim);