From 85b5967d99853ff27b2b8ffc9abe445bbde2ddbb Mon Sep 17 00:00:00 2001 From: Steve Franke Date: Wed, 11 Dec 2019 10:16:48 -0600 Subject: [PATCH] Fix ncontest initialization and heap storage conflict. --- lib/decoder.f90 | 2 +- lib/ft4/subtractft4.f90 | 2 +- lib/ft4_decode.f90 | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/decoder.f90 b/lib/decoder.f90 index 9f3b12887..042cf906d 100644 --- a/lib/decoder.f90 +++ b/lib/decoder.f90 @@ -61,6 +61,7 @@ subroutine multimode_decoder(ss,id2,params,nfsample) my_ft8%decoded = 0 my_ft4%decoded = 0 + ncontest=iand(params%nexp_decode,7) single_decode=iand(params%nexp_decode,32).ne.0 bVHF=iand(params%nexp_decode,64).ne.0 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) newdat=params%newdat - ncontest=iand(params%nexp_decode,7) call my_ft8%decode(ft8_decoded,id2,params%nQSOProgress,params%nfqso, & params%nftx,newdat,params%nutc,params%nfa,params%nfb, & params%ndepth,ncontest,logical(params%nagain), & diff --git a/lib/ft4/subtractft4.f90 b/lib/ft4/subtractft4.f90 index ae104ddb3..8fb16532a 100644 --- a/lib/ft4/subtractft4.f90 +++ b/lib/ft4/subtractft4.f90 @@ -16,7 +16,7 @@ subroutine subtractft4(dd,itone,f0,dt) integer itone(103) logical first 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 nstart=dt*12000+1-NSPS diff --git a/lib/ft4_decode.f90 b/lib/ft4_decode.f90 index c60ee179a..6b561c76b 100644 --- a/lib/ft4_decode.f90 +++ b/lib/ft4_decode.f90 @@ -28,6 +28,7 @@ contains use timer_module, only: timer use packjt77 include 'ft4/ft4_params.f90' + parameter (MAXCAND=100) class(ft4_decoder), intent(inout) :: this procedure(ft4_decode_callback) :: callback parameter (NSS=NSPS/NDOWN,NDMAX=NMAX/NDOWN) @@ -49,7 +50,7 @@ contains real bitmetrics(2*NN,3) real dd(NMAX) 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) integer apbits(2*ND) @@ -185,7 +186,6 @@ contains mycall0=mycall hiscall0=hiscall endif - maxcand=100 ndecodes=0 decodes=' ' fa=nfa @@ -222,7 +222,7 @@ contains candidate=0.0 ncand=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) call timer('getcand4',1) dobigfft=.true.