Neko  0.9.0
A portable framework for high-order spectral element flow simulations
htable Module Reference

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...
 

Detailed Description

A hash table storing tuples (key, data), with fixed data-type key but with arbitrary typed data

Function/Subroutine Documentation

◆ htable_clear()

subroutine htable::htable_clear ( class(htable_t), intent(inout)  this)
private

Definition at line 290 of file htable.f90.

◆ htable_cptr_get()

integer function htable::htable_cptr_get ( class(htable_cptr_t), intent(inout), target  this,
type(h_cptr_t), intent(inout)  key,
class(*), intent(inout)  data 
)
private
Parameters
[in,out]keyKey to retrieve
[in,out]dataRetrieved data

Definition at line 1481 of file htable.f90.

Here is the call graph for this function:

◆ htable_cptr_hash()

pure integer function htable::htable_cptr_hash ( class(htable_cptr_t), intent(in)  this,
class(*), intent(in)  k,
integer, value  c 
)
private

Definition at line 1492 of file htable.f90.

◆ htable_cptr_init()

subroutine htable::htable_cptr_init ( class(htable_cptr_t), intent(inout)  this,
integer, value  size,
class(*), intent(inout), optional  data 
)
private
Parameters
sizeInitial size of the table
[in,out]dataData to associate with key

Definition at line 1456 of file htable.f90.

Here is the call graph for this function:

◆ htable_cptr_remove()

subroutine htable::htable_cptr_remove ( class(htable_cptr_t), intent(inout), target  this,
type(h_cptr_t), intent(inout)  key 
)
private
Parameters
[in,out]keyTable key

Definition at line 1510 of file htable.f90.

Here is the call graph for this function:

◆ htable_cptr_set()

subroutine htable::htable_cptr_set ( class(htable_cptr_t), intent(inout), target  this,
type(h_cptr_t), intent(inout)  key,
class(*), intent(inout)  data 
)
private
Parameters
[in,out]keyTable key
[in,out]dataData associated with key

Definition at line 1471 of file htable.f90.

Here is the call graph for this function:

◆ htable_eq_key()

pure logical function htable::htable_eq_key ( class(htable_t), intent(in)  this,
integer, intent(in)  idx,
class(*), intent(in)  key 
)
private
Parameters
[in]idxTable index
[in]keyKey to compare against the key at idx

Definition at line 534 of file htable.f90.

Here is the caller graph for this function:

◆ htable_free()

subroutine htable::htable_free ( class(htable_t), intent(inout)  this)
private

Definition at line 272 of file htable.f90.

Here is the caller graph for this function:

◆ htable_get()

integer function htable::htable_get ( class(htable_t), intent(inout)  this,
class(*), intent(inout)  key,
class(*), intent(inout)  data 
)
private
Parameters
[in,out]keyKey to retrieve
[in,out]dataRetrieved data

Definition at line 384 of file htable.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ htable_get_data()

subroutine htable::htable_get_data ( class(htable_t), intent(in)  this,
integer, intent(in)  idx,
class(*), intent(inout)  data 
)
private
Parameters
[in]idxTable index
[in,out]dataData to retrieve

Definition at line 490 of file htable.f90.

Here is the caller graph for this function:

◆ htable_i4_get()

integer function htable::htable_i4_get ( class(htable_i4_t), intent(inout)  this,
integer, intent(inout)  key,
class(*), intent(inout)  data 
)
private
Parameters
[in,out]keyKey to retrieve
[in,out]dataRetrieved data

Definition at line 722 of file htable.f90.

Here is the call graph for this function:

◆ htable_i4_hash()

pure integer function htable::htable_i4_hash ( class(htable_i4_t), intent(in)  this,
class(*), intent(in)  k,
integer, value  c 
)
private

Definition at line 733 of file htable.f90.

◆ htable_i4_init()

subroutine htable::htable_i4_init ( class(htable_i4_t), intent(inout)  this,
integer, value  size,
class(*), intent(inout), optional  data 
)
private
Parameters
sizeInitial size of the table
[in,out]dataData to associate with key

Definition at line 697 of file htable.f90.

Here is the call graph for this function:

◆ htable_i4_remove()

subroutine htable::htable_i4_remove ( class(htable_i4_t), intent(inout)  this,
integer, intent(inout)  key 
)
private
Parameters
[in,out]keyTable key

Definition at line 763 of file htable.f90.

Here is the call graph for this function:

