Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | orb_array(:) | |||
integer, | intent(in) | :: | HashIndexLength |
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