Go to the source code of this file.
|
| module | qs_nl_hash_table_types |
| | A simple hash table of integer keys, using hash function: H(k) = (k*p) mod n + 1 where: k = key p = a prime number >= n n = size of the hash table And collision resolvation is done by open addressing with linear probing.
|
| |
|
| recursive subroutine, public | qs_nl_hash_table_types::nl_hash_table_add (hash_table, key, val) |
| | Add element to a hash table, auto resize if necessary.
|
| |
| subroutine, public | qs_nl_hash_table_types::nl_hash_table_create (hash_table, nmax) |
| | Creates and initialises an empty nl_hash_table object.
|
| |
| subroutine, public | qs_nl_hash_table_types::nl_hash_table_get_from_index (hash_table, idx, val) |
| | Retrieve value from a hash table given a specified index.
|
| |
| subroutine, public | qs_nl_hash_table_types::nl_hash_table_is_null (hash_table, key, is_null) |
| | Initialises a nl_hash_table object.
|
| |
| subroutine, public | qs_nl_hash_table_types::nl_hash_table_release (hash_table) |
| | releases the hash table. Note that deallocating tasks stored in the table is the responsibility of the caller
|
| |
| subroutine, public | qs_nl_hash_table_types::nl_hash_table_status (hash_table, nelements, nmax, prime) |
| | outputs the current information about the table
|
| |