◆ htable_i4_set()

subroutine htable::htable_i4_set ( class(htable_i4_t), intent(inout)  this,
integer, intent(inout)  key,
class(*), intent(inout)  data 
)
private
Parameters
[in,out]keyTable key
[in,out]dataData associated with key

Definition at line 712 of file htable.f90.

Here is the call graph for this function:

◆ htable_i4t2_get()

integer function htable::htable_i4t2_get ( class(htable_i4t2_t), intent(inout)  this,
type(tuple_i4_t), intent(inout)  key,
class(*), intent(inout)  data 
)
private
Parameters
[in,out]keyKey to retrieve
[in,out]dataRetrieved data

Definition at line 1215 of file htable.f90.

Here is the call graph for this function:

◆ htable_i4t2_hash()

pure integer function htable::htable_i4t2_hash ( class(htable_i4t2_t), intent(in)  this,
class(*), intent(in)  k,
integer, value  c 
)
private

Definition at line 1226 of file htable.f90.

◆ htable_i4t2_init()

subroutine htable::htable_i4t2_init ( class(htable_i4t2_t), intent(inout)  this,
integer, value  size,
class(*), intent(inout), optional  data 
)
private
Parameters
sizeInitial size of the table
[in,out]dataData to associate with key

Definition at line 1190 of file htable.f90.

Here is the call graph for this function:

◆ htable_i4t2_remove()

subroutine htable::htable_i4t2_remove ( class(htable_i4t2_t), intent(inout)  this,
type(tuple_i4_t), intent(inout)  key 
)
private
Parameters
[in,out]keyTable key

Definition at line 1263 of file htable.f90.

Here is the call graph for this function:

◆ htable_i4t2_set()

subroutine htable::htable_i4t2_set ( class(htable_i4t2_t), intent(inout)  this,
type(tuple_i4_t), intent(inout)  key,
class(*), intent(inout)  data 
)
private
Parameters
[in,out]keyTable key
[in,out]dataData associated with key

Definition at line 1205 of file htable.f90.

Here is the call graph for this function:

◆ htable_i4t4_get()

integer function htable::htable_i4t4_get ( class(htable_i4t4_t), intent(inout)  this,
type(tuple4_i4_t), intent(inout)  key,
class(*), intent(inout)  data 
)
private
Parameters
[in,out]keyKey to retrieve
[in,out]dataRetrieved data

Definition at line 1344 of file htable.f90.

Here is the call graph for this function:

◆ htable_i4t4_hash()

pure integer function htable::htable_i4t4_hash ( class(htable_i4t4_t), intent(in)  this,
class(*), intent(in)  k,
integer, value  c 
)
private

Definition at line 1355 of file htable.f90.

◆ htable_i4t4_init()

subroutine htable::htable_i4t4_init ( class(htable_i4t4_t), intent(inout)  this,
integer, value  size,
class(*), intent(inout), optional  data 
)
private
Parameters
sizeInitial size of the table
[in,out]dataData to associate with key

Definition at line 1319 of file htable.f90.

Here is the call graph for this function:

◆ htable_i4t4_remove()

subroutine htable::htable_i4t4_remove ( class(htable_i4t4_t), intent(inout)  this,
type(tuple4_i4_t), intent(inout)  key 
)
private
Parameters
[in,out]keyTable key

Definition at line 1392 of file htable.f90.

Here is the call graph for this function:

◆ htable_i4t4_set()

subroutine htable::htable_i4t4_set ( class(htable_i4t4_t), intent(inout)  this,
type(tuple4_i4_t), intent(inout)  key,
class(*), intent(inout)  data 
)
private
Parameters
[in,out]keyTable key
[in,out]dataData associated with key

Definition at line 1334 of file htable.f90.

Here is the call graph for this function:

◆ htable_i8_get()

integer function htable::htable_i8_get ( class(htable_i8_t), intent(inout)  this,
integer(kind=i8), intent(inout)  key,
class(*), intent(inout)  data 
)
private
Parameters
[in,out]keyKey to retrieve
[in,out]dataRetrieved data

Definition at line 844 of file htable.f90.

Here is the call graph for this function:

◆ htable_i8_hash()

pure integer function htable::htable_i8_hash ( class(htable_i8_t), intent(in)  this,
class(*), intent(in)  k,
integer, value  c 
)
private
Note
I think this hash might be better

Definition at line 855 of file htable.f90.

◆ htable_i8_init()

