|
Neko 1.99.3
A portable framework for high-order spectral element flow simulations
|
Implements a hash table ADT. More...
Data Types | |
| type | h_cptr_t |
| type | h_tuple_t |
| Hash table entry, tuple (key, data) More... | |
| type | htable_cptr_t |
| C pointer based hash table. More... | |
| interface | htable_hash |
| type | htable_i4_t |
| Integer 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_i8_t |
| Integer*8 based hash table. More... | |
| type | htable_iter_cptr_t |
| Iterator for a C pointer based hash table. More... | |
| type | htable_iter_i4_t |
| Iterator for an integer 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_i8_t |
| Iterator for an integer*8 based hash table. More... | |
| type | htable_iter_pt_t |
| Iterator for a point based hash table. More... | |
| type | htable_iter_r8_t |
| Iterator for a double precision based hash table. More... | |
| type | htable_iter_t |
| Base type for a hash table iterator. More... | |
| type | htable_pt_t |
| Point based hash table. More... | |
| type | htable_r8_t |
| Double precision based hash table. More... | |
| type | htable_t |
| Base type for a hash table. More... | |
Functions/Subroutines | |
| subroutine | htable_init (this, size, key, data) |
| Initialize a hash table of type data. | |
| subroutine | htable_free (this) |
| Destroy a hash table. | |
| subroutine | htable_clear (this) |
| Clear all entries in a hash table. | |
| pure integer function | htable_num_entries (this) |
| Return number of entries in the table. | |
| pure integer function | htable_size (this) |
| Return total size of htable. | |
| recursive subroutine | htable_set (this, key, data) |
| Insert tuple (key, value) into the hash table. | |
| integer function | htable_get (this, key, data) |
| Retrieve data associated with key into the hash table. | |
| subroutine | htable_remove (this, key) |
| Remove a key from the hash table. | |
| subroutine | htable_set_data (this, idx, data) |
| Set data at idx to value. | |
| subroutine | htable_get_data (this, idx, data) |
| Return data at idx in value. | |
| pure logical function | htable_eq_key (this, idx, key) |
| Compare key at idx to key. | |
| subroutine | htable_set_key (this, idx, key) |
| Set key at idx to key. | |
| logical function | htable_iter_next (this) |
| Advance the iterator to the next valid table entry. | |
| subroutine | htable_iter_reset (this) |
| Reset an iterator. | |
| subroutine | htable_iter_data (this, data) |
| Return the data at the current iterator position. | |
| subroutine | htable_i4_init (this, size, data) |
| Initialize an integer based hash table. | |
| subroutine | htable_i4_set (this, key, data) |
| Insert an integer into the hash table. | |
| integer function | htable_i4_get (this, key, data) |
| Retrive an integer with key key from the hash table. | |
| pure integer function | htable_i4_hash (this, k, c) |
| Hash function for an integer based hash table. | |
| subroutine | htable_i4_remove (this, key) |
| Remove an integer with key key from the hash table. | |
| subroutine | htable_iter_i4_init (this, t) |
| Initialize an integer based hash table iterator. | |
| subroutine | htable_iter_i4_free (this) |
| Destroy an integer based hash table iterator. | |
| integer function, pointer | htable_iter_i4_value (this) |
| Return the current value of the integer based hash table iterator. | |
| integer function, pointer | htable_iter_i4_key (this) |
| Return the current key of the integer based hash table iterator. | |
| subroutine | htable_i8_init (this, size, data) |
| Initialize an integer*8 based hash table. | |
| subroutine | htable_i8_set (this, key, data) |
| Insert an integer*8 into the hash table. | |
| integer function | htable_i8_get (this, key, data) |
| Retrive an integer*8 with key key from the hash table. | |
| pure integer function | htable_i8_hash (this, k, c) |
| Hash function for an integer*8 based hash table. | |
| subroutine | htable_i8_remove (this, key) |
| Remove an integer*8 with key key from the hash table. | |
| subroutine | htable_iter_i8_init (this, t) |
| Initialize an integer*8 based hash table iterator. | |
| subroutine | htable_iter_i8_free (this) |
| Destroy an integer*8 based hash table iterator. | |
| integer(kind=i8) function, pointer | htable_iter_i8_value (this) |
| Return the current value of the integer*8 based hash table iterator. | |
| integer(kind=i8) function, pointer | htable_iter_i8_key (this) |
| Return the current key of the integer*8 based hash table iterator. | |
| subroutine | htable_r8_init (this, size, data) |
| Initialize a double precision based hash table. | |
| subroutine | htable_r8_set (this, key, data) |
| Insert a double precision key (with data) into the hash table. | |
| integer function | htable_r8_get (this, key, data) |
| Retrive a double precision float with key key from the hash table. | |
| pure integer function | htable_r8_hash (this, k, c) |
| Hash function for a double precision based hash table. | |
| subroutine | htable_r8_remove (this, key) |
| Remove a double precision key key from the hash table. | |
| subroutine | htable_iter_r8_init (this, t) |
| Initialize a double precision based hash table iterator. | |
| subroutine | htable_iter_r8_free (this) |
| Destroy a double precision based hash table iterator. | |
| real(kind=dp) function, pointer | htable_iter_r8_value (this) |
| Return the current value of the double precision based hash table iterator. | |
| real(kind=dp) function, pointer | htable_iter_r8_key (this) |
| Return the current key of the double precision based hash table iterator. | |
| subroutine | htable_pt_init (this, size, data) |
| Initialize a point based hash table. | |
| subroutine | htable_pt_set (this, key, data) |
| Insert a point key (with data) into the hash table. | |
| integer function | htable_pt_get (this, key, data) |
| Retrive a point with key key from the hash table. | |
| pure integer function | htable_pt_hash (this, k, c) |
| Hash function for a point based hash table. | |
| subroutine | htable_pt_remove (this, key) |
| Remove a point with key key from the hash table. | |
| subroutine | htable_iter_pt_init (this, t) |
| Initialize a point based hash table iterator. | |
| subroutine | htable_iter_pt_free (this) |
| Destroy a point based hash table iterator. | |
| type(point_t) function, pointer | htable_iter_pt_value (this) |
| Return the current value of the point based hash table iterator. | |
| type(point_t) function, pointer | htable_iter_pt_key (this) |
| Return the current key of the point based hash table iterator. | |
| subroutine | htable_i4t2_init (this, size, data) |
| Initialize an integer 2-tuple hash table. | |
| subroutine | htable_i4t2_set (this, key, data) |
| Insert an integer 2-tuple into the hash table. | |
| integer function | htable_i4t2_get (this, key, data) |
| Retrive an integer 2-tuple with key key from the hash table. | |
| pure integer function | htable_i4t2_hash (this, k, c) |
| Hash function for an integer 2-tuple hash table. | |
| subroutine | htable_i4t2_remove (this, key) |
| Remove an integer 2-tuple with key key from the hash table. | |
| subroutine | htable_iter_i4t2_init (this, t) |
| Initialize an integer 2-tuple based hash table iterator. | |
| subroutine | htable_iter_i4t2_free (this) |
| Destroy an integer 2-tuple based hash table iterator. | |
| type(tuple_i4_t) function, pointer | htable_iter_i4t2_value (this) |
| Return the current value of integer based 2-tuple hash table iterator. | |
| type(tuple_i4_t) function, pointer | htable_iter_i4t2_key (this) |
| Return the current key of integer based 2-tuple hash table iterator. | |
| subroutine | htable_i4t4_init (this, size, data) |
| Initialize an integer 4-tuple hash table. | |
| subroutine | htable_i4t4_set (this, key, data) |
| Insert an integer 4-tuple into the hash table. | |
| integer function | htable_i4t4_get (this, key, data) |
| Retrive an integer 4-tuple with key key from the hash table. | |
| pure integer function | htable_i4t4_hash (this, k, c) |
| Hash function for an integer 4-tuple hash table. | |
| subroutine | htable_i4t4_remove (this, key) |
| Remove an integer 4-tuple with key key from the hash table. | |
| subroutine | htable_iter_i4t4_init (this, t) |
| Initialize an integer 4-tuple based hash table iterator. | |
| subroutine | htable_iter_i4t4_free (this) |
| Destroy an integer 4-tuple based hash table iterator. | |
| type(tuple4_i4_t) function, pointer | htable_iter_i4t4_value (this) |
| Return the current value of integer based 4-tuple hash table iterator. | |
| type(tuple4_i4_t) function, pointer | htable_iter_i4t4_key (this) |
| Return the current key of integer based 4-tuple hash table iterator. | |
| subroutine | htable_cptr_init (this, size, data) |
| Initialize a C pointer based hash table. | |
| subroutine | htable_cptr_set (this, key, data) |
| Insert a C pointer into the hash table. | |
| integer function | htable_cptr_get (this, key, data) |
| Retrive a C pointer with key key from the hash table. | |
| pure integer function | htable_cptr_hash (this, k, c) |
| Hash function for an integer 4-tuple hash table. | |
| subroutine | htable_cptr_remove (this, key) |
| Remove a C pointer with key key from the hash table. | |
| subroutine | htable_iter_cptr_init (this, t) |
| Initialize a C pointer based hash table iterator. | |
| subroutine | htable_iter_cptr_free (this) |
| Destroy a C pointer based hash table iterator. | |
| type(h_cptr_t) function, pointer | htable_iter_cptr_value (this) |
| Return the current value of C pointer based hash table iterator. | |
| type(h_cptr_t) function, pointer | htable_iter_cptr_key (this) |
| Return the current key of a C pointer based hash table iterator. | |
A hash table storing tuples (key, data), with fixed data-type key but with arbitrary typed data Public types: htable_i4_t | hash table keyed by 32-bit ints htable_i8_t | hash table keyed by 64-bit ints htable_r8_t | hash table keyed by 64-bit real values htable_pt_t | hash table keyed by point_t htable_i4t2_t | hash table keyed by tuple_i4_t htable_i4t4_t | hash table keyed by tuple4_i4_t htable_cptr_t | hash table keyed by C pointers htable_iter_i4_t | iterator for 32-bit integer hash tables htable_iter_i8_t | iterator for 64-bit integer hash tables htable_iter_r8_t | iterator for 64-bit real hash tables htable_iter_pt_t | iterator for point_t hash tables htable_iter_i4t2_t | iterator for tuple_i4_t hash tables htable_iter_i4t4_t | iterator for tuple4_i4_t hash tables htable_iter_cptr_t | iterator for C pointer hash tables h_cptr_t | wrapper for C pointers used as hash keys
|
private |
Definition at line 313 of file htable.f90.
|
private |
| [in,out] | key | Key to retrieve |
| [in,out] | data | Retrieved data |
Definition at line 1565 of file htable.f90.

