Lines Matching +full:- +full:- +full:user
4 * Copyright 2015 INRIA Paris-Rocquencourt
8 * Written by Sven Verdoolaege, INRIA Saclay - Ile-de-France,
12 * and INRIA Paris-Rocquencourt, Domaine de Voluceau, Rocquenqourt, B.P. 105,
49 isl_stat (*fn)(__isl_keep S(UNION,group) *group, void *user); in S()
50 void *user; in S() local
53 /* Call data->fn on the group stored at *entry.
55 static isl_stat FN(UNION,call_on_group)(void **entry, void *user) in FN()
60 data = (S(UNION,foreach_group_data) *) user; in FN()
61 return data->fn(group, data->user); in FN()
67 isl_stat (*fn)(__isl_keep S(UNION,group) *group, void *user), in FN()
68 void *user) in FN()
70 S(UNION,foreach_group_data) data = { fn, user }; in FN()
75 return isl_hash_table_foreach(u->space->ctx, &u->table, in FN()
84 void *user) in FN()
86 int *n = user; in FN()
91 *n += group->part_table.n; in FN()
110 static isl_stat FN(UNION,free_group_entry)(void **entry, void *user) in FN()
128 ctx = isl_space_get_ctx(group->domain_space); in S()
129 isl_hash_table_foreach(ctx, &group->part_table, in S()
131 isl_hash_table_clear(&group->part_table); in S()
132 isl_space_free(group->domain_space); in S()
152 group->domain_space = domain_space; in S()
153 if (isl_hash_table_init(ctx, &group->part_table, size) < 0) in S()
185 isl_stat (*fn)(__isl_take PART *part, void *user); in S()
186 void *user; in S() local
189 static isl_stat FN(UNION,call_on_copy)(void **entry, void *user) in FN()
192 S(UNION,foreach_data) *data = (S(UNION,foreach_data) *) user; in FN()
197 return data->fn(part, data->user); in FN()
200 /* Call data->fn on a copy of each expression in "group".
203 void *user) in FN()
210 ctx = isl_space_get_ctx(group->domain_space); in FN()
211 return isl_hash_table_foreach(ctx, &group->part_table, in FN()
212 &FN(UNION,call_on_copy), user); in FN()
216 isl_stat (*fn)(__isl_take PART *part, void *user), void *user) in FN()
218 S(UNION,foreach_data) data = { fn, user }; in FN()
235 return isl_space_has_domain_tuples(group->domain_space, space); in FN()
261 group_entry = isl_hash_table_find(ctx, &u->table, hash, in FN()
265 if (reserve && !group_entry->data) { in FN()
268 group_entry->data = group; in FN()
270 group = group_entry->data; in FN()
277 return isl_hash_table_find(ctx, &group->part_table, hash, in FN()
300 part = part_entry->data; in FN()
304 group_entry = isl_hash_table_find(ctx, &u->table, hash, in FN()
311 group = group_entry->data; in FN()
312 isl_hash_table_remove(ctx, &group->part_table, part_entry); in FN()
315 if (group->part_table.n != 0) in FN()
318 isl_hash_table_remove(ctx, &u->table, group_entry); in FN()
346 static isl_stat FN(UNION,check_disjoint_domain_entry)(void **entry, void *user) in FN()
348 PART *part = user; in FN()
353 equal = isl_space_is_equal(part->dim, other->dim); in FN()
390 group_entry = isl_hash_table_find(ctx, &u->table, hash, in FN()
396 group = group_entry->data; in FN()
397 return isl_hash_table_foreach(ctx, &group->part_table, in FN()
425 isl_stat (*fn)(void **entry, void *user); in S()
426 void *user; in S() local
429 /* isl_union_*_foreach_group callback for calling data->fn on
433 void *user) in FN()
441 data = (S(UNION,foreach_inplace_data) *) user; in FN()
442 ctx = isl_space_get_ctx(group->domain_space); in FN()
443 return isl_hash_table_foreach(ctx, &group->part_table, in FN()
444 data->fn, data->user); in FN()
450 isl_stat (*fn)(void **part, void *user), void *user) in FN()
452 S(UNION,foreach_inplace_data) data = { fn, user }; in FN()
457 static isl_stat FN(UNION,free_u_entry)(void **entry, void *user) in FN()
470 return isl_bool_ok(u->table.n == 0); in FN()
477 void *user) in FN()
479 isl_bool *single = user; in FN()
483 *single = isl_bool_ok(group->part_table.n == 1); in FN()
498 if (u->table.n != 1) in FN()
508 * Store that base expression in "user".
512 static isl_stat FN(UNION,extract_part)(void **entry, void *user) in FN()
514 PART **part_p = user; in FN()