subroutine htable::htable_i8_init ( class(htable_i8_t), intent(inout)  this,
integer, value  size,
class(*), intent(inout), optional  data 
)
private
Parameters
sizeInitial size of the table
[in,out]dataData to associate with key

Definition at line 819 of file htable.f90.

Here is the call graph for this function:

◆ htable_i8_remove()

subroutine htable::htable_i8_remove ( class(htable_i8_t), intent(inout)  this,
integer(kind=i8), intent(inout)  key 
)
private
Parameters
[in,out]keyTable key

Definition at line 886 of file htable.f90.

Here is the call graph for this function:

◆ htable_i8_set()

subroutine htable::htable_i8_set ( class(htable_i8_t), intent(inout)  this,
integer(kind=i8), intent(inout)  key,
class(*), intent(inout)  data 
)
private
Parameters
[in,out]keyTable key
[in,out]dataData associated with key

Definition at line 834 of file htable.f90.

Here is the call graph for this function:

◆ htable_init()

subroutine htable::htable_init ( class(htable_t), intent(inout)  this,
integer, value  size,
class(*), intent(in), target  key,
class(*), intent(in), optional, target  data 
)
Parameters
sizeInitial size of the table
[in]keyType of key
[in]dataType of data

Definition at line 238 of file htable.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ htable_iter_cptr_free()

subroutine htable::htable_iter_cptr_free ( type(htable_iter_cptr_t), intent(inout)  this)
private

Definition at line 1529 of file htable.f90.

Here is the caller graph for this function:

◆ htable_iter_cptr_init()

subroutine htable::htable_iter_cptr_init ( class(htable_iter_cptr_t), intent(inout)  this,
type(htable_cptr_t), intent(inout), target  t 
)
private

Definition at line 1519 of file htable.f90.

◆ htable_iter_cptr_key()

type(h_cptr_t) function, pointer htable::htable_iter_cptr_key ( class(htable_iter_cptr_t), intent(inout), target  this)
private

Definition at line 1551 of file htable.f90.

◆ htable_iter_cptr_value()

type(h_cptr_t) function, pointer htable::htable_iter_cptr_value ( class(htable_iter_cptr_t), intent(inout), target  this)
private

Definition at line 1535 of file htable.f90.

◆ htable_iter_data()

subroutine htable::htable_iter_data ( class(htable_iter_t), intent(inout), target  this,
class(*), intent(inout)  data 
)
private
Attention
this will make a deep copy of the data...
Todo:
Remove once we figure out how to do this with value() for arbitrary data types
Parameters
[in,out]dataData to retrieve

Definition at line 648 of file htable.f90.

◆ htable_iter_i4_free()

subroutine htable::htable_iter_i4_free ( type(htable_iter_i4_t), intent(inout)  this)
private

Definition at line 782 of file htable.f90.

Here is the caller graph for this function:

◆ htable_iter_i4_init()

subroutine htable::htable_iter_i4_init ( class(htable_iter_i4_t), intent(inout)  this,
type(htable_i4_t), intent(inout), target  t 
)
private

Definition at line 772 of file htable.f90.

◆ htable_iter_i4_key()

integer function, pointer htable::htable_iter_i4_key ( class(htable_iter_i4_t), intent(inout), target  this)
private

Definition at line 802 of file htable.f90.

◆ htable_iter_i4_value()

integer function, pointer htable::htable_iter_i4_value ( class(htable_iter_i4_t), intent(inout), target  this)
private

Definition at line 788 of file htable.f90.

◆ htable_iter_i4t2_free()

subroutine htable::htable_iter_i4t2_free ( type(htable_iter_i4t2_t), intent(inout)  this)
private

Definition at line 1282 of file htable.f90.

Here is the caller graph for this function:

◆ htable_iter_i4t2_init()

subroutine htable::htable_iter_i4t2_init ( class(htable_iter_i4t2_t), intent(inout)  this,
type(htable_i4t2_t), intent(inout), target  t 
)
private

Definition at line 1272 of file htable.f90.

◆ htable_iter_i4t2_key()

type(tuple_i4_t) function, pointer htable::htable_iter_i4t2_key ( class(htable_iter_i4t2_t), intent(inout)  this)
private

Definition at line 1302 of file htable.f90.

◆ htable_iter_i4t2_value()

type(tuple_i4_t) function, pointer htable::htable_iter_i4t2_value ( class(htable_iter_i4t2_t), intent(inout)  this)
private