|
private |
Definition at line 1576 of file htable.f90.
|
private |
| size | Initial size of the table | |
| [in,out] | data | Data to associate with key |
Definition at line 1540 of file htable.f90.

|
private |
| [in,out] | key | Table key |
Definition at line 1594 of file htable.f90.

|
private |
| [in,out] | key | Table key |
| [in,out] | data | Data associated with key |
Definition at line 1555 of file htable.f90.

|
private |
| [in] | idx | Table index |
| [in] | key | Key to compare against the key at idx |
Definition at line 615 of file htable.f90.

|
private |
|
private |
| [in,out] | key | Key to retrieve |
| [in,out] | data | Retrieved data |
Definition at line 452 of file htable.f90.


|
private |
| [in] | idx | Table index |
| [in,out] | data | Data to retrieve |
Definition at line 571 of file htable.f90.

|
private |
| [in,out] | key | Key to retrieve |
| [in,out] | data | Retrieved data |
Definition at line 807 of file htable.f90.

|
private |
Definition at line 818 of file htable.f90.
|
private |
| size | Initial size of the table | |
| [in,out] | data | Data to associate with key |
Definition at line 782 of file htable.f90.

|
private |
| [in,out] | key | Table key |
Definition at line 848 of file htable.f90.

|
private |
| [in,out] | key | Table key |
| [in,out] | data | Data associated with key |
Definition at line 797 of file htable.f90.

