33bc19d0eaa99de8efe9a1c0bf741f4f1c57e6dd
[libfirm] / ir / adt / pset_new.c
1 #ifdef HAVE_CONFIG_H
2 #include "config.h"
3 #endif
4
5 #include "pset_new.h"
6
7 /** probing method: quadratic probing */
8 #define DO_REHASH
9 #define HashSet                    pset_new_t
10 #define HashSetIterator            pset_new_iterator_t
11 #define ValueType                  void*
12 #define NullValue                  NULL
13 #define DeletedValue               ((void*)-1)
14 #define KeysEqual(this,key1,key2)  1
15 #define SetRangeEmpty(ptr,size)    memset(ptr, 0, (size) * sizeof(HashSetEntry))
16
17 #define hashset_init            pset_new_init
18 #define hashset_init_size       pset_new_init_size
19 #define hashset_destroy         pset_new_destroy
20 #define hashset_insert          pset_new_insert
21 #define hashset_remove          pset_new_remove
22 #define hashset_find            pset_new_find
23 #define hashset_size            pset_new_size
24 #define hashset_iterator_init   pset_new_iterator_init
25 #define hashset_iterator_next   pset_new_iterator_next
26 #define hashset_remove_iterator pset_new_remove_iterator
27
28 #include "hashset.c"
29
30 int pset_new_contains(const pset_new_t *pset_new, const ValueType val)
31 {
32         return pset_new_find(pset_new, val) != NullValue;
33 }