Definition at line 1288 of file htable.f90.

◆ htable_iter_i4t4_free()

subroutine htable::htable_iter_i4t4_free ( type(htable_iter_i4t4_t), intent(inout)  this)
private

Definition at line 1411 of file htable.f90.

Here is the caller graph for this function:

◆ htable_iter_i4t4_init()

subroutine htable::htable_iter_i4t4_init ( class(htable_iter_i4t4_t), intent(inout)  this,
type(htable_i4t4_t), intent(inout), target  t 
)
private

Definition at line 1401 of file htable.f90.

◆ htable_iter_i4t4_key()

type(tuple4_i4_t) function, pointer htable::htable_iter_i4t4_key ( class(htable_iter_i4t4_t), intent(inout), target  this)
private

Definition at line 1431 of file htable.f90.

◆ htable_iter_i4t4_value()

type(tuple4_i4_t) function, pointer htable::htable_iter_i4t4_value ( class(htable_iter_i4t4_t), intent(inout), target  this)
private

Definition at line 1417 of file htable.f90.

◆ htable_iter_i8_free()

subroutine htable::htable_iter_i8_free ( type(htable_iter_i8_t), intent(inout)  this)
private

Definition at line 905 of file htable.f90.

Here is the caller graph for this function:

◆ htable_iter_i8_init()

subroutine htable::htable_iter_i8_init ( class(htable_iter_i8_t), intent(inout)  this,
type(htable_i8_t), intent(inout), target  t 
)
private

Definition at line 895 of file htable.f90.

◆ htable_iter_i8_key()

integer(kind=i8) function, pointer htable::htable_iter_i8_key ( class(htable_iter_i8_t), intent(inout), target  this)
private

Definition at line 926 of file htable.f90.

◆ htable_iter_i8_value()

integer(kind=i8) function, pointer htable::htable_iter_i8_value ( class(htable_iter_i8_t), intent(inout), target  this)
private

Definition at line 911 of file htable.f90.

◆ htable_iter_next()

logical function htable::htable_iter_next ( class(htable_iter_t), intent(inout)  this)
private

Definition at line 624 of file htable.f90.

◆ htable_iter_pt_free()

subroutine htable::htable_iter_pt_free ( type(htable_iter_pt_t), intent(inout)  this)
private

Definition at line 1153 of file htable.f90.

Here is the caller graph for this function:

◆ htable_iter_pt_init()

subroutine htable::htable_iter_pt_init ( class(htable_iter_pt_t), intent(inout)  this,
type(htable_pt_t), intent(inout), target  t 
)
private

Definition at line 1143 of file htable.f90.

◆ htable_iter_pt_key()

type(point_t) function, pointer htable::htable_iter_pt_key ( class(htable_iter_pt_t), intent(inout), target  this)
private

Definition at line 1173 of file htable.f90.

◆ htable_iter_pt_value()

type(point_t) function, pointer htable::htable_iter_pt_value ( class(htable_iter_pt_t), intent(inout), target  this)
private

Definition at line 1159 of file htable.f90.

◆ htable_iter_r8_free()

subroutine htable::htable_iter_r8_free ( type(htable_iter_r8_t), intent(inout)  this)
private

Definition at line 1022 of file htable.f90.

Here is the caller graph for this function:

◆ htable_iter_r8_init()

subroutine htable::htable_iter_r8_init ( class(htable_iter_r8_t), intent(inout)  this,
type(htable_r8_t), intent(inout), target  t 
)
private

Definition at line 1012 of file htable.f90.

◆ htable_iter_r8_key()

real(kind=dp) function, pointer htable::htable_iter_r8_key ( class(htable_iter_r8_t), intent(inout), target  this)
private

Definition at line 1042 of file htable.f90.

◆ htable_iter_r8_value()

real(kind=dp) function, pointer htable::htable_iter_r8_value ( class(htable_iter_r8_t), intent(inout), target  this)
private

Definition at line 1028 of file htable.f90.

◆ htable_iter_reset()

subroutine htable::htable_iter_reset ( class(htable_iter_t), intent(inout)  this)
private

Definition at line 639 of file htable.f90.

◆ htable_num_entries()

pure integer function htable::htable_num_entries ( class(htable_t), intent(in)  this)
private

Definition at line 303 of file htable.f90.

◆ htable_pt_get()

