Neko
0.9.99
A portable framework for high-order spectral element flow simulations
|
Implements a hash table ADT. More...
Data Types | |
type | h_tuple_t |
Hash table entry, tuple (key, data) More... | |
type | htable_t |
Base type for a hash table. More... | |
interface | htable_hash |
type | htable_i4_t |
Integer based hash table. More... | |
type | htable_i8_t |
Integer*8 based hash table. More... | |
type | htable_r8_t |
Double precision based hash table. More... | |
type | htable_pt_t |
Point based hash table. More... | |
type | htable_i4t2_t |
Integer 2-tuple based hash table. More... | |
type | htable_i4t4_t |
Integer 4-tuple based hash table. More... | |
type | htable_cptr_t |
C pointer based hash table. More... | |
type | htable_iter_t |
Base type for a hash table iterator. More... | |
type | htable_iter_i4_t |
Iterator for an integer based hash table. More... | |
type | htable_iter_i8_t |
Iterator for an integer*8 based hash table. More... | |
type | htable_iter_r8_t |
Iterator for a double precision based hash table. More... | |
type | htable_iter_pt_t |
Iterator for a point based hash table. More... | |
type | htable_iter_i4t2_t |
Iterator for an integer based 2-tuple hash table. More... | |
type | htable_iter_i4t4_t |
Iterator for an integer based 4-tuple hash table. More... | |
type | htable_iter_cptr_t |
Iterator for a C pointer based hash table. More... | |
type | h_cptr_t |
Functions/Subroutines | |
subroutine | htable_init (this, size, key, data) |
Initialize a hash table of type data. More... | |
subroutine | htable_free (this) |
Destroy a hash table. More... | |
subroutine | htable_clear (this) |
Clear all entries in a hash table. More... | |
pure integer function | htable_num_entries (this) |
Return number of entries in the table. More... | |
pure integer function | htable_size (this) |
Return total size of htable. More... | |
recursive subroutine | htable_set (this, key, data) |
Insert tuple (key, value) into the hash table. More... | |
integer function | htable_get (this, key, data) |
Retrieve data associated with key into the hash table. More... | |
subroutine | htable_remove (this, key) |
Remove a key from the hash table. More... | |
subroutine | htable_set_data (this, idx, data) |
Set data at idx to value. More... | |
subroutine | htable_get_data (this, idx, data) |
Return data at idx in value. More... | |
pure logical function | htable_eq_key (this, idx, key) |
Compare key at idx to key. More... | |
subroutine | htable_set_key (this, idx, key) |
Set key at idx to key. More... | |
logical function | htable_iter_next (this) |
Advance the iterator to the next valid table entry. More... | |
subroutine | htable_iter_reset (this) |
Reset an iterator. More... | |
subroutine | htable_iter_data (this, data) |
Return the data at the current iterator position. More... | |
subroutine | htable_i4_init (this, size, data) |
Initialize an integer based hash table. More... | |
subroutine | htable_i4_set (this, key, data) |
Insert an integer into the hash table. More... | |
integer function | htable_i4_get (this, key, data) |
Retrive an integer with key key from the hash table. More... | |
pure integer function | htable_i4_hash (this, k, c) |
Hash function for an integer based hash table. More... | |
subroutine | htable_i4_remove (this, key) |
Remove an integer with key key from the hash table. More... | |
subroutine | htable_iter_i4_init (this, t) |
Initialize an integer based hash table iterator. More... | |
subroutine | htable_iter_i4_free (this) |
Destroy an integer based hash table iterator. More... | |
integer function, pointer | htable_iter_i4_value (this) |
Return the current value of the integer based hash table iterator. More... | |
integer function, pointer | htable_iter_i4_key (this) |
Return the current key of the integer based hash table iterator. More... | |
subroutine | htable_i8_init (this, size, data) |
Initialize an integer*8 based hash table. More... | |
subroutine | htable_i8_set (this, key, data) |
Insert an integer*8 into the hash table. More... | |
integer function | htable_i8_get (this, key, data) |
Retrive an integer*8 with key key from the hash table. More... | |
pure integer function | htable_i8_hash (this, k, c) |
Hash function for an integer*8 based hash table. More... | |
subroutine | htable_i8_remove (this, key) |
Remove an integer*8 with key key from the hash table. More... | |
subroutine | htable_iter_i8_init (this, t) |
Initialize an integer*8 based hash table iterator. More... | |
subroutine | htable_iter_i8_free (this) |
Destroy an integer*8 based hash table iterator. More... | |
integer(kind=i8) function, pointer | htable_iter_i8_value (this) |
Return the current value of the integer*8 based hash table iterator. More... | |
integer(kind=i8) function, pointer | htable_iter_i8_key (this) |
Return the current key of the integer*8 based hash table iterator. More... | |
subroutine | htable_r8_init (this, size, data) |
Initialize a double precision based hash table. More... | |
subroutine | htable_r8_set (this, key, data) |
Insert a double precision key (with data) into the hash table. More... | |
integer function | htable_r8_get (this, key, data) |
Retrive a double precision float with key key from the hash table. More... | |
pure integer function | htable_r8_hash (this, k, c) |
Hash function for a double precision based hash table. More... | |
subroutine | htable_r8_remove (this, key) |
Remove a double precision key key from the hash table. More... | |
subroutine | htable_iter_r8_init (this, t) |
Initialize a double precision based hash table iterator. More... | |
subroutine | htable_iter_r8_free (this) |
Destroy a double precision based hash table iterator. More... | |
real(kind=dp) function, pointer | htable_iter_r8_value (this) |
Return the current value of the double precision based hash table iterator. More... | |
real(kind=dp) function, pointer | htable_iter_r8_key (this) |
Return the current key of the double precision based hash table iterator. More... | |
subroutine | htable_pt_init (this, size, data) |
Initialize a point based hash table. More... | |
subroutine | htable_pt_set (this, key, data) |
Insert a point key (with data) into the hash table. More... | |
integer function | htable_pt_get (this, key, data) |
Retrive a point with key key from the hash table. More... | |
pure integer function | htable_pt_hash (this, k, c) |
Hash function for a point based hash table. More... | |
subroutine | htable_pt_remove (this, key) |
Remove a point with key key from the hash table. More... | |
subroutine | htable_iter_pt_init (this, t) |
Initialize a point based hash table iterator. More... | |
subroutine | htable_iter_pt_free (this) |
Destroy a point based hash table iterator. More... | |
type(point_t) function, pointer | htable_iter_pt_value (this) |
Return the current value of the point based hash table iterator. More... | |
type(point_t) function, pointer | htable_iter_pt_key (this) |
Return the current key of the point based hash table iterator. More... | |
subroutine | htable_i4t2_init (this, size, data) |
Initialize an integer 2-tuple hash table. More... | |
subroutine | htable_i4t2_set (this, key, data) |
Insert an integer 2-tuple into the hash table. More... | |
integer function | htable_i4t2_get (this, key, data) |
Retrive an integer 2-tuple with key key from the hash table. More... | |
pure integer function | htable_i4t2_hash (this, k, c) |
Hash function for an integer 2-tuple hash table. More... | |
subroutine | htable_i4t2_remove (this, key) |
Remove an integer 2-tuple with key key from the hash table. More... | |
subroutine | htable_iter_i4t2_init (this, t) |
Initialize an integer 2-tuple based hash table iterator. More... | |
subroutine | htable_iter_i4t2_free (this) |
Destroy an integer 2-tuple based hash table iterator. More... | |
type(tuple_i4_t) function, pointer | htable_iter_i4t2_value (this) |
Return the current value of integer based 2-tuple hash table iterator. More... | |
type(tuple_i4_t) function, pointer | htable_iter_i4t2_key (this) |
Return the current key of integer based 2-tuple hash table iterator. More... | |
subroutine | htable_i4t4_init (this, size, data) |
Initialize an integer 4-tuple hash table. More... | |
subroutine | htable_i4t4_set (this, key, data) |
Insert an integer 4-tuple into the hash table. More... | |
integer function | htable_i4t4_get (this, key, data) |
Retrive an integer 4-tuple with key key from the hash table. More... | |
pure integer function | htable_i4t4_hash (this, k, c) |
Hash function for an integer 4-tuple hash table. More... | |
subroutine | htable_i4t4_remove (this, key) |
Remove an integer 4-tuple with key key from the hash table. More... | |
subroutine | htable_iter_i4t4_init (this, t) |
Initialize an integer 4-tuple based hash table iterator. More... | |
subroutine | htable_iter_i4t4_free (this) |
Destroy an integer 4-tuple based hash table iterator. More... | |
type(tuple4_i4_t) function, pointer | htable_iter_i4t4_value (this) |
Return the current value of integer based 4-tuple hash table iterator. More... | |
type(tuple4_i4_t) function, pointer | htable_iter_i4t4_key (this) |
Return the current key of integer based 4-tuple hash table iterator. More... | |
subroutine | htable_cptr_init (this, size, data) |
Initialize a C pointer based hash table. More... | |
subroutine | htable_cptr_set (this, key, data) |
Insert a C pointer into the hash table. More... | |
integer function | htable_cptr_get (this, key, data) |
Retrive a C pointer with key key from the hash table. More... | |
pure integer function | htable_cptr_hash (this, k, c) |
Hash function for an integer 4-tuple hash table. More... | |
subroutine | htable_cptr_remove (this, key) |
Remove a C pointer with key key from the hash table. More... | |
subroutine | htable_iter_cptr_init (this, t) |
Initialize a C pointer based hash table iterator. More... | |
subroutine | htable_iter_cptr_free (this) |
Destroy a C pointer based hash table iterator. More... | |
type(h_cptr_t) function, pointer | htable_iter_cptr_value (this) |
Return the current value of C pointer based hash table iterator. More... | |
type(h_cptr_t) function, pointer | htable_iter_cptr_key (this) |
Return the current key of a C pointer based hash table iterator. More... | |
A hash table storing tuples (key, data), with fixed data-type key but with arbitrary typed data
|
private |
Definition at line 290 of file htable.f90.
|
private |
[in,out] | key | Key to retrieve |
[in,out] | data | Retrieved data |
Definition at line 1481 of file htable.f90.
|
private |
Definition at line 1492 of file htable.f90.
|
private |
size | Initial size of the table | |
[in,out] | data | Data to associate with key |
Definition at line 1456 of file htable.f90.
|
private |
[in,out] | key | Table key |
Definition at line 1510 of file htable.f90.
|
private |
[in,out] | key | Table key |
[in,out] | data | Data associated with key |
Definition at line 1471 of file htable.f90.
|
private |
[in] | idx | Table index |
[in] | key | Key to compare against the key at idx |
Definition at line 534 of file htable.f90.
|
private |
|
private |
[in,out] | key | Key to retrieve |
[in,out] | data | Retrieved data |
Definition at line 384 of file htable.f90.
|
private |
[in] | idx | Table index |
[in,out] | data | Data to retrieve |
Definition at line 490 of file htable.f90.
|
private |
[in,out] | key | Key to retrieve |
[in,out] | data | Retrieved data |
Definition at line 722 of file htable.f90.
|
private |
Definition at line 733 of file htable.f90.
|
private |
size | Initial size of the table | |
[in,out] | data | Data to associate with key |
Definition at line 697 of file htable.f90.
|
private |
[in,out] | key | Table key |
Definition at line 763 of file htable.f90.
|
private |
[in,out] | key | Table key |
[in,out] | data | Data associated with key |
Definition at line 712 of file htable.f90.
|
private |
[in,out] | key | Key to retrieve |
[in,out] | data | Retrieved data |
Definition at line 1215 of file htable.f90.
|
private |
Definition at line 1226 of file htable.f90.
|
private |
size | Initial size of the table | |
[in,out] | data | Data to associate with key |
Definition at line 1190 of file htable.f90.
|
private |
[in,out] | key | Table key |
Definition at line 1263 of file htable.f90.
|
private |
[in,out] | key | Table key |
[in,out] | data | Data associated with key |
Definition at line 1205 of file htable.f90.
|
private |
[in,out] | key | Key to retrieve |
[in,out] | data | Retrieved data |
Definition at line 1344 of file htable.f90.
|
private |
Definition at line 1355 of file htable.f90.
|
private |
size | Initial size of the table | |
[in,out] | data | Data to associate with key |
Definition at line 1319 of file htable.f90.
|
private |
[in,out] | key | Table key |
Definition at line 1392 of file htable.f90.
|
private |
[in,out] | key | Table key |
[in,out] | data | Data associated with key |
Definition at line 1334 of file htable.f90.
|
private |
[in,out] | key | Key to retrieve |
[in,out] | data | Retrieved data |
Definition at line 844 of file htable.f90.
|
private |
Definition at line 855 of file htable.f90.
|
private |
size | Initial size of the table | |
[in,out] | data | Data to associate with key |
Definition at line 819 of file htable.f90.
|
private |
[in,out] | key | Table key |
Definition at line 886 of file htable.f90.
|
private |
[in,out] | key | Table key |
[in,out] | data | Data associated with key |
Definition at line 834 of file htable.f90.
subroutine htable::htable_init | ( | class(htable_t), intent(inout) | this, |
integer, value | size, | ||
class(*), intent(in), target | key, | ||
class(*), intent(in), optional, target | data | ||
) |
size | Initial size of the table | |
[in] | key | Type of key |
[in] | data | Type of data |
Definition at line 238 of file htable.f90.
|
private |
|
private |
Definition at line 1519 of file htable.f90.
|
private |
Definition at line 1551 of file htable.f90.
|
private |
Definition at line 1535 of file htable.f90.
|
private |
[in,out] | data | Data to retrieve |
Definition at line 648 of file htable.f90.
|
private |
|
private |
Definition at line 772 of file htable.f90.
|
private |
Definition at line 802 of file htable.f90.
|
private |
Definition at line 788 of file htable.f90.
|
private |
|
private |
Definition at line 1272 of file htable.f90.
|
private |
Definition at line 1302 of file htable.f90.
|
private |
Definition at line 1288 of file htable.f90.
|
private |
|
private |
Definition at line 1401 of file htable.f90.
|
private |
Definition at line 1431 of file htable.f90.
|
private |
Definition at line 1417 of file htable.f90.
|
private |
|
private |
Definition at line 895 of file htable.f90.
|
private |
Definition at line 926 of file htable.f90.
|
private |
Definition at line 911 of file htable.f90.
|
private |
Definition at line 624 of file htable.f90.
|
private |
|
private |
Definition at line 1143 of file htable.f90.
|
private |
Definition at line 1173 of file htable.f90.
|
private |
Definition at line 1159 of file htable.f90.
|
private |
|
private |
Definition at line 1012 of file htable.f90.
|
private |
Definition at line 1042 of file htable.f90.
|
private |
Definition at line 1028 of file htable.f90.
|
private |
Definition at line 639 of file htable.f90.
|
private |
Definition at line 303 of file htable.f90.
|
private |
[in,out] | key | Key to retrieve |
[in,out] | data | Retrieved data |
Definition at line 1084 of file htable.f90.
|
private |
Definition at line 1095 of file htable.f90.
|
private |
size | Initial size of the table | |
[in,out] | data | Data to associate with key |
Definition at line 1059 of file htable.f90.
|
private |
[in,out] | key | Table key |
Definition at line 1133 of file htable.f90.
|
private |
[in,out] | key | Table key |
[in,out] | data | Data associated with key |
Definition at line 1074 of file htable.f90.
|
private |
[in,out] | key | Key to retrieve |
[in,out] | data | Retrieved data |
Definition at line 977 of file htable.f90.
|
private |
Definition at line 988 of file htable.f90.
|
private |
size | Initial size of the table | |
[in,out] | data | Data to associate with key |
Definition at line 952 of file htable.f90.
|
private |
[in,out] | key | Table key |
Definition at line 1002 of file htable.f90.
|
private |
[in,out] | key | Table key |
[in,out] | data | Data associated with key |
Definition at line 967 of file htable.f90.
|
private |
[in,out] | key | Key to remove |
Definition at line 417 of file htable.f90.
|
private |
[in,out] | key | Table key |
[in,out] | data | Data associated with key |
Check if entry at this index is empty or if key matches
Definition at line 318 of file htable.f90.
|
private |
[in] | idx | Table index |
[in] | data | Data to set at idx |
Definition at line 444 of file htable.f90.
|
private |
[in] | idx | Table index |
[in] | key | Key to set at idx |
Definition at line 578 of file htable.f90.
|
private |
Definition at line 310 of file htable.f90.