Try a home-made wrapper for fftwf_export_wisdom_to_filename().

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4614 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor 2014-11-21 00:44:50 +00:00
parent c5d053dfa7
commit 2bc824b4a5
3 changed files with 11 additions and 6 deletions

View File

@ -325,6 +325,7 @@ set (wsjt_CSRCS
lib/init_rs.c lib/init_rs.c
lib/tmoonsub.c lib/tmoonsub.c
lib/usleep.c lib/usleep.c
lib/wisdom.c
lib/wrapkarn.c lib/wrapkarn.c
) )

View File

@ -12,6 +12,7 @@ program jt9
integer*2 id2 integer*2 id2
character c character c
character(len=500) optarg, infile character(len=500) optarg, infile
character wisfile*80,firstline*40
integer*4 arglen,stat,offset,remain integer*4 arglen,stat,offset,remain
logical :: shmem = .false., read_files = .false., have_args = .false. logical :: shmem = .false., read_files = .false., have_args = .false.
type (option) :: long_options (0) type (option) :: long_options (0)
@ -70,14 +71,14 @@ program jt9
open(14,file=trim(data_dir)//'/jt9_wisdom_status.txt',status='unknown',err=30) open(14,file=trim(data_dir)//'/jt9_wisdom_status.txt',status='unknown',err=30)
open(28,file=trim(data_dir)//'/jt9_wisdom.dat',status='old',err=30) open(28,file=trim(data_dir)//'/jt9_wisdom.dat',status='old',err=30)
read(28,1000,err=30,end=30) firstline read(28,1000,err=30,end=30) firstline
1000 format(a30) 1000 format(a40)
rewind 28 rewind 28
isuccess=0 isuccess=0
call import_wisdom_from_file(isuccess,28) call import_wisdom_from_file(isuccess,28)
close(28) close(28)
30 if(isuccess.ne.0) then 30 if(isuccess.ne.0) then
write(14,1010) firstline write(14,1010) firstline
1010 format('Imported FFTW wisdom (jt9): ',a30) 1010 format('Imported FFTW wisdom (jt9): ',a40)
else else
write(14,1011) write(14,1011)
1011 format('No imported FFTW wisdom (jt9):') 1011 format('No imported FFTW wisdom (jt9):')
@ -164,13 +165,12 @@ program jt9
999 continue 999 continue
! Export FFTW wisdom ! Export FFTW wisdom
open(28,file=trim(data_dir)//'/jt9_wisdom.dat',status='unknown',err=9999) wisfile=trim(data_dir)//'/jt9_wisdom.dat'
call export_wisdom_to_file(28) n=len_trim(wisfile)
close(28) call export_wisdom(wisfile(1:n)//char(0))
write(14,1999) write(14,1999)
1999 format('Exported FFTW wisdom (jt9): ') 1999 format('Exported FFTW wisdom (jt9): ')
call flush(14) call flush(14)
9999 continue
call four2a(a,-1,1,1,1) !Save wisdom and free memory call four2a(a,-1,1,1,1) !Save wisdom and free memory
call filbig(a,-1,1,0.0,0,0,0,0,0) !used for FFT plans call filbig(a,-1,1,0.0,0,0,0,0,0) !used for FFT plans

4
lib/wisdom.c Normal file
View File

@ -0,0 +1,4 @@
void export_wisdom_(char fname[], int len)
{
fftwf_export_wisdom_to_filename(fname);
}