Polly 19.0.0git
isl_aff_private.h
Go to the documentation of this file.
1#ifndef ISL_AFF_PRIVATE_H
2#define ISL_AFF_PRIVATE_H
3
4#include <isl/aff.h>
5#include <isl/vec.h>
6#include <isl/mat.h>
7#include <isl/local_space.h>
8#include <isl_int.h>
9#include <isl_reordering.h>
10#include <isl/stream.h>
11
12/* ls represents the domain space.
13 *
14 * If the first two elements of "v" (the denominator and the constant term)
15 * are zero, then the isl_aff represents NaN.
16 */
17struct isl_aff {
18 int ref;
19
22};
23
24#undef EL
25#define EL isl_aff
26
27#include <isl_list_templ.h>
28
30 struct isl_set *set;
31 struct isl_aff *aff;
32};
33
34struct isl_pw_aff {
35 int ref;
36
38
39 int n;
40
41 size_t size;
43};
44
45#undef PW
46#define PW isl_pw_aff
47
48#include <isl_pw_templ.h>
49
50#undef EL
51#define EL isl_pw_aff
52
53#include <isl_list_templ.h>
54
58};
59
61 int ref;
62
64
65 int n;
66
67 size_t size;
69};
70
71#undef PW
72#define PW isl_pw_multi_aff
73
74#include <isl_pw_templ.h>
75
79
82
86 __isl_take isl_space *space);
89
92 enum isl_dim_type type, int pos, isl_int v);
94
96
98
101
103 __isl_take isl_mat *div, int *exp);
104
106
108 int n);
110 __isl_take isl_space *space);
114 __isl_take isl_pw_aff *pwaff1, __isl_take isl_pw_aff *pwaff2);
115
117
120
122 __isl_take isl_pw_aff *pwaff2, int max);
123
126 __isl_take isl_pw_aff_list *list);
127
130 isl_int f);
132 isl_int f);
133
135
137 __isl_keep isl_space *space);
139 __isl_keep isl_space *space);
140
141#undef BASE
142#define BASE aff
143
144#include <isl_multi_templ.h>
145
147
150
153
156
157#undef EL
158#define EL isl_pw_multi_aff
159
160#include <isl_list_templ.h>
161
164
167 enum isl_dim_type dst_type, unsigned dst_pos,
168 enum isl_dim_type src_type, unsigned src_pos, unsigned n);
169
176
179 enum isl_dim_type type, unsigned first, unsigned n);
180
182 __isl_keep isl_multi_aff *ma, int n_before, int n_after,
183 int n_div_ma, int n_div_bmap,
184 isl_int f, isl_int c1, isl_int c2, isl_int g, int has_denom);
185
190 __isl_keep isl_pw_aff *subs);
191
194
197
201
203 __isl_keep isl_space *space);
205 __isl_keep isl_space *space);
206
208
209#undef BASE
210#define BASE pw_aff
211#undef DOMBASE
212#define DOMBASE set
213#define EXPLICIT_DOMAIN
214
215#include <isl_multi_templ.h>
216
217#undef EXPLICIT_DOMAIN
218
221
222#undef EL
223#define EL isl_union_pw_aff
224
225#include <isl_list_templ.h>
226
227#undef BASE
228#define BASE union_pw_aff
229#undef DOMBASE
230#define DOMBASE union_set
231#define EXPLICIT_DOMAIN
232
233#include <isl_multi_templ.h>
234
235#undef EXPLICIT_DOMAIN
236
237#undef EL
238#define EL isl_union_pw_multi_aff
239
240#include <isl_list_templ.h>
241
242#endif
struct isl_union_pw_aff isl_union_pw_aff
Definition: aff_type.h:23
struct isl_multi_aff isl_multi_aff
Definition: aff_type.h:29
struct isl_multi_pw_aff isl_multi_pw_aff
Definition: aff_type.h:43
#define __isl_take
Definition: ctx.h:22
isl_stat
Definition: ctx.h:84
#define __isl_give
Definition: ctx.h:19
#define __isl_keep
Definition: ctx.h:25
int isl_size
Definition: ctx.h:96
isl_bool
Definition: ctx.h:89
c1
Definition: dot.c:2
__isl_give isl_pw_aff * isl_pw_aff_union_opt(__isl_take isl_pw_aff *pwaff1, __isl_take isl_pw_aff *pwaff2, int max)
Definition: isl_aff.c:2849
__isl_give isl_aff * isl_aff_substitute_equalities(__isl_take isl_aff *aff, __isl_take isl_basic_set *eq)
Definition: isl_aff.c:2223
__isl_give isl_pw_multi_aff * isl_pw_multi_aff_reset_domain_space(__isl_take isl_pw_multi_aff *pwmaff, __isl_take isl_space *space)
__isl_give isl_pw_aff * isl_pw_aff_set_rational(__isl_take isl_pw_aff *pwaff)
Definition: isl_aff.c:3859
isl_stat isl_pw_multi_aff_check_named_params(__isl_keep isl_pw_multi_aff *pma)
isl_size isl_aff_domain_dim(__isl_keep isl_aff *aff, enum isl_dim_type type)
Definition: isl_aff.c:439
__isl_give isl_pw_multi_aff * isl_pw_multi_aff_substitute(__isl_take isl_pw_multi_aff *pma, unsigned pos, __isl_keep isl_pw_aff *subs)
Definition: isl_aff.c:5811
__isl_keep isl_multi_aff * isl_pw_multi_aff_peek_base_at(__isl_keep isl_pw_multi_aff *pma, int pos)
isl_stat isl_seq_preimage(isl_int *dst, isl_int *src, __isl_keep isl_multi_aff *ma, int n_before, int n_after, int n_div_ma, int n_div_bmap, isl_int f, isl_int c1, isl_int c2, isl_int g, int has_denom)
Definition: isl_aff.c:5895
isl_stat isl_multi_aff_check_named_params(__isl_keep isl_multi_aff *ma)
__isl_give isl_pw_multi_aff * isl_stream_read_pw_multi_aff(__isl_keep isl_stream *s)
int isl_aff_plain_cmp(__isl_keep isl_aff *aff1, __isl_keep isl_aff *aff2)
Definition: isl_aff.c:7610
__isl_give isl_pw_multi_aff * isl_pw_multi_aff_move_dims(__isl_take isl_pw_multi_aff *pma, enum isl_dim_type dst_type, unsigned dst_pos, enum isl_dim_type src_type, unsigned src_pos, unsigned n)
__isl_give isl_pw_aff * isl_pw_aff_alloc_size(__isl_take isl_space *space, int n)
__isl_give isl_union_pw_aff * isl_stream_read_union_pw_aff(__isl_keep isl_stream *s)
__isl_give isl_aff * isl_aff_normalize(__isl_take isl_aff *aff)
Definition: isl_aff.c:1624
__isl_keep isl_aff * isl_pw_aff_peek_base_at(__isl_keep isl_pw_aff *pa, int pos)
isl_stat isl_pw_aff_check_named_params(__isl_keep isl_pw_aff *pa)
__isl_give isl_pw_aff_list * isl_pw_aff_list_set_rational(__isl_take isl_pw_aff_list *list)
Definition: isl_aff.c:3880
__isl_give isl_aff * isl_aff_expand_divs(__isl_take isl_aff *aff, __isl_take isl_mat *div, int *exp)
Definition: isl_aff.c:1821
__isl_give isl_pw_aff * isl_pw_aff_scale(__isl_take isl_pw_aff *pwaff, isl_int f)
__isl_give isl_aff * isl_aff_reset_space_and_domain(__isl_take isl_aff *aff, __isl_take isl_space *space, __isl_take isl_space *domain)
Definition: isl_aff.c:620
__isl_give isl_aff * isl_aff_scale_down(__isl_take isl_aff *aff, isl_int f)
Definition: isl_aff.c:2025
__isl_give isl_aff * isl_aff_set_constant(__isl_take isl_aff *aff, isl_int v)
Definition: isl_aff.c:836
__isl_give isl_multi_aff * isl_multi_aff_align_divs(__isl_take isl_multi_aff *maff)
Definition: isl_aff.c:6139
__isl_give isl_pw_multi_aff * isl_pw_multi_aff_add_disjoint(__isl_take isl_pw_multi_aff *pma1, __isl_take isl_pw_multi_aff *pma2)
__isl_give isl_pw_aff * isl_pw_aff_reset_space(__isl_take isl_pw_aff *pwaff, __isl_take isl_space *space)
__isl_give isl_map * isl_map_intersect_multi_pw_aff_explicit_domain(__isl_take isl_map *map, __isl_keep isl_multi_pw_aff *mpa)
Definition: isl_aff.c:6719
__isl_give isl_aff * isl_aff_add_constant(__isl_take isl_aff *aff, isl_int v)
Definition: isl_aff.c:913
__isl_give isl_multi_aff * isl_multi_aff_from_basic_set_equalities(__isl_take isl_basic_set *bset)
Definition: isl_aff.c:5026
__isl_give isl_pw_aff * isl_pw_aff_reset_domain_space(__isl_take isl_pw_aff *pwaff, __isl_take isl_space *space)
isl_bool isl_aff_matching_params(__isl_keep isl_aff *aff, __isl_keep isl_space *space)
Definition: isl_aff.c:3904
isl_bool isl_pw_aff_matching_params(__isl_keep isl_pw_aff *pa, __isl_keep isl_space *space)
Definition: isl_aff.c:6598
__isl_give isl_pw_multi_aff * isl_pw_multi_aff_project_out(__isl_take isl_pw_multi_aff *pma, enum isl_dim_type type, unsigned first, unsigned n)
isl_stat isl_aff_check_match_domain_space(__isl_keep isl_aff *aff, __isl_keep isl_space *space)
Definition: isl_aff.c:3923
__isl_give isl_aff * isl_aff_remove_unused_divs(__isl_take isl_aff *aff)
Definition: isl_aff.c:1403
__isl_give isl_aff * isl_stream_read_aff(__isl_keep isl_stream *s)
Definition: isl_input.c:3550
__isl_give isl_aff * isl_aff_realign_domain(__isl_take isl_aff *aff, __isl_take isl_reordering *r)
Definition: isl_aff.c:630
__isl_give isl_pw_aff * isl_pw_aff_add_disjoint(__isl_take isl_pw_aff *pwaff1, __isl_take isl_pw_aff *pwaff2)
__isl_give isl_aff * isl_aff_alloc_vec(__isl_take isl_local_space *ls, __isl_take isl_vec *v)
Definition: isl_aff.c:101
__isl_give isl_aff * isl_aff_alloc(__isl_take isl_local_space *ls)
Definition: isl_aff.c:124
__isl_give isl_pw_aff * isl_stream_read_pw_aff(__isl_keep isl_stream *s)
__isl_give isl_aff * isl_aff_set_coefficient(__isl_take isl_aff *aff, enum isl_dim_type type, int pos, isl_int v)
Definition: isl_aff.c:1111
__isl_give isl_multi_aff * isl_multi_aff_dup(__isl_keep isl_multi_aff *multi)
__isl_give isl_pw_aff * isl_pw_aff_scale_down(__isl_take isl_pw_aff *pwaff, isl_int f)
Definition: isl_aff.c:3255
__isl_give isl_aff * isl_aff_domain_factor_domain(__isl_take isl_aff *aff)
isl_stat isl_pw_aff_check_match_domain_space(__isl_keep isl_pw_aff *pa, __isl_keep isl_space *space)
Definition: isl_aff.c:6617
__isl_give isl_aff * isl_aff_reset_domain_space(__isl_take isl_aff *aff, __isl_take isl_space *space)
Definition: isl_aff.c:598
isl_size isl_aff_domain_offset(__isl_keep isl_aff *aff, enum isl_dim_type type)
Definition: isl_aff.c:464
__isl_give isl_pw_multi_aff * isl_pw_multi_aff_reset_space(__isl_take isl_pw_multi_aff *pwmaff, __isl_take isl_space *space)
__isl_give isl_pw_aff * isl_pw_aff_domain_factor_domain(__isl_take isl_pw_aff *pa)
__isl_give isl_multi_aff * isl_multi_aff_from_aff_mat(__isl_take isl_space *space, __isl_take isl_mat *mat)
Definition: isl_aff.c:4009
__isl_give isl_basic_set * isl_aff_pos_basic_set(__isl_take isl_aff *aff)
Definition: isl_aff.c:2342
static unsigned pos(__isl_keep isl_space *space, enum isl_dim_type type)
Definition: isl_map.c:70
enum isl_fold type
Definition: isl_test.c:4017
const char * ma
Definition: isl_test.c:7535
const char * map
Definition: isl_test.c:1783
const char * pma
Definition: isl_test.c:3169
const char * aff
Definition: isl_test.c:7278
const char * f
Definition: isl_test.c:8642
struct isl_set isl_set
Definition: map_type.h:26
struct isl_basic_set isl_basic_set
Definition: map_type.h:20
isl_dim_type
Definition: space_type.h:13
isl_vec * v
isl_local_space * ls
struct isl_aff * aff
struct isl_set * set
isl_space * dim
struct isl_pw_aff_piece p[1]
isl_multi_aff * maff
struct isl_pw_multi_aff_piece p[1]
static Signature domain
n
Definition: youcefn.c:8