initialise_shared_rht Interface

public interface initialise_shared_rht

Module Procedures

private subroutine initialise_shared_rht_impl(ilut_list, space_size, hash_table, ht_size)

Default initializer for shared read-only hash-tables, that defaults the determinant size to the number of electrons. This sets up a hash table storing the position of iluts in a given list, such that lookup is done with the shared_rht_lookup function that supports iluts

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut_list(0:,:)
integer, intent(in) :: space_size

size of the index space

type(shared_rhash_t), intent(out) :: hash_table

shared read-only hashtable to index the ilut_list

integer, intent(in), optional :: ht_size

optional, the size of the hash table. Defaults to space_size

private subroutine initialise_shared_rht_expl(ilut_list, space_size, hash_table, det_size, ht_size)

Explicit initializer for shared read-only hash-tables that allows to set the determinant size

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut_list(0:,:)
integer, intent(in) :: space_size

size of the index space

type(shared_rhash_t), intent(out) :: hash_table

shared read-only hashtable to index the ilut_list

integer, intent(in) :: det_size

size of the determinants encoded in ilut_list (for convenience)

integer, intent(in) :: ht_size

the size of the hash table, has to be specified herer!