FindWalkerHash Function

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


Contents

Source Code


Source Code

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

        integer, intent(in) :: orb_array(:)
        integer, intent(in) :: HashIndexLength
        integer :: hashInd
        integer :: i
        integer(int64) :: hash
        hash = 0
        do i = 1, size(orb_array)
            hash = (1099511628211_int64 * hash) + &
                   int(RandomHash2(orb_array(i)) * i, int64)
        end do
        hashInd = int(abs(mod(hash, int(HashIndexLength, int64)))) + 1

    end function FindWalkerHash