Fix ncontest initialization and heap storage conflict.

This commit is contained in:
Steve Franke 2019-12-11 10:16:48 -06:00
parent 5a23edbbae
commit 85b5967d99
3 changed files with 5 additions and 5 deletions

View File

@ -61,6 +61,7 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
my_ft8%decoded = 0 my_ft8%decoded = 0
my_ft4%decoded = 0 my_ft4%decoded = 0
ncontest=iand(params%nexp_decode,7)
single_decode=iand(params%nexp_decode,32).ne.0 single_decode=iand(params%nexp_decode,32).ne.0
bVHF=iand(params%nexp_decode,64).ne.0 bVHF=iand(params%nexp_decode,64).ne.0
if(mod(params%nranera,2).eq.0) ntrials=10**(params%nranera/2) if(mod(params%nranera,2).eq.0) ntrials=10**(params%nranera/2)
@ -102,7 +103,6 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
call timer('decft8 ',0) call timer('decft8 ',0)
newdat=params%newdat newdat=params%newdat
ncontest=iand(params%nexp_decode,7)
call my_ft8%decode(ft8_decoded,id2,params%nQSOProgress,params%nfqso, & call my_ft8%decode(ft8_decoded,id2,params%nQSOProgress,params%nfqso, &
params%nftx,newdat,params%nutc,params%nfa,params%nfb, & params%nftx,newdat,params%nutc,params%nfa,params%nfb, &
params%ndepth,ncontest,logical(params%nagain), & params%ndepth,ncontest,logical(params%nagain), &

View File

@ -16,7 +16,7 @@ subroutine subtractft4(dd,itone,f0,dt)
integer itone(103) integer itone(103)
logical first logical first
data first/.true./ data first/.true./
common/heap8/cref(NFRAME),camp(NMAX),cfilt(NMAX),cw(NMAX),xjunk(NFRAME) common/heap4/cref(NFRAME),camp(NMAX),cfilt(NMAX),cw(NMAX),xjunk(NFRAME)
save first save first
nstart=dt*12000+1-NSPS nstart=dt*12000+1-NSPS

View File

@ -28,6 +28,7 @@ contains
use timer_module, only: timer use timer_module, only: timer
use packjt77 use packjt77
include 'ft4/ft4_params.f90' include 'ft4/ft4_params.f90'
parameter (MAXCAND=100)
class(ft4_decoder), intent(inout) :: this class(ft4_decoder), intent(inout) :: this
procedure(ft4_decode_callback) :: callback procedure(ft4_decode_callback) :: callback
parameter (NSS=NSPS/NDOWN,NDMAX=NMAX/NDOWN) parameter (NSS=NSPS/NDOWN,NDMAX=NMAX/NDOWN)
@ -49,7 +50,7 @@ contains
real bitmetrics(2*NN,3) real bitmetrics(2*NN,3)
real dd(NMAX) real dd(NMAX)
real llr(2*ND),llra(2*ND),llrb(2*ND),llrc(2*ND),llrd(2*ND) real llr(2*ND),llra(2*ND),llrb(2*ND),llrc(2*ND),llrd(2*ND)
real candidate(2,100) real candidate(2,MAXCAND)
real savg(NH1),sbase(NH1) real savg(NH1),sbase(NH1)
integer apbits(2*ND) integer apbits(2*ND)
@ -185,7 +186,6 @@ contains
mycall0=mycall mycall0=mycall
hiscall0=hiscall hiscall0=hiscall
endif endif
maxcand=100
ndecodes=0 ndecodes=0
decodes=' ' decodes=' '
fa=nfa fa=nfa
@ -222,7 +222,7 @@ contains
candidate=0.0 candidate=0.0
ncand=0 ncand=0
call timer('getcand4',0) call timer('getcand4',0)
call getcandidates4(dd,fa,fb,syncmin,nfqso,maxcand,savg,candidate, & call getcandidates4(dd,fa,fb,syncmin,nfqso,MAXCAND,savg,candidate, &
ncand,sbase) ncand,sbase)
call timer('getcand4',1) call timer('getcand4',1)
dobigfft=.true. dobigfft=.true.