1 | #ifndef ISL_UNION_SET_H |
2 | #define ISL_UNION_SET_H |
3 | |
4 | #include <isl/point.h> |
5 | #include <isl/union_map.h> |
6 | |
7 | #if defined(__cplusplus) |
8 | extern "C" { |
9 | #endif |
10 | |
11 | isl_size isl_union_set_dim(__isl_keep isl_union_set *uset, |
12 | enum isl_dim_type type); |
13 | |
14 | __isl_constructor |
15 | __isl_give isl_union_set *isl_union_set_from_basic_set( |
16 | __isl_take isl_basic_set *bset); |
17 | __isl_export |
18 | __isl_give isl_union_set *isl_set_to_union_set(__isl_take isl_set *set); |
19 | __isl_constructor |
20 | __isl_give isl_union_set *isl_union_set_from_set(__isl_take isl_set *set); |
21 | __isl_overload |
22 | __isl_give isl_union_set *isl_union_set_empty_ctx(isl_ctx *ctx); |
23 | __isl_give isl_union_set *isl_union_set_empty_space( |
24 | __isl_take isl_space *space); |
25 | __isl_give isl_union_set *isl_union_set_empty(__isl_take isl_space *space); |
26 | __isl_give isl_union_set *isl_union_set_copy(__isl_keep isl_union_set *uset); |
27 | __isl_null isl_union_set *isl_union_set_free(__isl_take isl_union_set *uset); |
28 | |
29 | isl_ctx *isl_union_set_get_ctx(__isl_keep isl_union_set *uset); |
30 | __isl_export |
31 | __isl_give isl_space *isl_union_set_get_space(__isl_keep isl_union_set *uset); |
32 | |
33 | __isl_give isl_union_set *isl_union_set_reset_user( |
34 | __isl_take isl_union_set *uset); |
35 | |
36 | __isl_export |
37 | __isl_give isl_union_set *isl_union_set_universe( |
38 | __isl_take isl_union_set *uset); |
39 | __isl_give isl_set *isl_union_set_params(__isl_take isl_union_set *uset); |
40 | |
41 | __isl_export |
42 | __isl_give isl_union_set *isl_union_set_detect_equalities( |
43 | __isl_take isl_union_set *uset); |
44 | __isl_export |
45 | __isl_give isl_union_set *isl_union_set_affine_hull( |
46 | __isl_take isl_union_set *uset); |
47 | __isl_export |
48 | __isl_give isl_union_set *isl_union_set_polyhedral_hull( |
49 | __isl_take isl_union_set *uset); |
50 | __isl_give isl_union_set *isl_union_set_remove_redundancies( |
51 | __isl_take isl_union_set *uset); |
52 | __isl_give isl_union_set *isl_union_set_simple_hull( |
53 | __isl_take isl_union_set *uset); |
54 | __isl_export |
55 | __isl_give isl_union_set *isl_union_set_coalesce( |
56 | __isl_take isl_union_set *uset); |
57 | __isl_export |
58 | __isl_give isl_union_set *isl_union_set_compute_divs( |
59 | __isl_take isl_union_set *uset); |
60 | __isl_export |
61 | __isl_give isl_union_set *isl_union_set_lexmin(__isl_take isl_union_set *uset); |
62 | __isl_export |
63 | __isl_give isl_union_set *isl_union_set_lexmax(__isl_take isl_union_set *uset); |
64 | |
65 | __isl_give isl_union_set *isl_union_set_add_set(__isl_take isl_union_set *uset, |
66 | __isl_take isl_set *set); |
67 | __isl_export |
68 | __isl_give isl_union_set *isl_union_set_union(__isl_take isl_union_set *uset1, |
69 | __isl_take isl_union_set *uset2); |
70 | __isl_export |
71 | __isl_give isl_union_set *isl_union_set_subtract( |
72 | __isl_take isl_union_set *uset1, __isl_take isl_union_set *uset2); |
73 | __isl_export |
74 | __isl_give isl_union_set *isl_union_set_intersect( |
75 | __isl_take isl_union_set *uset1, __isl_take isl_union_set *uset2); |
76 | __isl_export |
77 | __isl_give isl_union_set *isl_union_set_intersect_params( |
78 | __isl_take isl_union_set *uset, __isl_take isl_set *set); |
79 | __isl_give isl_union_set *isl_union_set_product(__isl_take isl_union_set *uset1, |
80 | __isl_take isl_union_set *uset2); |
81 | __isl_export |
82 | __isl_give isl_union_set *isl_union_set_gist(__isl_take isl_union_set *uset, |
83 | __isl_take isl_union_set *context); |
84 | __isl_export |
85 | __isl_give isl_union_set *isl_union_set_gist_params( |
86 | __isl_take isl_union_set *uset, __isl_take isl_set *set); |
87 | |
88 | __isl_export |
89 | __isl_give isl_union_set *isl_union_set_apply( |
90 | __isl_take isl_union_set *uset, __isl_take isl_union_map *umap); |
91 | __isl_overload |
92 | __isl_give isl_union_set *isl_union_set_preimage_multi_aff( |
93 | __isl_take isl_union_set *uset, __isl_take isl_multi_aff *ma); |
94 | __isl_overload |
95 | __isl_give isl_union_set *isl_union_set_preimage_pw_multi_aff( |
96 | __isl_take isl_union_set *uset, __isl_take isl_pw_multi_aff *pma); |
97 | __isl_overload |
98 | __isl_give isl_union_set *isl_union_set_preimage_union_pw_multi_aff( |
99 | __isl_take isl_union_set *uset, |
100 | __isl_take isl_union_pw_multi_aff *upma); |
101 | |
102 | __isl_give isl_union_set *isl_union_set_project_out( |
103 | __isl_take isl_union_set *uset, |
104 | enum isl_dim_type type, unsigned first, unsigned n); |
105 | __isl_give isl_union_set *isl_union_set_project_out_all_params( |
106 | __isl_take isl_union_set *uset); |
107 | __isl_give isl_union_set *isl_union_set_remove_divs( |
108 | __isl_take isl_union_set *bset); |
109 | |
110 | isl_bool isl_union_set_is_params(__isl_keep isl_union_set *uset); |
111 | __isl_export |
112 | isl_bool isl_union_set_is_empty(__isl_keep isl_union_set *uset); |
113 | |
114 | __isl_export |
115 | isl_bool isl_union_set_is_subset(__isl_keep isl_union_set *uset1, |
116 | __isl_keep isl_union_set *uset2); |
117 | __isl_export |
118 | isl_bool isl_union_set_is_equal(__isl_keep isl_union_set *uset1, |
119 | __isl_keep isl_union_set *uset2); |
120 | __isl_export |
121 | isl_bool isl_union_set_is_disjoint(__isl_keep isl_union_set *uset1, |
122 | __isl_keep isl_union_set *uset2); |
123 | __isl_export |
124 | isl_bool isl_union_set_is_strict_subset(__isl_keep isl_union_set *uset1, |
125 | __isl_keep isl_union_set *uset2); |
126 | |
127 | uint32_t isl_union_set_get_hash(__isl_keep isl_union_set *uset); |
128 | |
129 | isl_size isl_union_set_n_set(__isl_keep isl_union_set *uset); |
130 | __isl_export |
131 | isl_stat isl_union_set_foreach_set(__isl_keep isl_union_set *uset, |
132 | isl_stat (*fn)(__isl_take isl_set *set, void *user), void *user); |
133 | __isl_export |
134 | isl_bool isl_union_set_every_set(__isl_keep isl_union_set *uset, |
135 | isl_bool (*test)(__isl_keep isl_set *set, void *user), void *user); |
136 | __isl_give isl_basic_set_list *isl_union_set_get_basic_set_list( |
137 | __isl_keep isl_union_set *uset); |
138 | __isl_export |
139 | __isl_give isl_set_list *isl_union_set_get_set_list( |
140 | __isl_keep isl_union_set *uset); |
141 | isl_bool isl_union_set_contains(__isl_keep isl_union_set *uset, |
142 | __isl_keep isl_space *space); |
143 | __isl_export |
144 | __isl_give isl_set *(__isl_keep isl_union_set *uset, |
145 | __isl_take isl_space *space); |
146 | __isl_export |
147 | isl_bool isl_union_set_isa_set(__isl_keep isl_union_set *uset); |
148 | __isl_export |
149 | __isl_give isl_set *isl_union_set_as_set(__isl_take isl_union_set *uset); |
150 | __isl_give isl_set *isl_set_from_union_set(__isl_take isl_union_set *uset); |
151 | __isl_export |
152 | isl_stat isl_union_set_foreach_point(__isl_keep isl_union_set *uset, |
153 | isl_stat (*fn)(__isl_take isl_point *pnt, void *user), void *user); |
154 | |
155 | __isl_give isl_basic_set *isl_union_set_sample(__isl_take isl_union_set *uset); |
156 | __isl_export |
157 | __isl_give isl_point *isl_union_set_sample_point( |
158 | __isl_take isl_union_set *uset); |
159 | |
160 | __isl_constructor |
161 | __isl_give isl_union_set *isl_union_set_from_point(__isl_take isl_point *pnt); |
162 | |
163 | __isl_give isl_union_set *isl_union_set_lift(__isl_take isl_union_set *uset); |
164 | |
165 | __isl_give isl_union_map *isl_union_set_lex_lt_union_set( |
166 | __isl_take isl_union_set *uset1, __isl_take isl_union_set *uset2); |
167 | __isl_give isl_union_map *isl_union_set_lex_le_union_set( |
168 | __isl_take isl_union_set *uset1, __isl_take isl_union_set *uset2); |
169 | __isl_give isl_union_map *isl_union_set_lex_gt_union_set( |
170 | __isl_take isl_union_set *uset1, __isl_take isl_union_set *uset2); |
171 | __isl_give isl_union_map *isl_union_set_lex_ge_union_set( |
172 | __isl_take isl_union_set *uset1, __isl_take isl_union_set *uset2); |
173 | |
174 | __isl_give isl_union_set *isl_union_set_coefficients( |
175 | __isl_take isl_union_set *bset); |
176 | __isl_give isl_union_set *isl_union_set_solutions( |
177 | __isl_take isl_union_set *bset); |
178 | |
179 | __isl_give isl_union_set *isl_union_set_read_from_file(isl_ctx *ctx, |
180 | FILE *input); |
181 | __isl_constructor |
182 | __isl_give isl_union_set *isl_union_set_read_from_str(isl_ctx *ctx, |
183 | const char *str); |
184 | __isl_give char *isl_union_set_to_str(__isl_keep isl_union_set *uset); |
185 | __isl_give isl_printer *isl_printer_print_union_set(__isl_take isl_printer *p, |
186 | __isl_keep isl_union_set *uset); |
187 | void isl_union_set_dump(__isl_keep isl_union_set *uset); |
188 | |
189 | ISL_DECLARE_EXPORTED_LIST_FN(union_set) |
190 | ISL_DECLARE_EXPORTED_LIST_FN_READ(union_set) |
191 | |
192 | __isl_give isl_union_set *isl_union_set_list_union( |
193 | __isl_take isl_union_set_list *list); |
194 | |
195 | #if defined(__cplusplus) |
196 | } |
197 | #endif |
198 | |
199 | #endif |
200 | |