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 @param[in] ilut_list list of iluts to be indexed by the hash table @param[in] space_size size of the index space @param[out] hash_table shared read-only hashtable to index the ilut_list @param[out] ht_size optional, the size of the hash table. Defaults to space_size
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=n_int), | intent(in) | :: | ilut_list(0:,:) | |||
integer, | intent(in) | :: | space_size | |||
type(shared_rhash_t), | intent(out) | :: | hash_table | |||
integer, | intent(in), | optional | :: | ht_size |
subroutine initialise_shared_rht_impl(ilut_list, space_size, hash_table, ht_size)
use SystemData, only: nel
integer(n_int), intent(in) :: ilut_list(0:, :)
integer, intent(in) :: space_size
type(shared_rhash_t), intent(out) :: hash_table
integer, intent(in), optional :: ht_size
integer :: ht_size_
def_default(ht_size_, ht_size, space_size)
call initialise_shared_rht_expl(ilut_list, space_size, hash_table, nel, ht_size_)
end subroutine initialise_shared_rht_impl