WSJT-X/lib/update_hasharray.f90

26 lines
754 B
Fortran

subroutine update_hasharray(recent_calls,nrecent,nhasharray)
character*12 recent_calls(nrecent)
character*22 hashmsg
integer nhasharray(nrecent,nrecent)
nhasharray=-1
do i=1,nrecent
do j=i+1,nrecent
if( recent_calls(i)(1:1) .ne. ' ' .and. recent_calls(j)(1:1) .ne. ' ' ) then
hashmsg=trim(recent_calls(i))//' '//trim(recent_calls(j))
call fmtmsg(hashmsg,iz)
call hash(hashmsg,22,ihash)
ihash=iand(ihash,4095)
nhasharray(i,j)=ihash
hashmsg=trim(recent_calls(j))//' '//trim(recent_calls(i))
call fmtmsg(hashmsg,iz)
call hash(hashmsg,22,ihash)
ihash=iand(ihash,4095)
nhasharray(j,i)=ihash
endif
enddo
enddo
end subroutine update_hasharray