2018-06-28 15:26:54 -04:00
|
|
|
subroutine hash12(n12,c13,isave)
|
2018-06-27 15:07:04 -04:00
|
|
|
|
|
|
|
parameter (NMAX=20)
|
|
|
|
character*13 c13,callsign(NMAX)
|
|
|
|
integer ihash(NMAX)
|
|
|
|
logical first
|
|
|
|
data first/.true./
|
|
|
|
save first,ihash,callsign
|
|
|
|
|
|
|
|
if(first) then
|
|
|
|
ihash=-1
|
|
|
|
callsign=' '
|
|
|
|
first=.false.
|
|
|
|
endif
|
|
|
|
|
|
|
|
if(isave.ge.0) then
|
|
|
|
do i=1,NMAX
|
2018-06-28 15:26:54 -04:00
|
|
|
if(ihash(i).eq.n12) go to 900 !This one is already in the list
|
2018-06-27 15:07:04 -04:00
|
|
|
enddo
|
|
|
|
ihash(NMAX:2:-1)=ihash(NMAX-1:1:-1)
|
|
|
|
callsign(NMAX:2:-1)=callsign(NMAX-1:1:-1)
|
2018-06-28 15:26:54 -04:00
|
|
|
ihash(1)=n12
|
2018-06-27 15:07:04 -04:00
|
|
|
callsign(1)=c13
|
|
|
|
else
|
|
|
|
do i=1,NMAX
|
2018-06-28 15:26:54 -04:00
|
|
|
if(ihash(i).eq.n12) then
|
2018-06-27 15:07:04 -04:00
|
|
|
c13=callsign(i)
|
|
|
|
go to 900
|
|
|
|
endif
|
|
|
|
enddo
|
|
|
|
endif
|
|
|
|
|
|
|
|
900 return
|
2018-06-28 15:26:54 -04:00
|
|
|
end subroutine hash12
|