gim_hash_table.h File Reference

#include "gim_radixsort.h"
Include dependency graph for gim_hash_table.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 Documentation

#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.


Function Documentation

GUINT gim_next_prime ( GUINT  number  )  [inline]

Definition at line 163 of file gim_hash_table.h.

template<typename T >
void gim_sort_hash_node_array ( T *  array,
GUINT  array_count 
) [inline]

Sorting for hash table.

switch automatically between quicksort and radixsort

Definition at line 132 of file gim_hash_table.h.


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.

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


bullet
Author(s): Erwin Coumans, ROS package maintained by Tully Foote
autogenerated on Fri Jan 11 10:10:58 2013