Bullet Collision Detection & Physics Library: gim_hash_table.h File Reference

Bullet Collision Detection & Physics Library

Classes | Macros | Functions | Variables
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
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...

## Macros
#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]

## Macro Definition Documentation

## ◆ GIM_DEFAULT_HASH_TABLE_NODE_SIZE

#define GIM_DEFAULT_HASH_TABLE_NODE_SIZE 4

Definition at line 39 of file gim_hash_table.h.

## ◆ GIM_DEFAULT_HASH_TABLE_SIZE

#define GIM_DEFAULT_HASH_TABLE_SIZE 380

Definition at line 38 of file gim_hash_table.h.

## ◆ GIM_HASH_TABLE_GROW_FACTOR

#define GIM_HASH_TABLE_GROW_FACTOR 2

Definition at line 40 of file gim_hash_table.h.

## ◆ GIM_INVALID_HASH

#define GIM_INVALID_HASH 0xffffffff

A very very high value.

Definition at line 37 of file gim_hash_table.h.

## ◆ GIM_MIN_RADIX_SORT_SIZE

#define GIM_MIN_RADIX_SORT_SIZE 860

calibrated on a PIII

Definition at line 42 of file gim_hash_table.h.

## ◆ GIM_NUM_PRIME

#define GIM_NUM_PRIME 28

Definition at line 139 of file gim_hash_table.h.

## Function Documentation

## ◆ gim_next_prime()

GUINT gim_next_prime | ( | GUINT | number | ) |
| inline

Definition at line 150 of file gim_hash_table.h.

## ◆ gim_sort_hash_node_array()

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 125 of file gim_hash_table.h.

## Variable Documentation

## ◆ gim_prime_list

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 141 of file gim_hash_table.h.