Modern Fortran hash tables based on the function hashword in lookup3.c
Five derived types are available:
| Derived type | Data to be stored |
|---|---|
| table_char_t | Characters of a defined length. Trailing blanks are ignored. |
| table_int32_t | Integer scalars of 32 bits |
| table_real32_t | Real scalars of 32 bits |
| table_arrint32_t | Integer arrays of 32 bits |
| table_arrreal32_t | Real arrays of 32 bits |
Each derived type contains these 7 public methods.
| Method | Class | Description |
|---|---|---|
add(element[, index, lnew]) |
Subroutine | Add the element element in the DT if not stored yet. The integer index (intent(out), optional) contains the index of the elements (between 1 and getfilled(). The logical lnew (intent(out), optional) is .true. if the element is not stored yet. Otherwise it is .false.. |
destroy() |
Function | Reset all scalars and arrays |
get(index) |
Function | Returns the element stored corresponding to the index index. |
getfilled() |
Function | Returns the number of elements stored in the DT |
getindex(element) |
Function | Returns the index (between 1 and getfilled()) of the element element |
getsize() |
Function | Returns the size of the arrays that contains the stored elements |
writetable(filename) |
Subroutine | Writes to a file called filename all elements and corresponding index stored in the DT. |