1 | /* |
2 | * Copyright 2008-2009 Katholieke Universiteit Leuven |
3 | * |
4 | * Use of this software is governed by the MIT license |
5 | * |
6 | * Written by Sven Verdoolaege, K.U.Leuven, Departement |
7 | * Computerwetenschappen, Celestijnenlaan 200A, B-3001 Leuven, Belgium |
8 | */ |
9 | |
10 | #ifndef ISL_MAP_H |
11 | #define ISL_MAP_H |
12 | |
13 | #include <stdio.h> |
14 | |
15 | #include <isl/ctx.h> |
16 | #include <isl/space_type.h> |
17 | #include <isl/vec.h> |
18 | #include <isl/mat.h> |
19 | #include <isl/printer.h> |
20 | #include <isl/local_space.h> |
21 | #include <isl/aff_type.h> |
22 | #include <isl/list.h> |
23 | #include <isl/map_type.h> |
24 | #include <isl/val_type.h> |
25 | #include <isl/stdint.h> |
26 | #include <isl/stride_info.h> |
27 | #include <isl/fixed_box.h> |
28 | |
29 | #if defined(__cplusplus) |
30 | extern "C" { |
31 | #endif |
32 | |
33 | isl_size isl_basic_map_total_dim(__isl_keep const isl_basic_map *bmap); |
34 | isl_size isl_basic_map_dim(__isl_keep isl_basic_map *bmap, |
35 | enum isl_dim_type type); |
36 | |
37 | __isl_export |
38 | isl_size isl_map_domain_tuple_dim(__isl_keep isl_map *map); |
39 | __isl_export |
40 | isl_size isl_map_range_tuple_dim(__isl_keep isl_map *map); |
41 | isl_size isl_map_dim(__isl_keep isl_map *map, enum isl_dim_type type); |
42 | |
43 | isl_ctx *isl_basic_map_get_ctx(__isl_keep isl_basic_map *bmap); |
44 | isl_ctx *isl_map_get_ctx(__isl_keep isl_map *map); |
45 | __isl_give isl_space *isl_basic_map_get_space(__isl_keep isl_basic_map *bmap); |
46 | __isl_export |
47 | __isl_give isl_space *isl_map_get_space(__isl_keep isl_map *map); |
48 | |
49 | __isl_give isl_aff *isl_basic_map_get_div(__isl_keep isl_basic_map *bmap, |
50 | int pos); |
51 | |
52 | __isl_give isl_local_space *isl_basic_map_get_local_space( |
53 | __isl_keep isl_basic_map *bmap); |
54 | |
55 | __isl_give isl_basic_map *isl_basic_map_set_tuple_name( |
56 | __isl_take isl_basic_map *bmap, enum isl_dim_type type, const char *s); |
57 | const char *isl_basic_map_get_tuple_name(__isl_keep isl_basic_map *bmap, |
58 | enum isl_dim_type type); |
59 | isl_bool isl_map_has_tuple_name(__isl_keep isl_map *map, |
60 | enum isl_dim_type type); |
61 | const char *isl_map_get_tuple_name(__isl_keep isl_map *map, |
62 | enum isl_dim_type type); |
63 | __isl_give isl_map *isl_map_set_tuple_name(__isl_take isl_map *map, |
64 | enum isl_dim_type type, const char *s); |
65 | const char *isl_basic_map_get_dim_name(__isl_keep isl_basic_map *bmap, |
66 | enum isl_dim_type type, unsigned pos); |
67 | isl_bool isl_map_has_dim_name(__isl_keep isl_map *map, |
68 | enum isl_dim_type type, unsigned pos); |
69 | const char *isl_map_get_dim_name(__isl_keep isl_map *map, |
70 | enum isl_dim_type type, unsigned pos); |
71 | __isl_give isl_basic_map *isl_basic_map_set_dim_name( |
72 | __isl_take isl_basic_map *bmap, |
73 | enum isl_dim_type type, unsigned pos, const char *s); |
74 | __isl_give isl_map *isl_map_set_dim_name(__isl_take isl_map *map, |
75 | enum isl_dim_type type, unsigned pos, const char *s); |
76 | |
77 | __isl_give isl_basic_map *isl_basic_map_set_tuple_id( |
78 | __isl_take isl_basic_map *bmap, |
79 | enum isl_dim_type type, __isl_take isl_id *id); |
80 | __isl_give isl_map *isl_map_set_dim_id(__isl_take isl_map *map, |
81 | enum isl_dim_type type, unsigned pos, __isl_take isl_id *id); |
82 | isl_bool isl_basic_map_has_dim_id(__isl_keep isl_basic_map *bmap, |
83 | enum isl_dim_type type, unsigned pos); |
84 | isl_bool isl_map_has_dim_id(__isl_keep isl_map *map, |
85 | enum isl_dim_type type, unsigned pos); |
86 | __isl_give isl_id *isl_map_get_dim_id(__isl_keep isl_map *map, |
87 | enum isl_dim_type type, unsigned pos); |
88 | __isl_overload |
89 | __isl_give isl_map *isl_map_set_domain_tuple_id(__isl_take isl_map *map, |
90 | __isl_take isl_id *id); |
91 | __isl_overload |
92 | __isl_give isl_map *isl_map_set_range_tuple_id(__isl_take isl_map *map, |
93 | __isl_take isl_id *id); |
94 | __isl_give isl_map *isl_map_set_tuple_id(__isl_take isl_map *map, |
95 | enum isl_dim_type type, __isl_take isl_id *id); |
96 | __isl_give isl_map *isl_map_reset_tuple_id(__isl_take isl_map *map, |
97 | enum isl_dim_type type); |
98 | __isl_export |
99 | isl_bool isl_map_has_domain_tuple_id(__isl_keep isl_map *map); |
100 | __isl_export |
101 | isl_bool isl_map_has_range_tuple_id(__isl_keep isl_map *map); |
102 | isl_bool isl_map_has_tuple_id(__isl_keep isl_map *map, enum isl_dim_type type); |
103 | __isl_export |
104 | __isl_give isl_id *isl_map_get_domain_tuple_id(__isl_keep isl_map *map); |
105 | __isl_export |
106 | __isl_give isl_id *isl_map_get_range_tuple_id(__isl_keep isl_map *map); |
107 | __isl_give isl_id *isl_map_get_tuple_id(__isl_keep isl_map *map, |
108 | enum isl_dim_type type); |
109 | __isl_give isl_map *isl_map_reset_user(__isl_take isl_map *map); |
110 | |
111 | int isl_basic_map_find_dim_by_name(__isl_keep isl_basic_map *bmap, |
112 | enum isl_dim_type type, const char *name); |
113 | int isl_map_find_dim_by_id(__isl_keep isl_map *map, enum isl_dim_type type, |
114 | __isl_keep isl_id *id); |
115 | int isl_map_find_dim_by_name(__isl_keep isl_map *map, enum isl_dim_type type, |
116 | const char *name); |
117 | |
118 | isl_bool isl_basic_map_is_rational(__isl_keep isl_basic_map *bmap); |
119 | |
120 | __isl_give isl_basic_map *isl_basic_map_identity(__isl_take isl_space *space); |
121 | __isl_null isl_basic_map *isl_basic_map_free(__isl_take isl_basic_map *bmap); |
122 | __isl_give isl_basic_map *isl_basic_map_copy(__isl_keep isl_basic_map *bmap); |
123 | __isl_give isl_basic_map *isl_basic_map_equal( |
124 | __isl_take isl_space *space, unsigned n_equal); |
125 | __isl_give isl_basic_map *isl_basic_map_less_at(__isl_take isl_space *space, |
126 | unsigned pos); |
127 | __isl_give isl_basic_map *isl_basic_map_more_at(__isl_take isl_space *space, |
128 | unsigned pos); |
129 | __isl_give isl_basic_map *isl_basic_map_empty(__isl_take isl_space *space); |
130 | __isl_give isl_basic_map *isl_basic_map_universe(__isl_take isl_space *space); |
131 | __isl_give isl_basic_map *isl_basic_map_nat_universe( |
132 | __isl_take isl_space *space); |
133 | __isl_give isl_basic_map *isl_basic_map_remove_redundancies( |
134 | __isl_take isl_basic_map *bmap); |
135 | __isl_give isl_map *isl_map_remove_redundancies(__isl_take isl_map *map); |
136 | __isl_give isl_basic_map *isl_map_simple_hull(__isl_take isl_map *map); |
137 | __isl_export |
138 | __isl_give isl_basic_map *isl_map_unshifted_simple_hull( |
139 | __isl_take isl_map *map); |
140 | __isl_give isl_basic_map *isl_map_plain_unshifted_simple_hull( |
141 | __isl_take isl_map *map); |
142 | __isl_give isl_basic_map *isl_map_unshifted_simple_hull_from_map_list( |
143 | __isl_take isl_map *map, __isl_take isl_map_list *list); |
144 | |
145 | __isl_export |
146 | __isl_give isl_basic_map *isl_basic_map_intersect_domain( |
147 | __isl_take isl_basic_map *bmap, |
148 | __isl_take isl_basic_set *bset); |
149 | __isl_export |
150 | __isl_give isl_basic_map *isl_basic_map_intersect_range( |
151 | __isl_take isl_basic_map *bmap, |
152 | __isl_take isl_basic_set *bset); |
153 | __isl_export |
154 | __isl_give isl_basic_map *isl_basic_map_intersect( |
155 | __isl_take isl_basic_map *bmap1, |
156 | __isl_take isl_basic_map *bmap2); |
157 | __isl_give isl_basic_map *isl_basic_map_list_intersect( |
158 | __isl_take isl_basic_map_list *list); |
159 | __isl_export |
160 | __isl_give isl_map *isl_basic_map_union( |
161 | __isl_take isl_basic_map *bmap1, |
162 | __isl_take isl_basic_map *bmap2); |
163 | __isl_export |
164 | __isl_give isl_basic_map *isl_basic_map_apply_domain( |
165 | __isl_take isl_basic_map *bmap1, |
166 | __isl_take isl_basic_map *bmap2); |
167 | __isl_export |
168 | __isl_give isl_basic_map *isl_basic_map_apply_range( |
169 | __isl_take isl_basic_map *bmap1, |
170 | __isl_take isl_basic_map *bmap2); |
171 | __isl_export |
172 | __isl_give isl_basic_map *isl_basic_map_affine_hull( |
173 | __isl_take isl_basic_map *bmap); |
174 | __isl_give isl_basic_map *isl_basic_map_preimage_domain_multi_aff( |
175 | __isl_take isl_basic_map *bmap, __isl_take isl_multi_aff *ma); |
176 | __isl_give isl_basic_map *isl_basic_map_preimage_range_multi_aff( |
177 | __isl_take isl_basic_map *bmap, __isl_take isl_multi_aff *ma); |
178 | __isl_export |
179 | __isl_give isl_basic_map *isl_basic_map_reverse(__isl_take isl_basic_map *bmap); |
180 | __isl_give isl_basic_set *isl_basic_map_domain(__isl_take isl_basic_map *bmap); |
181 | __isl_give isl_basic_set *isl_basic_map_range(__isl_take isl_basic_map *bmap); |
182 | __isl_give isl_basic_map *isl_basic_map_domain_map( |
183 | __isl_take isl_basic_map *bmap); |
184 | __isl_give isl_basic_map *isl_basic_map_range_map( |
185 | __isl_take isl_basic_map *bmap); |
186 | __isl_give isl_basic_map *isl_basic_map_remove_dims( |
187 | __isl_take isl_basic_map *bmap, |
188 | enum isl_dim_type type, unsigned first, unsigned n); |
189 | __isl_give isl_basic_map *isl_basic_map_eliminate( |
190 | __isl_take isl_basic_map *bmap, |
191 | enum isl_dim_type type, unsigned first, unsigned n); |
192 | __isl_export |
193 | __isl_give isl_basic_map *isl_basic_map_sample(__isl_take isl_basic_map *bmap); |
194 | __isl_export |
195 | __isl_give isl_basic_map *isl_basic_map_detect_equalities( |
196 | __isl_take isl_basic_map *bmap); |
197 | __isl_give isl_basic_map *isl_basic_map_read_from_file(isl_ctx *ctx, |
198 | FILE *input); |
199 | __isl_constructor |
200 | __isl_give isl_basic_map *isl_basic_map_read_from_str(isl_ctx *ctx, |
201 | const char *str); |
202 | __isl_give isl_map *isl_map_read_from_file(isl_ctx *ctx, FILE *input); |
203 | __isl_constructor |
204 | __isl_give isl_map *isl_map_read_from_str(isl_ctx *ctx, const char *str); |
205 | void isl_basic_map_dump(__isl_keep isl_basic_map *bmap); |
206 | void isl_map_dump(__isl_keep isl_map *map); |
207 | __isl_give char *isl_basic_map_to_str(__isl_keep isl_basic_map *bmap); |
208 | __isl_give isl_printer *isl_printer_print_basic_map( |
209 | __isl_take isl_printer *printer, __isl_keep isl_basic_map *bmap); |
210 | __isl_give char *isl_map_to_str(__isl_keep isl_map *map); |
211 | __isl_give isl_printer *isl_printer_print_map(__isl_take isl_printer *printer, |
212 | __isl_keep isl_map *map); |
213 | __isl_give isl_basic_map *isl_basic_map_fix_si(__isl_take isl_basic_map *bmap, |
214 | enum isl_dim_type type, unsigned pos, int value); |
215 | __isl_give isl_basic_map *isl_basic_map_fix_val(__isl_take isl_basic_map *bmap, |
216 | enum isl_dim_type type, unsigned pos, __isl_take isl_val *v); |
217 | __isl_give isl_basic_map *isl_basic_map_lower_bound_si( |
218 | __isl_take isl_basic_map *bmap, |
219 | enum isl_dim_type type, unsigned pos, int value); |
220 | __isl_give isl_basic_map *isl_basic_map_upper_bound_si( |
221 | __isl_take isl_basic_map *bmap, |
222 | enum isl_dim_type type, unsigned pos, int value); |
223 | __isl_overload |
224 | __isl_give isl_map *isl_map_lower_bound_multi_pw_aff(__isl_take isl_map *map, |
225 | __isl_take isl_multi_pw_aff *lower); |
226 | __isl_overload |
227 | __isl_give isl_map *isl_map_upper_bound_multi_pw_aff(__isl_take isl_map *map, |
228 | __isl_take isl_multi_pw_aff *upper); |
229 | |
230 | __isl_give isl_basic_map *isl_basic_map_sum(__isl_take isl_basic_map *bmap1, |
231 | __isl_take isl_basic_map *bmap2); |
232 | __isl_give isl_basic_map *isl_basic_map_neg(__isl_take isl_basic_map *bmap); |
233 | |
234 | __isl_give isl_map *isl_map_sum(__isl_take isl_map *map1, |
235 | __isl_take isl_map *map2); |
236 | __isl_give isl_map *isl_map_neg(__isl_take isl_map *map); |
237 | __isl_give isl_map *isl_map_floordiv_val(__isl_take isl_map *map, |
238 | __isl_take isl_val *d); |
239 | |
240 | __isl_export |
241 | isl_bool isl_basic_map_is_equal(__isl_keep isl_basic_map *bmap1, |
242 | __isl_keep isl_basic_map *bmap2); |
243 | isl_bool isl_basic_map_is_disjoint(__isl_keep isl_basic_map *bmap1, |
244 | __isl_keep isl_basic_map *bmap2); |
245 | |
246 | __isl_give isl_map *isl_basic_map_partial_lexmax( |
247 | __isl_take isl_basic_map *bmap, __isl_take isl_basic_set *dom, |
248 | __isl_give isl_set **empty); |
249 | __isl_give isl_map *isl_basic_map_partial_lexmin( |
250 | __isl_take isl_basic_map *bmap, __isl_take isl_basic_set *dom, |
251 | __isl_give isl_set **empty); |
252 | __isl_give isl_map *isl_map_partial_lexmax( |
253 | __isl_take isl_map *map, __isl_take isl_set *dom, |
254 | __isl_give isl_set **empty); |
255 | __isl_give isl_map *isl_map_partial_lexmin( |
256 | __isl_take isl_map *map, __isl_take isl_set *dom, |
257 | __isl_give isl_set **empty); |
258 | __isl_export |
259 | __isl_give isl_map *isl_basic_map_lexmin(__isl_take isl_basic_map *bmap); |
260 | __isl_export |
261 | __isl_give isl_map *isl_basic_map_lexmax(__isl_take isl_basic_map *bmap); |
262 | __isl_export |
263 | __isl_give isl_map *isl_map_lexmin(__isl_take isl_map *map); |
264 | __isl_export |
265 | __isl_give isl_map *isl_map_lexmax(__isl_take isl_map *map); |
266 | __isl_give isl_pw_multi_aff *isl_basic_map_partial_lexmin_pw_multi_aff( |
267 | __isl_take isl_basic_map *bmap, __isl_take isl_basic_set *dom, |
268 | __isl_give isl_set **empty); |
269 | __isl_give isl_pw_multi_aff *isl_basic_map_partial_lexmax_pw_multi_aff( |
270 | __isl_take isl_basic_map *bmap, __isl_take isl_basic_set *dom, |
271 | __isl_give isl_set **empty); |
272 | __isl_give isl_pw_multi_aff *isl_basic_map_lexmin_pw_multi_aff( |
273 | __isl_take isl_basic_map *bmap); |
274 | __isl_export |
275 | __isl_give isl_pw_multi_aff *isl_map_lexmin_pw_multi_aff( |
276 | __isl_take isl_map *map); |
277 | __isl_export |
278 | __isl_give isl_pw_multi_aff *isl_map_lexmax_pw_multi_aff( |
279 | __isl_take isl_map *map); |
280 | __isl_export |
281 | __isl_give isl_multi_pw_aff *isl_map_min_multi_pw_aff(__isl_take isl_map *map); |
282 | __isl_export |
283 | __isl_give isl_multi_pw_aff *isl_map_max_multi_pw_aff(__isl_take isl_map *map); |
284 | |
285 | void isl_basic_map_print_internal(__isl_keep isl_basic_map *bmap, |
286 | FILE *out, int indent); |
287 | |
288 | __isl_give isl_val *isl_basic_map_plain_get_val_if_fixed( |
289 | __isl_keep isl_basic_map *bmap, |
290 | enum isl_dim_type type, unsigned pos); |
291 | |
292 | isl_bool isl_basic_map_image_is_bounded(__isl_keep isl_basic_map *bmap); |
293 | isl_bool isl_basic_map_plain_is_universe(__isl_keep isl_basic_map *bmap); |
294 | isl_bool isl_basic_map_is_universe(__isl_keep isl_basic_map *bmap); |
295 | isl_bool isl_basic_map_plain_is_empty(__isl_keep isl_basic_map *bmap); |
296 | __isl_export |
297 | isl_bool isl_basic_map_is_empty(__isl_keep isl_basic_map *bmap); |
298 | __isl_export |
299 | isl_bool isl_basic_map_is_subset(__isl_keep isl_basic_map *bmap1, |
300 | __isl_keep isl_basic_map *bmap2); |
301 | isl_bool isl_basic_map_is_strict_subset(__isl_keep isl_basic_map *bmap1, |
302 | __isl_keep isl_basic_map *bmap2); |
303 | |
304 | __isl_export |
305 | __isl_give isl_map *isl_map_universe(__isl_take isl_space *space); |
306 | __isl_export |
307 | __isl_give isl_map *isl_space_universe_map(__isl_take isl_space *space); |
308 | __isl_give isl_map *isl_map_nat_universe(__isl_take isl_space *space); |
309 | __isl_export |
310 | __isl_give isl_map *isl_map_empty(__isl_take isl_space *space); |
311 | __isl_give isl_map *isl_map_identity(__isl_take isl_space *space); |
312 | __isl_give isl_map *isl_map_lex_lt_first(__isl_take isl_space *space, |
313 | unsigned n); |
314 | __isl_give isl_map *isl_map_lex_le_first(__isl_take isl_space *space, |
315 | unsigned n); |
316 | __isl_give isl_map *isl_map_lex_lt(__isl_take isl_space *set_space); |
317 | __isl_give isl_map *isl_map_lex_le(__isl_take isl_space *set_space); |
318 | __isl_give isl_map *isl_map_lex_gt_first(__isl_take isl_space *space, |
319 | unsigned n); |
320 | __isl_give isl_map *isl_map_lex_ge_first(__isl_take isl_space *space, |
321 | unsigned n); |
322 | __isl_give isl_map *isl_map_lex_gt(__isl_take isl_space *set_space); |
323 | __isl_give isl_map *isl_map_lex_ge(__isl_take isl_space *set_space); |
324 | __isl_null isl_map *isl_map_free(__isl_take isl_map *map); |
325 | __isl_give isl_map *isl_map_copy(__isl_keep isl_map *map); |
326 | __isl_export |
327 | __isl_give isl_map *isl_map_reverse(__isl_take isl_map *map); |
328 | __isl_export |
329 | __isl_give isl_map *isl_map_range_reverse(__isl_take isl_map *map); |
330 | __isl_export |
331 | __isl_give isl_map *isl_map_union( |
332 | __isl_take isl_map *map1, |
333 | __isl_take isl_map *map2); |
334 | __isl_give isl_map *isl_map_union_disjoint( |
335 | __isl_take isl_map *map1, __isl_take isl_map *map2); |
336 | __isl_export |
337 | __isl_give isl_map *isl_map_intersect_domain( |
338 | __isl_take isl_map *map, |
339 | __isl_take isl_set *set); |
340 | __isl_export |
341 | __isl_give isl_map *isl_map_intersect_range( |
342 | __isl_take isl_map *map, |
343 | __isl_take isl_set *set); |
344 | __isl_export |
345 | __isl_give isl_map *isl_map_intersect_domain_factor_domain( |
346 | __isl_take isl_map *map, __isl_take isl_map *factor); |
347 | __isl_export |
348 | __isl_give isl_map *isl_map_intersect_domain_factor_range( |
349 | __isl_take isl_map *map, __isl_take isl_map *factor); |
350 | __isl_export |
351 | __isl_give isl_map *isl_map_intersect_range_factor_domain( |
352 | __isl_take isl_map *map, __isl_take isl_map *factor); |
353 | __isl_export |
354 | __isl_give isl_map *isl_map_intersect_range_factor_range( |
355 | __isl_take isl_map *map, __isl_take isl_map *factor); |
356 | __isl_export |
357 | __isl_give isl_map *isl_map_intersect_domain_wrapped_domain( |
358 | __isl_take isl_map *map, __isl_take isl_set *domain); |
359 | __isl_export |
360 | __isl_give isl_map *isl_map_intersect_range_wrapped_domain( |
361 | __isl_take isl_map *map, __isl_take isl_set *domain); |
362 | __isl_export |
363 | __isl_give isl_map *isl_map_apply_domain( |
364 | __isl_take isl_map *map1, |
365 | __isl_take isl_map *map2); |
366 | __isl_export |
367 | __isl_give isl_map *isl_map_apply_range( |
368 | __isl_take isl_map *map1, |
369 | __isl_take isl_map *map2); |
370 | __isl_overload |
371 | __isl_give isl_map *isl_map_preimage_domain_multi_aff(__isl_take isl_map *map, |
372 | __isl_take isl_multi_aff *ma); |
373 | __isl_overload |
374 | __isl_give isl_map *isl_map_preimage_range_multi_aff(__isl_take isl_map *map, |
375 | __isl_take isl_multi_aff *ma); |
376 | __isl_overload |
377 | __isl_give isl_map *isl_map_preimage_domain_pw_multi_aff( |
378 | __isl_take isl_map *map, __isl_take isl_pw_multi_aff *pma); |
379 | __isl_overload |
380 | __isl_give isl_map *isl_map_preimage_range_pw_multi_aff( |
381 | __isl_take isl_map *map, __isl_take isl_pw_multi_aff *pma); |
382 | __isl_overload |
383 | __isl_give isl_map *isl_map_preimage_domain_multi_pw_aff( |
384 | __isl_take isl_map *map, __isl_take isl_multi_pw_aff *mpa); |
385 | __isl_give isl_basic_map *isl_basic_map_product( |
386 | __isl_take isl_basic_map *bmap1, __isl_take isl_basic_map *bmap2); |
387 | __isl_export |
388 | __isl_give isl_map *isl_map_product(__isl_take isl_map *map1, |
389 | __isl_take isl_map *map2); |
390 | __isl_give isl_basic_map *isl_basic_map_domain_product( |
391 | __isl_take isl_basic_map *bmap1, __isl_take isl_basic_map *bmap2); |
392 | __isl_give isl_basic_map *isl_basic_map_range_product( |
393 | __isl_take isl_basic_map *bmap1, __isl_take isl_basic_map *bmap2); |
394 | __isl_export |
395 | __isl_give isl_map *isl_map_domain_product(__isl_take isl_map *map1, |
396 | __isl_take isl_map *map2); |
397 | __isl_export |
398 | __isl_give isl_map *isl_map_range_product(__isl_take isl_map *map1, |
399 | __isl_take isl_map *map2); |
400 | __isl_give isl_basic_map *isl_basic_map_flat_product( |
401 | __isl_take isl_basic_map *bmap1, __isl_take isl_basic_map *bmap2); |
402 | __isl_give isl_map *isl_map_flat_product(__isl_take isl_map *map1, |
403 | __isl_take isl_map *map2); |
404 | __isl_give isl_basic_map *isl_basic_map_flat_range_product( |
405 | __isl_take isl_basic_map *bmap1, __isl_take isl_basic_map *bmap2); |
406 | __isl_give isl_map *isl_map_flat_domain_product(__isl_take isl_map *map1, |
407 | __isl_take isl_map *map2); |
408 | __isl_give isl_map *isl_map_flat_range_product(__isl_take isl_map *map1, |
409 | __isl_take isl_map *map2); |
410 | isl_bool isl_map_domain_is_wrapping(__isl_keep isl_map *map); |
411 | isl_bool isl_map_range_is_wrapping(__isl_keep isl_map *map); |
412 | isl_bool isl_map_is_product(__isl_keep isl_map *map); |
413 | __isl_export |
414 | __isl_give isl_map *isl_map_factor_domain(__isl_take isl_map *map); |
415 | __isl_export |
416 | __isl_give isl_map *isl_map_factor_range(__isl_take isl_map *map); |
417 | __isl_export |
418 | __isl_give isl_map *isl_map_domain_factor_domain(__isl_take isl_map *map); |
419 | __isl_export |
420 | __isl_give isl_map *isl_map_domain_factor_range(__isl_take isl_map *map); |
421 | __isl_export |
422 | __isl_give isl_map *isl_map_range_factor_domain(__isl_take isl_map *map); |
423 | __isl_export |
424 | __isl_give isl_map *isl_map_range_factor_range(__isl_take isl_map *map); |
425 | __isl_export |
426 | __isl_give isl_map *isl_map_intersect(__isl_take isl_map *map1, |
427 | __isl_take isl_map *map2); |
428 | __isl_export |
429 | __isl_give isl_map *isl_map_intersect_params(__isl_take isl_map *map, |
430 | __isl_take isl_set *params); |
431 | __isl_export |
432 | __isl_give isl_map *isl_map_subtract( |
433 | __isl_take isl_map *map1, |
434 | __isl_take isl_map *map2); |
435 | __isl_give isl_map *isl_map_subtract_domain(__isl_take isl_map *map, |
436 | __isl_take isl_set *dom); |
437 | __isl_give isl_map *isl_map_subtract_range(__isl_take isl_map *map, |
438 | __isl_take isl_set *dom); |
439 | __isl_export |
440 | __isl_give isl_map *isl_map_complement(__isl_take isl_map *map); |
441 | __isl_give isl_map *isl_map_fix_input_si(__isl_take isl_map *map, |
442 | unsigned input, int value); |
443 | __isl_give isl_map *isl_map_fix_si(__isl_take isl_map *map, |
444 | enum isl_dim_type type, unsigned pos, int value); |
445 | __isl_give isl_map *isl_map_fix_val(__isl_take isl_map *map, |
446 | enum isl_dim_type type, unsigned pos, __isl_take isl_val *v); |
447 | __isl_give isl_map *isl_map_lower_bound_si(__isl_take isl_map *map, |
448 | enum isl_dim_type type, unsigned pos, int value); |
449 | __isl_give isl_map *isl_map_lower_bound_val(__isl_take isl_map *map, |
450 | enum isl_dim_type type, unsigned pos, __isl_take isl_val *value); |
451 | __isl_give isl_map *isl_map_upper_bound_si(__isl_take isl_map *map, |
452 | enum isl_dim_type type, unsigned pos, int value); |
453 | __isl_give isl_map *isl_map_upper_bound_val(__isl_take isl_map *map, |
454 | enum isl_dim_type type, unsigned pos, __isl_take isl_val *value); |
455 | __isl_export |
456 | __isl_give isl_basic_set *isl_basic_map_deltas(__isl_take isl_basic_map *bmap); |
457 | __isl_export |
458 | __isl_give isl_set *isl_map_deltas(__isl_take isl_map *map); |
459 | __isl_give isl_basic_map *isl_basic_map_deltas_map( |
460 | __isl_take isl_basic_map *bmap); |
461 | __isl_give isl_map *isl_map_deltas_map(__isl_take isl_map *map); |
462 | __isl_export |
463 | __isl_give isl_map *isl_map_detect_equalities(__isl_take isl_map *map); |
464 | __isl_export |
465 | __isl_give isl_basic_map *isl_map_affine_hull(__isl_take isl_map *map); |
466 | __isl_give isl_basic_map *isl_map_convex_hull(__isl_take isl_map *map); |
467 | __isl_export |
468 | __isl_give isl_basic_map *isl_map_polyhedral_hull(__isl_take isl_map *map); |
469 | __isl_give isl_basic_map *isl_basic_map_add_dims(__isl_take isl_basic_map *bmap, |
470 | enum isl_dim_type type, unsigned n); |
471 | __isl_give isl_map *isl_map_add_dims(__isl_take isl_map *map, |
472 | enum isl_dim_type type, unsigned n); |
473 | __isl_give isl_basic_map *isl_basic_map_insert_dims( |
474 | __isl_take isl_basic_map *bmap, enum isl_dim_type type, |
475 | unsigned pos, unsigned n); |
476 | __isl_give isl_map *isl_map_insert_dims(__isl_take isl_map *map, |
477 | enum isl_dim_type type, unsigned pos, unsigned n); |
478 | __isl_give isl_basic_map *isl_basic_map_move_dims( |
479 | __isl_take isl_basic_map *bmap, |
480 | enum isl_dim_type dst_type, unsigned dst_pos, |
481 | enum isl_dim_type src_type, unsigned src_pos, unsigned n); |
482 | __isl_give isl_map *isl_map_move_dims(__isl_take isl_map *map, |
483 | enum isl_dim_type dst_type, unsigned dst_pos, |
484 | enum isl_dim_type src_type, unsigned src_pos, unsigned n); |
485 | __isl_give isl_basic_map *isl_basic_map_project_out( |
486 | __isl_take isl_basic_map *bmap, |
487 | enum isl_dim_type type, unsigned first, unsigned n); |
488 | __isl_overload |
489 | __isl_give isl_map *isl_map_project_out_param_id(__isl_take isl_map *map, |
490 | __isl_take isl_id *id); |
491 | __isl_overload |
492 | __isl_give isl_map *isl_map_project_out_param_id_list(__isl_take isl_map *map, |
493 | __isl_take isl_id_list *list); |
494 | __isl_give isl_map *isl_map_project_out(__isl_take isl_map *map, |
495 | enum isl_dim_type type, unsigned first, unsigned n); |
496 | __isl_export |
497 | __isl_give isl_map *isl_map_project_out_all_params(__isl_take isl_map *map); |
498 | __isl_give isl_basic_map *isl_basic_map_remove_divs( |
499 | __isl_take isl_basic_map *bmap); |
500 | __isl_give isl_map *isl_map_remove_unknown_divs(__isl_take isl_map *map); |
501 | __isl_give isl_map *isl_map_remove_divs(__isl_take isl_map *map); |
502 | __isl_give isl_map *isl_map_eliminate(__isl_take isl_map *map, |
503 | enum isl_dim_type type, unsigned first, unsigned n); |
504 | __isl_give isl_map *isl_map_remove_dims(__isl_take isl_map *map, |
505 | enum isl_dim_type type, unsigned first, unsigned n); |
506 | __isl_give isl_basic_map *isl_basic_map_remove_divs_involving_dims( |
507 | __isl_take isl_basic_map *bmap, |
508 | enum isl_dim_type type, unsigned first, unsigned n); |
509 | __isl_give isl_map *isl_map_remove_divs_involving_dims(__isl_take isl_map *map, |
510 | enum isl_dim_type type, unsigned first, unsigned n); |
511 | __isl_give isl_map *isl_map_remove_inputs(__isl_take isl_map *map, |
512 | unsigned first, unsigned n); |
513 | |
514 | __isl_give isl_basic_map *isl_basic_map_equate(__isl_take isl_basic_map *bmap, |
515 | enum isl_dim_type type1, int pos1, enum isl_dim_type type2, int pos2); |
516 | __isl_give isl_basic_map *isl_basic_map_order_ge(__isl_take isl_basic_map *bmap, |
517 | enum isl_dim_type type1, int pos1, enum isl_dim_type type2, int pos2); |
518 | __isl_give isl_map *isl_map_order_ge(__isl_take isl_map *map, |
519 | enum isl_dim_type type1, int pos1, enum isl_dim_type type2, int pos2); |
520 | __isl_give isl_map *isl_map_order_le(__isl_take isl_map *map, |
521 | enum isl_dim_type type1, int pos1, enum isl_dim_type type2, int pos2); |
522 | __isl_give isl_map *isl_map_equate(__isl_take isl_map *map, |
523 | enum isl_dim_type type1, int pos1, enum isl_dim_type type2, int pos2); |
524 | __isl_give isl_map *isl_map_oppose(__isl_take isl_map *map, |
525 | enum isl_dim_type type1, int pos1, enum isl_dim_type type2, int pos2); |
526 | __isl_give isl_map *isl_map_order_lt(__isl_take isl_map *map, |
527 | enum isl_dim_type type1, int pos1, enum isl_dim_type type2, int pos2); |
528 | __isl_give isl_basic_map *isl_basic_map_order_gt(__isl_take isl_basic_map *bmap, |
529 | enum isl_dim_type type1, int pos1, enum isl_dim_type type2, int pos2); |
530 | __isl_give isl_map *isl_map_order_gt(__isl_take isl_map *map, |
531 | enum isl_dim_type type1, int pos1, enum isl_dim_type type2, int pos2); |
532 | |
533 | __isl_export |
534 | __isl_give isl_map *isl_set_translation(__isl_take isl_set *deltas); |
535 | __isl_export |
536 | __isl_give isl_map *isl_set_identity(__isl_take isl_set *set); |
537 | |
538 | __isl_export |
539 | isl_bool isl_basic_set_is_wrapping(__isl_keep isl_basic_set *bset); |
540 | __isl_export |
541 | isl_bool isl_set_is_wrapping(__isl_keep isl_set *set); |
542 | __isl_give isl_basic_set *isl_basic_map_wrap(__isl_take isl_basic_map *bmap); |
543 | __isl_export |
544 | __isl_give isl_set *isl_map_wrap(__isl_take isl_map *map); |
545 | __isl_give isl_basic_map *isl_basic_set_unwrap(__isl_take isl_basic_set *bset); |
546 | __isl_export |
547 | __isl_give isl_map *isl_set_unwrap(__isl_take isl_set *set); |
548 | __isl_export |
549 | __isl_give isl_basic_map *isl_basic_map_flatten(__isl_take isl_basic_map *bmap); |
550 | __isl_export |
551 | __isl_give isl_map *isl_map_flatten(__isl_take isl_map *map); |
552 | __isl_export |
553 | __isl_give isl_basic_map *isl_basic_map_flatten_domain( |
554 | __isl_take isl_basic_map *bmap); |
555 | __isl_export |
556 | __isl_give isl_basic_map *isl_basic_map_flatten_range( |
557 | __isl_take isl_basic_map *bmap); |
558 | __isl_export |
559 | __isl_give isl_map *isl_map_flatten_domain(__isl_take isl_map *map); |
560 | __isl_export |
561 | __isl_give isl_map *isl_map_flatten_range(__isl_take isl_map *map); |
562 | __isl_export |
563 | __isl_give isl_basic_set *isl_basic_set_flatten(__isl_take isl_basic_set *bset); |
564 | __isl_export |
565 | __isl_give isl_set *isl_set_flatten(__isl_take isl_set *set); |
566 | __isl_give isl_map *isl_set_flatten_map(__isl_take isl_set *set); |
567 | __isl_give isl_set *isl_map_params(__isl_take isl_map *map); |
568 | __isl_export |
569 | __isl_give isl_set *isl_map_domain(__isl_take isl_map *bmap); |
570 | __isl_export |
571 | __isl_give isl_set *isl_map_range(__isl_take isl_map *map); |
572 | __isl_export |
573 | __isl_give isl_map *isl_set_insert_domain(__isl_take isl_set *set, |
574 | __isl_take isl_space *domain); |
575 | __isl_give isl_map *isl_map_domain_map(__isl_take isl_map *map); |
576 | __isl_give isl_map *isl_map_range_map(__isl_take isl_map *map); |
577 | __isl_give isl_map *isl_set_wrapped_domain_map(__isl_take isl_set *set); |
578 | __isl_constructor |
579 | __isl_give isl_map *isl_map_from_basic_map(__isl_take isl_basic_map *bmap); |
580 | __isl_give isl_map *isl_map_from_domain(__isl_take isl_set *set); |
581 | __isl_give isl_basic_map *isl_basic_map_from_domain( |
582 | __isl_take isl_basic_set *bset); |
583 | __isl_give isl_basic_map *isl_basic_map_from_range( |
584 | __isl_take isl_basic_set *bset); |
585 | __isl_give isl_map *isl_map_from_range(__isl_take isl_set *set); |
586 | __isl_give isl_basic_map *isl_basic_map_from_domain_and_range( |
587 | __isl_take isl_basic_set *domain, __isl_take isl_basic_set *range); |
588 | __isl_give isl_map *isl_map_from_domain_and_range(__isl_take isl_set *domain, |
589 | __isl_take isl_set *range); |
590 | __isl_export |
591 | __isl_give isl_basic_map *isl_map_sample(__isl_take isl_map *map); |
592 | |
593 | __isl_export |
594 | __isl_give isl_set *isl_map_bind_domain(__isl_take isl_map *map, |
595 | __isl_take isl_multi_id *tuple); |
596 | __isl_export |
597 | __isl_give isl_set *isl_map_bind_range(__isl_take isl_map *map, |
598 | __isl_take isl_multi_id *tuple); |
599 | |
600 | isl_bool isl_map_plain_is_empty(__isl_keep isl_map *map); |
601 | isl_bool isl_map_plain_is_universe(__isl_keep isl_map *map); |
602 | __isl_export |
603 | isl_bool isl_map_is_empty(__isl_keep isl_map *map); |
604 | __isl_export |
605 | isl_bool isl_map_is_subset(__isl_keep isl_map *map1, __isl_keep isl_map *map2); |
606 | __isl_export |
607 | isl_bool isl_map_is_strict_subset(__isl_keep isl_map *map1, |
608 | __isl_keep isl_map *map2); |
609 | __isl_export |
610 | isl_bool isl_map_is_equal(__isl_keep isl_map *map1, __isl_keep isl_map *map2); |
611 | __isl_export |
612 | isl_bool isl_map_is_disjoint(__isl_keep isl_map *map1, |
613 | __isl_keep isl_map *map2); |
614 | isl_bool isl_basic_map_is_single_valued(__isl_keep isl_basic_map *bmap); |
615 | isl_bool isl_map_plain_is_single_valued(__isl_keep isl_map *map); |
616 | __isl_export |
617 | isl_bool isl_map_is_single_valued(__isl_keep isl_map *map); |
618 | isl_bool isl_map_plain_is_injective(__isl_keep isl_map *map); |
619 | __isl_export |
620 | isl_bool isl_map_is_injective(__isl_keep isl_map *map); |
621 | __isl_export |
622 | isl_bool isl_map_is_bijective(__isl_keep isl_map *map); |
623 | isl_bool isl_map_is_identity(__isl_keep isl_map *map); |
624 | int isl_map_is_translation(__isl_keep isl_map *map); |
625 | isl_bool isl_map_has_equal_space(__isl_keep isl_map *map1, |
626 | __isl_keep isl_map *map2); |
627 | |
628 | isl_bool isl_basic_map_can_zip(__isl_keep isl_basic_map *bmap); |
629 | isl_bool isl_map_can_zip(__isl_keep isl_map *map); |
630 | __isl_give isl_basic_map *isl_basic_map_zip(__isl_take isl_basic_map *bmap); |
631 | __isl_export |
632 | __isl_give isl_map *isl_map_zip(__isl_take isl_map *map); |
633 | |
634 | isl_bool isl_basic_map_can_curry(__isl_keep isl_basic_map *bmap); |
635 | isl_bool isl_map_can_curry(__isl_keep isl_map *map); |
636 | __isl_give isl_basic_map *isl_basic_map_curry(__isl_take isl_basic_map *bmap); |
637 | __isl_export |
638 | __isl_give isl_map *isl_map_curry(__isl_take isl_map *map); |
639 | |
640 | isl_bool isl_map_can_range_curry(__isl_keep isl_map *map); |
641 | __isl_give isl_map *isl_map_range_curry(__isl_take isl_map *map); |
642 | |
643 | isl_bool isl_basic_map_can_uncurry(__isl_keep isl_basic_map *bmap); |
644 | isl_bool isl_map_can_uncurry(__isl_keep isl_map *map); |
645 | __isl_give isl_basic_map *isl_basic_map_uncurry(__isl_take isl_basic_map *bmap); |
646 | __isl_export |
647 | __isl_give isl_map *isl_map_uncurry(__isl_take isl_map *map); |
648 | |
649 | __isl_give isl_map *isl_map_make_disjoint(__isl_take isl_map *map); |
650 | __isl_give isl_map *isl_basic_map_compute_divs(__isl_take isl_basic_map *bmap); |
651 | __isl_give isl_map *isl_map_compute_divs(__isl_take isl_map *map); |
652 | ISL_DEPRECATED |
653 | __isl_give isl_map *isl_map_align_divs(__isl_take isl_map *map); |
654 | |
655 | __isl_give isl_basic_map *isl_basic_map_drop_constraints_involving_dims( |
656 | __isl_take isl_basic_map *bmap, |
657 | enum isl_dim_type type, unsigned first, unsigned n); |
658 | __isl_give isl_basic_map *isl_basic_map_drop_constraints_not_involving_dims( |
659 | __isl_take isl_basic_map *bmap, |
660 | enum isl_dim_type type, unsigned first, unsigned n); |
661 | __isl_give isl_map *isl_map_drop_constraints_involving_dims( |
662 | __isl_take isl_map *map, |
663 | enum isl_dim_type type, unsigned first, unsigned n); |
664 | __isl_give isl_map *isl_map_drop_constraints_not_involving_dims( |
665 | __isl_take isl_map *map, |
666 | enum isl_dim_type type, unsigned first, unsigned n); |
667 | |
668 | isl_bool isl_basic_map_involves_dims(__isl_keep isl_basic_map *bmap, |
669 | enum isl_dim_type type, unsigned first, unsigned n); |
670 | isl_bool isl_map_involves_dims(__isl_keep isl_map *map, |
671 | enum isl_dim_type type, unsigned first, unsigned n); |
672 | |
673 | void isl_map_print_internal(__isl_keep isl_map *map, FILE *out, int indent); |
674 | |
675 | __isl_give isl_val *isl_map_plain_get_val_if_fixed(__isl_keep isl_map *map, |
676 | enum isl_dim_type type, unsigned pos); |
677 | |
678 | __isl_give isl_basic_map *isl_basic_map_gist_domain( |
679 | __isl_take isl_basic_map *bmap, __isl_take isl_basic_set *context); |
680 | __isl_export |
681 | __isl_give isl_basic_map *isl_basic_map_gist(__isl_take isl_basic_map *bmap, |
682 | __isl_take isl_basic_map *context); |
683 | __isl_export |
684 | __isl_give isl_map *isl_map_gist(__isl_take isl_map *map, |
685 | __isl_take isl_map *context); |
686 | __isl_export |
687 | __isl_give isl_map *isl_map_gist_domain(__isl_take isl_map *map, |
688 | __isl_take isl_set *context); |
689 | __isl_give isl_map *isl_map_gist_range(__isl_take isl_map *map, |
690 | __isl_take isl_set *context); |
691 | __isl_export |
692 | __isl_give isl_map *isl_map_gist_params(__isl_take isl_map *map, |
693 | __isl_take isl_set *context); |
694 | __isl_give isl_map *isl_map_gist_basic_map(__isl_take isl_map *map, |
695 | __isl_take isl_basic_map *context); |
696 | |
697 | __isl_give isl_stride_info *isl_map_get_range_stride_info( |
698 | __isl_keep isl_map *map, int pos); |
699 | __isl_export |
700 | __isl_give isl_fixed_box *isl_map_get_range_lattice_tile( |
701 | __isl_keep isl_map *map); |
702 | __isl_export |
703 | __isl_give isl_fixed_box *isl_map_get_range_simple_fixed_box_hull( |
704 | __isl_keep isl_map *map); |
705 | |
706 | __isl_export |
707 | __isl_give isl_map *isl_map_coalesce(__isl_take isl_map *map); |
708 | |
709 | isl_bool isl_map_plain_is_equal(__isl_keep isl_map *map1, |
710 | __isl_keep isl_map *map2); |
711 | |
712 | uint32_t isl_map_get_hash(__isl_keep isl_map *map); |
713 | |
714 | __isl_export |
715 | isl_size isl_map_n_basic_map(__isl_keep isl_map *map); |
716 | __isl_export |
717 | isl_stat isl_map_foreach_basic_map(__isl_keep isl_map *map, |
718 | isl_stat (*fn)(__isl_take isl_basic_map *bmap, void *user), void *user); |
719 | __isl_give isl_basic_map_list *isl_map_get_basic_map_list( |
720 | __isl_keep isl_map *map); |
721 | |
722 | __isl_overload |
723 | __isl_give isl_map *isl_map_fixed_power_val(__isl_take isl_map *map, |
724 | __isl_take isl_val *exp); |
725 | __isl_give isl_map *isl_map_power(__isl_take isl_map *map, isl_bool *exact); |
726 | __isl_give isl_map *isl_map_reaching_path_lengths(__isl_take isl_map *map, |
727 | isl_bool *exact); |
728 | __isl_give isl_map *isl_map_transitive_closure(__isl_take isl_map *map, |
729 | isl_bool *exact); |
730 | |
731 | __isl_give isl_map *isl_map_lex_le_map(__isl_take isl_map *map1, |
732 | __isl_take isl_map *map2); |
733 | __isl_give isl_map *isl_map_lex_lt_map(__isl_take isl_map *map1, |
734 | __isl_take isl_map *map2); |
735 | __isl_give isl_map *isl_map_lex_ge_map(__isl_take isl_map *map1, |
736 | __isl_take isl_map *map2); |
737 | __isl_give isl_map *isl_map_lex_gt_map(__isl_take isl_map *map1, |
738 | __isl_take isl_map *map2); |
739 | |
740 | __isl_overload |
741 | __isl_give isl_map *isl_map_eq_at_multi_pw_aff(__isl_take isl_map *map, |
742 | __isl_take isl_multi_pw_aff *mpa); |
743 | __isl_overload |
744 | __isl_give isl_map *isl_map_lex_lt_at_multi_pw_aff(__isl_take isl_map *map, |
745 | __isl_take isl_multi_pw_aff *mpa); |
746 | __isl_overload |
747 | __isl_give isl_map *isl_map_lex_le_at_multi_pw_aff(__isl_take isl_map *map, |
748 | __isl_take isl_multi_pw_aff *mpa); |
749 | __isl_overload |
750 | __isl_give isl_map *isl_map_lex_gt_at_multi_pw_aff(__isl_take isl_map *map, |
751 | __isl_take isl_multi_pw_aff *mpa); |
752 | __isl_overload |
753 | __isl_give isl_map *isl_map_lex_ge_at_multi_pw_aff(__isl_take isl_map *map, |
754 | __isl_take isl_multi_pw_aff *mpa); |
755 | |
756 | __isl_give isl_basic_map *isl_basic_map_align_params( |
757 | __isl_take isl_basic_map *bmap, __isl_take isl_space *model); |
758 | __isl_give isl_map *isl_map_align_params(__isl_take isl_map *map, |
759 | __isl_take isl_space *model); |
760 | __isl_give isl_basic_map *isl_basic_map_drop_unused_params( |
761 | __isl_take isl_basic_map *bmap); |
762 | __isl_give isl_map *isl_map_drop_unused_params(__isl_take isl_map *map); |
763 | |
764 | __isl_give isl_mat *isl_basic_map_equalities_matrix( |
765 | __isl_keep isl_basic_map *bmap, enum isl_dim_type c1, |
766 | enum isl_dim_type c2, enum isl_dim_type c3, |
767 | enum isl_dim_type c4, enum isl_dim_type c5); |
768 | __isl_give isl_mat *isl_basic_map_inequalities_matrix( |
769 | __isl_keep isl_basic_map *bmap, enum isl_dim_type c1, |
770 | enum isl_dim_type c2, enum isl_dim_type c3, |
771 | enum isl_dim_type c4, enum isl_dim_type c5); |
772 | __isl_give isl_basic_map *isl_basic_map_from_constraint_matrices( |
773 | __isl_take isl_space *space, |
774 | __isl_take isl_mat *eq, __isl_take isl_mat *ineq, enum isl_dim_type c1, |
775 | enum isl_dim_type c2, enum isl_dim_type c3, |
776 | enum isl_dim_type c4, enum isl_dim_type c5); |
777 | |
778 | __isl_give isl_basic_map *isl_basic_map_from_aff(__isl_take isl_aff *aff); |
779 | __isl_give isl_basic_map *isl_basic_map_from_multi_aff( |
780 | __isl_take isl_multi_aff *maff); |
781 | __isl_give isl_basic_map *isl_basic_map_from_aff_list( |
782 | __isl_take isl_space *domain_space, __isl_take isl_aff_list *list); |
783 | |
784 | __isl_give isl_map *isl_map_from_aff(__isl_take isl_aff *aff); |
785 | __isl_export |
786 | __isl_give isl_map *isl_multi_aff_as_map(__isl_take isl_multi_aff *ma); |
787 | __isl_give isl_map *isl_map_from_multi_aff(__isl_take isl_multi_aff *maff); |
788 | |
789 | __isl_give isl_pw_aff *isl_map_dim_min(__isl_take isl_map *map, int pos); |
790 | __isl_give isl_pw_aff *isl_map_dim_max(__isl_take isl_map *map, int pos); |
791 | |
792 | ISL_DECLARE_LIST_FN(basic_map) |
793 | ISL_DECLARE_EXPORTED_LIST_FN(map) |
794 | ISL_DECLARE_EXPORTED_LIST_FN_READ(map) |
795 | |
796 | #if defined(__cplusplus) |
797 | } |
798 | #endif |
799 | |
800 | #endif |
801 | |