Classes | |
class | gim_array< T > |
Very simple array container with fast access and simd memory. More... | |
class | gim_bitset |
struct | GIM_HASH_TABLE_NODE< T > |
class | GIM_HASH_NODE_GET_KEY |
Macro for getting the key. More... | |
class | GIM_HASH_NODE_CMP_KEY_MACRO |
Macro for comparing the key and the element. More... | |
class | GIM_HASH_NODE_CMP_MACRO |
Macro for comparing Hash nodes. More... | |
class | gim_hash_table< T > |
A compact hash table implementation. More... | |
Defines | |
#define | GIM_ARRAY_GROW_INCREMENT 2 |
#define | GIM_ARRAY_GROW_FACTOR 2 |
#define | GUINT_BIT_COUNT 32 |
#define | GUINT_EXPONENT 5 |
#define | GIM_INVALID_HASH 0xffffffff |
A very very high value. | |
#define | GIM_DEFAULT_HASH_TABLE_SIZE 380 |
#define | GIM_DEFAULT_HASH_TABLE_NODE_SIZE 4 |
#define | GIM_HASH_TABLE_GROW_FACTOR 2 |
#define | GIM_MIN_RADIX_SORT_SIZE 860 |
calibrated on a PIII | |
#define | GIM_NUM_PRIME 28 |
Functions | |
template<typename T> | |
void | gim_sort_hash_node_array (T *array, GUINT array_count) |
Sorting for hash table. | |
GUINT | gim_next_prime (GUINT number) |
Variables | |
static const GUINT | gim_prime_list [GIM_NUM_PRIME] |
#define GIM_ARRAY_GROW_FACTOR 2 |
#define GIM_ARRAY_GROW_INCREMENT 2 |
#define GIM_DEFAULT_HASH_TABLE_NODE_SIZE 4 |
#define GIM_DEFAULT_HASH_TABLE_SIZE 380 |
#define GIM_HASH_TABLE_GROW_FACTOR 2 |
#define GIM_INVALID_HASH 0xffffffff |
A very very high value.
#define GIM_MIN_RADIX_SORT_SIZE 860 |
calibrated on a PIII
#define GIM_NUM_PRIME 28 |
#define GUINT_BIT_COUNT 32 |
#define GUINT_EXPONENT 5 |
GUINT gim_next_prime | ( | GUINT | number | ) | [inline] |
void gim_sort_hash_node_array | ( | T * | array, | |
GUINT | array_count | |||
) | [inline] |
Sorting for hash table.
switch automatically between quicksort and radixsort
const GUINT gim_prime_list[GIM_NUM_PRIME] [static] |
Initial value:
{ 53ul, 97ul, 193ul, 389ul, 769ul, 1543ul, 3079ul, 6151ul, 12289ul, 24593ul, 49157ul, 98317ul, 196613ul, 393241ul, 786433ul, 1572869ul, 3145739ul, 6291469ul, 12582917ul, 25165843ul, 50331653ul, 100663319ul, 201326611ul, 402653189ul, 805306457ul, 1610612741ul, 3221225473ul, 4294967291ul }