|
private |
| [in,out] | key | Key to retrieve |
| [in,out] | data | Retrieved data |
Definition at line 1299 of file htable.f90.

|
private |
Definition at line 1310 of file htable.f90.
|
private |
| size | Initial size of the table | |
| [in,out] | data | Data to associate with key |
Definition at line 1274 of file htable.f90.

|
private |
| [in,out] | key | Table key |
Definition at line 1347 of file htable.f90.

|
private |
| [in,out] | key | Table key |
| [in,out] | data | Data associated with key |
Definition at line 1289 of file htable.f90.

|
private |
| [in,out] | key | Key to retrieve |
| [in,out] | data | Retrieved data |
Definition at line 1428 of file htable.f90.

|
private |
Definition at line 1439 of file htable.f90.
|
private |
| size | Initial size of the table | |
| [in,out] | data | Data to associate with key |
Definition at line 1403 of file htable.f90.

|
private |
| [in,out] | key | Table key |
Definition at line 1476 of file htable.f90.

|
private |
| [in,out] | key | Table key |
| [in,out] | data | Data associated with key |
Definition at line 1418 of file htable.f90.

|
private |
| [in,out] | key | Key to retrieve |
| [in,out] | data | Retrieved data |
Definition at line 929 of file htable.f90.

|
private |
Definition at line 940 of file htable.f90.
|
private |
| size | Initial size of the table | |
| [in,out] | data | Data to associate with key |
Definition at line 904 of file htable.f90.

