Blender V2.61 - r43446
Classes | Defines | Functions | Variables

gim_hash_table.h File Reference

#include "gim_radixsort.h"

Go to the source code of this file.

Classes

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_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 Documentation

#define GIM_DEFAULT_HASH_TABLE_NODE_SIZE   4
#define GIM_DEFAULT_HASH_TABLE_SIZE   380
#define GIM_HASH_TABLE_GROW_FACTOR   2

Definition at line 41 of file gim_hash_table.h.

#define GIM_INVALID_HASH   0xffffffff
#define GIM_MIN_RADIX_SORT_SIZE   860

calibrated on a PIII

Definition at line 43 of file gim_hash_table.h.

Referenced by gim_sort_hash_node_array().

#define GIM_NUM_PRIME   28

Definition at line 151 of file gim_hash_table.h.

Referenced by gim_next_prime().


Function Documentation

GUINT gim_next_prime ( GUINT  number) [inline]
template<typename T >
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.

References gim_heap_sort(), GIM_MIN_RADIX_SORT_SIZE, and gim_radix_sort().

Referenced by gim_hash_table< T >::sort().


Variable Documentation

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
}

Definition at line 153 of file gim_hash_table.h.

Referenced by gim_next_prime().