Use separate hash tables for 10, 12, and 22 bit hashes. Make unpacking i3=4 messages depend on whether unpack is being done on a received message, or a to-be-transmitted message. Give mycall13 priority over hash table entries in certain contexts.

This commit is contained in:
Steve Franke
2018-12-20 15:08:29 -06:00
parent 54268b048d
commit 7a40bf2e4b
10 changed files with 132 additions and 77 deletions
+25
View File
@@ -0,0 +1,25 @@
subroutine update_msk40_hasharray(nhasharray)
use packjt77
character*37 hashmsg
integer nhasharray(MAXRECENT,MAXRECENT)
nhasharray=-1
do i=1,MAXRECENT
do j=i+1,MAXRECENT
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,37,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,37,ihash)
ihash=iand(ihash,4095)
nhasharray(j,i)=ihash
endif
enddo
enddo
end subroutine update_msk40_hasharray