|
private |
| [in,out] | key | Table key |
Definition at line 971 of file htable.f90.

|
private |
| [in,out] | key | Table key |
| [in,out] | data | Data associated with key |
Definition at line 919 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 258 of file htable.f90.


|
private |
|
private |
Definition at line 1603 of file htable.f90.
|
private |
Definition at line 1635 of file htable.f90.
|
private |
Definition at line 1619 of file htable.f90.
|
private |
| [in,out] | data | Data to retrieve |
Definition at line 733 of file htable.f90.
|
private |
|
private |
Definition at line 857 of file htable.f90.
|
private |
Definition at line 887 of file htable.f90.
|
private |
Definition at line 873 of file htable.f90.
|
private |
|
private |
Definition at line 1356 of file htable.f90.
|
private |
Definition at line 1386 of file htable.f90.
|
private |
Definition at line 1372 of file htable.f90.
|
private |
|
private |
Definition at line 1485 of file htable.f90.
|
private |
Definition at line 1515 of file htable.f90.
|
private |
Definition at line 1501 of file htable.f90.
|
private |
|
private |
Definition at line 980 of file htable.f90.
|
private |
Definition at line 1010 of file htable.f90.
|
private |
Definition at line 996 of file htable.f90.
|
private |
Definition at line 705 of file htable.f90.
|
private |
|
private |
Definition at line 1227 of file htable.f90.
|
private |
Definition at line 1257 of file htable.f90.
|
private |
Definition at line 1243 of file htable.f90.
|
private |
|
private |
Definition at line 1096 of file htable.f90.
|
private |
Definition at line 1126 of file htable.f90.
|
private |
Definition at line 1112 of file htable.f90.
|
private |
Definition at line 724 of file htable.f90.
Definition at line 326 of file htable.f90.
|
private |
| [in,out] | key | Key to retrieve |
| [in,out] | data | Retrieved data |
Definition at line 1168 of file htable.f90.

|
private |
Definition at line 1179 of file htable.f90.
|
private |
| size | Initial size of the table | |
| [in,out] | data | Data to associate with key |
Definition at line 1143 of file htable.f90.

|
private |
| [in,out] | key | Table key |
Definition at line 1217 of file htable.f90.

|
private |
| [in,out] | key | Table key |
| [in,out] | data | Data associated with key |
Definition at line 1158 of file htable.f90.

|
private |
| [in,out] | key | Key to retrieve |
| [in,out] | data | Retrieved data |
Definition at line 1061 of file htable.f90.

|
private |
Definition at line 1072 of file htable.f90.
|
private |
| size | Initial size of the table | |
| [in,out] | data | Data to associate with key |
Definition at line 1036 of file htable.f90.

|
private |
| [in,out] | key | Table key |
Definition at line 1086 of file htable.f90.

|
private |
| [in,out] | key | Table key |
| [in,out] | data | Data associated with key |
Definition at line 1051 of file htable.f90.

|
private |
| [in,out] | key | Key to remove |
Definition at line 485 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 341 of file htable.f90.


|
private |
| [in] | idx | Table index |
| [in] | data | Data to set at idx |
Definition at line 525 of file htable.f90.

|
private |
| [in] | idx | Table index |
| [in] | key | Key to set at idx |
Definition at line 659 of file htable.f90.
