hash Module



Contents


Interfaces

public interface hash_table_lookup

  • public pure subroutine hash_table_lookup_int_32(orbs, targ, max_elem, hash_table, targ_array, ind, hash_val, found)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: orbs(:)
    integer(kind=int32), intent(in) :: targ(0:)
    integer, intent(in) :: max_elem
    type(ll_node), intent(inout), pointer :: hash_table(:)
    integer(kind=int32), intent(in) :: targ_array(0:,:)
    integer, intent(out) :: ind
    integer, intent(out) :: hash_val
    logical, intent(out) :: found
  • public pure subroutine hash_table_lookup_int_64(orbs, targ, max_elem, hash_table, targ_array, ind, hash_val, found)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: orbs(:)
    integer(kind=int64), intent(in) :: targ(0:)
    integer, intent(in) :: max_elem
    type(ll_node), intent(inout), pointer :: hash_table(:)
    integer(kind=int64), intent(in) :: targ_array(0:,:)
    integer, intent(out) :: ind
    integer, intent(out) :: hash_val
    logical, intent(out) :: found

Functions

public pure function FindWalkerHash(orb_array, HashIndexLength) result(hashInd)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: orb_array(:)
integer, intent(in) :: HashIndexLength

Return Value integer


Subroutines

public pure subroutine init_hash_table(hash_table)

Arguments

Type IntentOptional Attributes Name
type(ll_node), intent(inout), pointer :: hash_table(:)

public pure subroutine clear_hash_table(hash_table)

Arguments

Type IntentOptional Attributes Name
type(ll_node), intent(inout), pointer :: hash_table(:)

public subroutine remove_hash_table_entry(hash_table, nI, ind)

Arguments

Type IntentOptional Attributes Name
type(ll_node), intent(inout), pointer :: hash_table(:)
integer, intent(in) :: nI(:)
integer, intent(in) :: ind

public subroutine update_hash_table_ind(hash_table, nI, ind_old, ind_new)

Arguments

Type IntentOptional Attributes Name
type(ll_node), intent(inout), pointer :: hash_table(:)
integer, intent(in) :: nI(:)
integer, intent(in) :: ind_old
integer, intent(in) :: ind_new

public pure subroutine remove_node(prev, curr)

Arguments

Type IntentOptional Attributes Name
type(ll_node), intent(inout), pointer :: prev
type(ll_node), intent(inout), pointer :: curr

public pure subroutine add_hash_table_entry(hash_table, ind, hash_val)

Arguments

Type IntentOptional Attributes Name
type(ll_node), intent(inout), pointer :: hash_table(:)
integer, intent(in) :: ind
integer, intent(in) :: hash_val

public pure subroutine hash_table_lookup_int_32(orbs, targ, max_elem, hash_table, targ_array, ind, hash_val, found)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: orbs(:)
integer(kind=int32), intent(in) :: targ(0:)
integer, intent(in) :: max_elem
type(ll_node), intent(inout), pointer :: hash_table(:)
integer(kind=int32), intent(in) :: targ_array(0:,:)
integer, intent(out) :: ind
integer, intent(out) :: hash_val
logical, intent(out) :: found

public pure subroutine hash_table_lookup_int_64(orbs, targ, max_elem, hash_table, targ_array, ind, hash_val, found)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: orbs(:)
integer(kind=int64), intent(in) :: targ(0:)
integer, intent(in) :: max_elem
type(ll_node), intent(inout), pointer :: hash_table(:)
integer(kind=int64), intent(in) :: targ_array(0:,:)
integer, intent(out) :: ind
integer, intent(out) :: hash_val
logical, intent(out) :: found

public subroutine fill_in_hash_table(hash_table, table_length, walker_list, list_length, ignore_unocc)

Arguments

Type IntentOptional Attributes Name
type(ll_node), intent(inout), pointer :: hash_table(:)
integer, intent(in) :: table_length
integer(kind=n_int), intent(in) :: walker_list(0:,:)
integer, intent(in) :: list_length
logical, intent(in) :: ignore_unocc

public subroutine rm_unocc_dets_from_hash_table(hash_table, walker_list, list_length)

Arguments

Type IntentOptional Attributes Name
type(ll_node), intent(inout), pointer :: hash_table(:)
integer(kind=n_int), intent(in) :: walker_list(0:,:)
integer, intent(in) :: list_length