integer function htable::htable_pt_get ( class(htable_pt_t), intent(inout)  this,
type(point_t), intent(inout)  key,
class(*), intent(inout)  data 
)
private
Parameters
[in,out]keyKey to retrieve
[in,out]dataRetrieved data

Definition at line 1084 of file htable.f90.

Here is the call graph for this function:

◆ htable_pt_hash()

pure integer function htable::htable_pt_hash ( class(htable_pt_t), intent(in)  this,
class(*), intent(in)  k,
integer, value  c 
)
private

Definition at line 1095 of file htable.f90.

◆ htable_pt_init()

subroutine htable::htable_pt_init ( class(htable_pt_t), intent(inout)  this,
integer, value  size,
class(*), intent(inout), optional  data 
)
private
Parameters
sizeInitial size of the table
[in,out]dataData to associate with key

Definition at line 1059 of file htable.f90.

Here is the call graph for this function:

◆ htable_pt_remove()

subroutine htable::htable_pt_remove ( class(htable_pt_t), intent(inout)  this,
type(point_t), intent(inout)  key 
)
private
Parameters
[in,out]keyTable key

Definition at line 1133 of file htable.f90.

Here is the call graph for this function:

◆ htable_pt_set()

subroutine htable::htable_pt_set ( class(htable_pt_t), intent(inout)  this,
type(point_t), intent(inout)  key,
class(*), intent(inout)  data 
)
private
Parameters
[in,out]keyTable key
[in,out]dataData associated with key

Definition at line 1074 of file htable.f90.

Here is the call graph for this function:

◆ htable_r8_get()

integer function htable::htable_r8_get ( class(htable_r8_t), intent(inout)  this,
real(kind=dp), intent(inout)  key,
class(*), intent(inout)  data 
)
private
Parameters
[in,out]keyKey to retrieve
[in,out]dataRetrieved data

Definition at line 977 of file htable.f90.

Here is the call graph for this function:

◆ htable_r8_hash()

pure integer function htable::htable_r8_hash ( class(htable_r8_t), intent(in)  this,
class(*), intent(in)  k,
integer, value  c 
)
private

Definition at line 988 of file htable.f90.

◆ htable_r8_init()

subroutine htable::htable_r8_init ( class(htable_r8_t), intent(inout)  this,
integer, value  size,
class(*), intent(inout), optional  data 
)
private
Parameters
sizeInitial size of the table
[in,out]dataData to associate with key

Definition at line 952 of file htable.f90.

Here is the call graph for this function:

◆ htable_r8_remove()

subroutine htable::htable_r8_remove ( class(htable_r8_t), intent(inout)  this,
real(kind=dp), intent(inout)  key 
)
private
Parameters
[in,out]keyTable key

Definition at line 1002 of file htable.f90.

Here is the call graph for this function:

◆ htable_r8_set()

subroutine htable::htable_r8_set ( class(htable_r8_t), intent(inout)  this,
real(kind=dp), intent(inout)  key,
class(*), intent(inout)  data 
)
private
Parameters
[in,out]keyTable key
[in,out]dataData associated with key

Definition at line 967 of file htable.f90.

Here is the call graph for this function:

◆ htable_remove()

subroutine htable::htable_remove ( class(htable_t), intent(inout)  this,
class(*), intent(inout)  key 
)
private
Parameters
[in,out]keyKey to remove

Definition at line 417 of file htable.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ htable_set()

recursive subroutine htable::htable_set ( class(htable_t), intent(inout)  this,
class(*), intent(inout)  key,
class(*), intent(inout)  data 
)
private
Parameters
[in,out]keyTable key
[in,out]dataData associated with key

Check if entry at this index is empty or if key matches

Definition at line 318 of file htable.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ htable_set_data()

subroutine htable::htable_set_data ( class(htable_t), intent(inout), target  this,
integer, intent(in)  idx,
class(*), intent(in)  data 
)
private
Parameters
[in]idxTable index
[in]dataData to set at idx

Definition at line 444 of file htable.f90.

Here is the caller graph for this function:

◆ htable_set_key()

subroutine htable::htable_set_key ( class(htable_t), intent(inout), target  this,
integer, intent(in)  idx,
class(*), intent(in)  key 
)
private
Parameters
[in]idxTable index
[in]keyKey to set at idx

Definition at line 578 of file htable.f90.

Here is the caller graph for this function:

◆ htable_size()

pure integer function htable::htable_size ( class(htable_t), intent(in)  this)
private

Definition at line 310 of file htable.f90.