Reduce stack usage of F8 decoder modules

Reverted to default stack allocation for jt9.exe on Windows.

Tidied up FT8 decoder inteface  to remove arguments that will probably
never be used.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7768 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Bill Somerville 2017-07-01 18:46:14 +00:00
parent 53dbe3248f
commit f73a35842a
3 changed files with 12 additions and 14 deletions

View File

@ -1223,9 +1223,9 @@ if (${OPENMP_FOUND} OR APPLE)
)
endif (APPLE)
if (WIN32)
set_target_properties (jt9 PROPERTIES
LINK_FLAGS -Wl,--stack,16777216
)
# set_target_properties (jt9 PROPERTIES
# LINK_FLAGS -Wl,--stack,16777216
# )
endif ()
target_link_libraries (jt9 wsjt_fort_omp wsjt_cxx Qt5::Core)
else (${OPENMP_FOUND} OR APPLE)

View File

@ -69,10 +69,10 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
if(params%nmode.eq.8) then
! We're in FT8 mode
call timer('decft8 ',0)
call my_ft8%decode(ft8_decoded,ss,id2,params%nfqso, &
newdat9,params%npts8,params%nutc,params%nfa,params%nfsplit, &
params%nfb,params%ntol,params%nzhsym,logical(params%nagain), &
params%ndepth,params%nmode,params%nsubmode,params%nexp_decode)
call my_ft8%decode(ft8_decoded,id2,params%nfqso, &
newdat9,params%nutc,params%nfa, &
params%nfb,logical(params%nagain), &
params%ndepth,params%nsubmode)
call timer('decft8 ',1)
go to 800
endif
@ -400,7 +400,6 @@ contains
integer, intent(in) :: nbadcrc
character(len=22), intent(in) :: decoded
!### !$omp critical(decode_results)
if(nbadcrc.eq.0) then
write(*,1000) params%nutc,snr,dt,nint(freq),decoded
1000 format(i6.6,i4,f5.1,i5,' ~ ',1x,a22)
@ -409,7 +408,6 @@ contains
call flush(6)
call flush(13)
endif
!### !$omp end critical(decode_results)
select type(this)
type is (counting_ft8_decoder)

View File

@ -22,21 +22,21 @@ module ft8_decode
contains
subroutine decode(this,callback,ss,iwave,nfqso,newdat,npts8,nutc,nfa, &
nfsplit,nfb,ntol,nzhsym,nagain,ndepth,nmode,nsubmode,nexp_decode)
subroutine decode(this,callback,iwave,nfqso,newdat,nutc,nfa, &
nfb,nagain,ndepth,nsubmode)
use timer_module, only: timer
include 'fsk4hf/ft8_params.f90'
class(ft8_decoder), intent(inout) :: this
procedure(ft8_decode_callback) :: callback
real ss(1,1) !### dummy, to be removed ###
real s(NH1,NHSYM)
real candidate(3,100)
real dd(15*12000)
logical, intent(in) :: newdat, nagain
integer*2 iwave(15*12000)
character datetime*13,message*22
save s,dd
this%callback => callback
write(datetime,1001) nutc !### TEMPORARY ###