diff options
Diffstat (limited to 'cloog-0.17.0/isl/isl_hmap_map_basic_set.c')
-rw-r--r-- | cloog-0.17.0/isl/isl_hmap_map_basic_set.c | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/cloog-0.17.0/isl/isl_hmap_map_basic_set.c b/cloog-0.17.0/isl/isl_hmap_map_basic_set.c deleted file mode 100644 index b303516..0000000 --- a/cloog-0.17.0/isl/isl_hmap_map_basic_set.c +++ /dev/null @@ -1,102 +0,0 @@ -#include <isl_hmap_map_basic_set.h> - -struct isl_map_basic_set_pair { - isl_map *key; - isl_basic_set *val; -}; - -__isl_give isl_hmap_map_basic_set *isl_hmap_map_basic_set_alloc(isl_ctx *ctx, - int min_size) -{ - return (isl_hmap_map_basic_set *) isl_hash_table_alloc(ctx, min_size); -} - -static int free_pair(void **entry, void *user) -{ - struct isl_map_basic_set_pair *pair = *entry; - isl_map_free(pair->key); - isl_basic_set_free(pair->val); - free(pair); - *entry = NULL; - return 0; -} - -void isl_hmap_map_basic_set_free(isl_ctx *ctx, - __isl_take isl_hmap_map_basic_set *hmap) -{ - if (!hmap) - return; - isl_hash_table_foreach(ctx, &hmap->table, &free_pair, NULL); - isl_hash_table_free(ctx, &hmap->table); -} - -static int has_key(const void *entry, const void *key) -{ - const struct isl_map_basic_set_pair *pair = entry; - isl_map *map = (isl_map *)key; - - return isl_map_plain_is_equal(pair->key, map); -} - -int isl_hmap_map_basic_set_has(isl_ctx *ctx, - __isl_keep isl_hmap_map_basic_set *hmap, __isl_keep isl_map *key) -{ - uint32_t hash; - - hash = isl_map_get_hash(key); - return !!isl_hash_table_find(ctx, &hmap->table, hash, &has_key, key, 0); -} - -__isl_give isl_basic_set *isl_hmap_map_basic_set_get(isl_ctx *ctx, - __isl_keep isl_hmap_map_basic_set *hmap, __isl_take isl_map *key) -{ - struct isl_hash_table_entry *entry; - struct isl_map_basic_set_pair *pair; - uint32_t hash; - - hash = isl_map_get_hash(key); - entry = isl_hash_table_find(ctx, &hmap->table, hash, &has_key, key, 0); - isl_map_free(key); - - if (!entry) - return NULL; - - pair = entry->data; - - return isl_basic_set_copy(pair->val); -} - -int isl_hmap_map_basic_set_set(isl_ctx *ctx, - __isl_keep isl_hmap_map_basic_set *hmap, __isl_take isl_map *key, - __isl_take isl_basic_set *val) -{ - struct isl_hash_table_entry *entry; - struct isl_map_basic_set_pair *pair; - uint32_t hash; - - hash = isl_map_get_hash(key); - entry = isl_hash_table_find(ctx, &hmap->table, hash, &has_key, key, 1); - - if (!entry) - return -1; - - if (entry->data) { - pair = entry->data; - isl_basic_set_free(pair->val); - pair->val = val; - isl_map_free(key); - return 0; - } - - pair = isl_alloc_type(ctx, struct isl_map_basic_set_pair); - if (!pair) { - isl_map_free(key); - isl_basic_set_free(val); - return -1; - } - - entry->data = pair; - pair->key = key; - pair->val = val; - return 0; -} |