mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-10-02 18:16:52 -04:00
Don't use FFTW wisdom with CVF.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/map65@1541 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
dddca3d8de
commit
f941da869f
18
filbig.f
18
filbig.f
@ -26,19 +26,23 @@ C Impulse response of filter (one side)
|
|||||||
|
|
||||||
if(nmax.lt.0) go to 900
|
if(nmax.lt.0) go to 900
|
||||||
if(first) then
|
if(first) then
|
||||||
npatience=FFTW_ESTIMATE
|
npatience=1
|
||||||
! npatience=FFTW_MEASURE
|
nflags=FFTW_ESTIMATE
|
||||||
|
if(npatience.eq.1) nflags=FFTW_ESTIMATE_PATIENT
|
||||||
|
if(npatience.eq.2) nflags=FFTW_MEASURE
|
||||||
|
if(npatience.eq.3) nflags=FFTW_PATIENT
|
||||||
|
if(npatience.eq.4) nflags=FFTW_EXHAUSTIVE
|
||||||
C Plan the FFTs just once
|
C Plan the FFTs just once
|
||||||
call sfftw_plan_dft_1d_(plan1,NFFT1,ca,ca,
|
call sfftw_plan_dft_1d_(plan1,NFFT1,ca,ca,
|
||||||
+ FFTW_BACKWARD,npatience)
|
+ FFTW_BACKWARD,nflags)
|
||||||
call sfftw_plan_dft_1d_(plan2,NFFT1,cb,cb,
|
call sfftw_plan_dft_1d_(plan2,NFFT1,cb,cb,
|
||||||
+ FFTW_BACKWARD,npatience)
|
+ FFTW_BACKWARD,nflags)
|
||||||
call sfftw_plan_dft_1d_(plan3,NFFT2,c4a,c4a,
|
call sfftw_plan_dft_1d_(plan3,NFFT2,c4a,c4a,
|
||||||
+ FFTW_FORWARD,npatience)
|
+ FFTW_FORWARD,nflags)
|
||||||
call sfftw_plan_dft_1d_(plan4,NFFT2,c4b,c4b,
|
call sfftw_plan_dft_1d_(plan4,NFFT2,c4b,c4b,
|
||||||
+ FFTW_FORWARD,npatience)
|
+ FFTW_FORWARD,nflags)
|
||||||
call sfftw_plan_dft_1d_(plan5,NFFT2,cfilt,cfilt,
|
call sfftw_plan_dft_1d_(plan5,NFFT2,cfilt,cfilt,
|
||||||
+ FFTW_BACKWARD,npatience)
|
+ FFTW_BACKWARD,nflags)
|
||||||
|
|
||||||
C Convert impulse response to filter function
|
C Convert impulse response to filter function
|
||||||
do i=1,NFFT2
|
do i=1,NFFT2
|
||||||
|
23
four2a.f
23
four2a.f
@ -20,12 +20,11 @@ C The transform will be real and returned to the input array.
|
|||||||
parameter (NPMAX=100)
|
parameter (NPMAX=100)
|
||||||
parameter (NSMALL=16384)
|
parameter (NSMALL=16384)
|
||||||
complex a(nfft)
|
complex a(nfft)
|
||||||
complex aa(32768)
|
complex aa(NSMALL)
|
||||||
integer nn(NPMAX),ns(NPMAX),nf(NPMAX),nl(NPMAX)
|
integer nn(NPMAX),ns(NPMAX),nf(NPMAX),nl(NPMAX)
|
||||||
real*8 plan(NPMAX) !Actually should be i*8, but no matter
|
real*8 plan(NPMAX) !Actually should be i*8, but no matter
|
||||||
data nplan/0/
|
data nplan/0/
|
||||||
include 'fftw3.f'
|
include 'fftw3.f'
|
||||||
common/patience/npatience
|
|
||||||
save plan,nplan,nn,ns,nf,nl
|
save plan,nplan,nn,ns,nf,nl
|
||||||
|
|
||||||
if(nfft.lt.0) go to 999
|
if(nfft.lt.0) go to 999
|
||||||
@ -46,12 +45,12 @@ C The transform will be real and returned to the input array.
|
|||||||
C Planning: FFTW_ESTIMATE, FFTW_ESTIMATE_PATIENT, FFTW_MEASURE,
|
C Planning: FFTW_ESTIMATE, FFTW_ESTIMATE_PATIENT, FFTW_MEASURE,
|
||||||
C FFTW_PATIENT, FFTW_EXHAUSTIVE
|
C FFTW_PATIENT, FFTW_EXHAUSTIVE
|
||||||
C NB: "EXHAUSTIVE" takes more or less forever, for long transforms.
|
C NB: "EXHAUSTIVE" takes more or less forever, for long transforms.
|
||||||
nspeed=FFTW_ESTIMATE
|
npatience=1
|
||||||
if(npatience.eq.1) nspeed=FFTW_ESTIMATE_PATIENT
|
nflags=FFTW_ESTIMATE
|
||||||
if(npatience.eq.2) nspeed=FFTW_MEASURE
|
if(npatience.eq.1) nflags=FFTW_ESTIMATE_PATIENT
|
||||||
if(npatience.eq.3) nspeed=FFTW_PATIENT
|
if(npatience.eq.2) nflags=FFTW_MEASURE
|
||||||
if(npatience.eq.4) nspeed=FFTW_EXHAUSTIVE
|
if(npatience.eq.3) nflags=FFTW_PATIENT
|
||||||
nspeed=nspeed + FFTW_THREADSAFE+FFTW_USE_WISDOM
|
if(npatience.eq.4) nflags=FFTW_EXHAUSTIVE
|
||||||
if(nfft.le.NSMALL) then
|
if(nfft.le.NSMALL) then
|
||||||
jz=nfft
|
jz=nfft
|
||||||
if(iform.eq.0) jz=nfft/2
|
if(iform.eq.0) jz=nfft/2
|
||||||
@ -62,14 +61,14 @@ C NB: "EXHAUSTIVE" takes more or less forever, for long transforms.
|
|||||||
call sleep_msec(0)
|
call sleep_msec(0)
|
||||||
if(isign.eq.-1 .and. iform.eq.1) then
|
if(isign.eq.-1 .and. iform.eq.1) then
|
||||||
call sfftw_plan_dft_1d_(plan(i),nfft,a,a,
|
call sfftw_plan_dft_1d_(plan(i),nfft,a,a,
|
||||||
+ FFTW_FORWARD,nspeed)
|
+ FFTW_FORWARD,nflags)
|
||||||
else if(isign.eq.1 .and. iform.eq.1) then
|
else if(isign.eq.1 .and. iform.eq.1) then
|
||||||
call sfftw_plan_dft_1d_(plan(i),nfft,a,a,
|
call sfftw_plan_dft_1d_(plan(i),nfft,a,a,
|
||||||
+ FFTW_BACKWARD,nspeed)
|
+ FFTW_BACKWARD,nflags)
|
||||||
else if(isign.eq.-1 .and. iform.eq.0) then
|
else if(isign.eq.-1 .and. iform.eq.0) then
|
||||||
call sfftw_plan_dft_r2c_1d_(plan(i),nfft,a,a,nspeed)
|
call sfftw_plan_dft_r2c_1d_(plan(i),nfft,a,a,nflags)
|
||||||
else if(isign.eq.1 .and. iform.eq.-1) then
|
else if(isign.eq.1 .and. iform.eq.-1) then
|
||||||
call sfftw_plan_dft_c2r_1d_(plan(i),nfft,a,a,nspeed)
|
call sfftw_plan_dft_c2r_1d_(plan(i),nfft,a,a,nflags)
|
||||||
else
|
else
|
||||||
stop 'Unsupported request in four2a'
|
stop 'Unsupported request in four2a'
|
||||||
endif
|
endif
|
||||||
|
@ -138,13 +138,12 @@ subroutine ftn_init
|
|||||||
share='denynone')
|
share='denynone')
|
||||||
#else
|
#else
|
||||||
open(27,file=appdir(:iz)//'/dphi.txt',status='unknown')
|
open(27,file=appdir(:iz)//'/dphi.txt',status='unknown')
|
||||||
#endif
|
|
||||||
|
|
||||||
open(28,file='fftw_wisdom.dat',status='unknown')
|
open(28,file='fftw_wisdom.dat',status='unknown')
|
||||||
call import_wisdom_from_file(isuccess,28)
|
call import_wisdom_from_file(isuccess,28)
|
||||||
close(28)
|
close(28)
|
||||||
if(isuccess.ne.0) write(*,1000)
|
if(isuccess.ne.0) write(*,1000)
|
||||||
1000 format('Using optimized FFTs.')
|
1000 format('Using optimized FFTs.')
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CVF
|
#ifdef CVF
|
||||||
open(29,file=appdir(:iz)//'/debug.txt',status='unknown', &
|
open(29,file=appdir(:iz)//'/debug.txt',status='unknown', &
|
||||||
|
2
map65.py
2
map65.py
@ -1,4 +1,4 @@
|
|||||||
#---------------------------------------------------------------------- MAP65
|
#--------------------------------------------------------------------- MAP65
|
||||||
# $Date$ $Revision$
|
# $Date$ $Revision$
|
||||||
#
|
#
|
||||||
from Tkinter import *
|
from Tkinter import *
|
||||||
|
26
rfile2.f
26
rfile2.f
@ -1,26 +0,0 @@
|
|||||||
subroutine rfile2(fname,buf,n,nr)
|
|
||||||
|
|
||||||
C Read data from disk.
|
|
||||||
|
|
||||||
integer RMODE
|
|
||||||
parameter(RMODE=0)
|
|
||||||
integer*1 buf(n)
|
|
||||||
integer open,read,close
|
|
||||||
integer fd
|
|
||||||
character fname*(*)
|
|
||||||
data iz/0/ !Silence g77 warning
|
|
||||||
|
|
||||||
do i=80,1,-1
|
|
||||||
if(fname(i:i).ne.' ') then
|
|
||||||
iz=i
|
|
||||||
go to 10
|
|
||||||
endif
|
|
||||||
enddo
|
|
||||||
|
|
||||||
10 fname=fname(1:iz)//char(0)
|
|
||||||
fd=open(fname,RMODE) !Open file for reading
|
|
||||||
nr=read(fd,buf,n)
|
|
||||||
i=close(fd)
|
|
||||||
|
|
||||||
return
|
|
||||||
end
|
|
Loading…
Reference in New Issue
Block a user