#include "gim_radixsort.h"
Go to the source code of this file.
Classes | |
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_NODE_GET_KEY |
Macro for getting the key. More... | |
class | gim_hash_table< T > |
A compact hash table implementation. More... | |
struct | GIM_HASH_TABLE_NODE< T > |
Defines | |
#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 |
Functions | |
GUINT | gim_next_prime (GUINT number) |
template<typename T > | |
void | gim_sort_hash_node_array (T *array, GUINT array_count) |
Sorting for hash table. | |
Variables | |
static const GUINT | gim_prime_list [GIM_NUM_PRIME] |
#define GIM_DEFAULT_HASH_TABLE_NODE_SIZE 4 |
Definition at line 40 of file gim_hash_table.h.
#define GIM_DEFAULT_HASH_TABLE_SIZE 380 |
Definition at line 39 of file gim_hash_table.h.
#define GIM_HASH_TABLE_GROW_FACTOR 2 |
Definition at line 41 of file gim_hash_table.h.
#define GIM_INVALID_HASH 0xffffffff |
A very very high value.
Definition at line 38 of file gim_hash_table.h.
#define GIM_MIN_RADIX_SORT_SIZE 860 |
calibrated on a PIII
Definition at line 43 of file gim_hash_table.h.
#define GIM_NUM_PRIME 28 |
Definition at line 151 of file gim_hash_table.h.
GUINT gim_next_prime | ( | GUINT | number | ) | [inline] |
Definition at line 163 of file gim_hash_table.h.
void gim_sort_hash_node_array | ( | T * | array, |
GUINT | array_count | ||
) |
Sorting for hash table.
switch automatically between quicksort and radixsort
Definition at line 132 of file gim_hash_table.h.
const GUINT gim_prime_list[GIM_NUM_PRIME] [static] |
{ 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 }
Definition at line 153 of file gim_hash_table.h.