From eb45744177918a871cd160e099a8130b9b53c309 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Fri, 21 Nov 2014 00:44:50 +0000 Subject: [PATCH] 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 --- CMakeLists.txt | 1 + lib/jt9.f90 | 12 ++++++------ lib/wisdom.c | 4 ++++ 3 files changed, 11 insertions(+), 6 deletions(-) create mode 100644 lib/wisdom.c diff --git a/CMakeLists.txt b/CMakeLists.txt index 03e9f6060..1fbfe1a11 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -325,6 +325,7 @@ set (wsjt_CSRCS lib/init_rs.c lib/tmoonsub.c lib/usleep.c + lib/wisdom.c lib/wrapkarn.c ) diff --git a/lib/jt9.f90 b/lib/jt9.f90 index 26d323f1a..f7584646e 100644 --- a/lib/jt9.f90 +++ b/lib/jt9.f90 @@ -12,6 +12,7 @@ program jt9 integer*2 id2 character c character(len=500) optarg, infile + character wisfile*80,firstline*40 integer*4 arglen,stat,offset,remain logical :: shmem = .false., read_files = .false., have_args = .false. 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(28,file=trim(data_dir)//'/jt9_wisdom.dat',status='old',err=30) read(28,1000,err=30,end=30) firstline -1000 format(a30) +1000 format(a40) rewind 28 isuccess=0 call import_wisdom_from_file(isuccess,28) close(28) 30 if(isuccess.ne.0) then write(14,1010) firstline -1010 format('Imported FFTW wisdom (jt9): ',a30) +1010 format('Imported FFTW wisdom (jt9): ',a40) else write(14,1011) 1011 format('No imported FFTW wisdom (jt9):') @@ -164,13 +165,12 @@ program jt9 999 continue ! Export FFTW wisdom - open(28,file=trim(data_dir)//'/jt9_wisdom.dat',status='unknown',err=9999) - call export_wisdom_to_file(28) - close(28) + wisfile=trim(data_dir)//'/jt9_wisdom.dat' + n=len_trim(wisfile) + call export_wisdom(wisfile(1:n)//char(0)) write(14,1999) 1999 format('Exported FFTW wisdom (jt9): ') call flush(14) -9999 continue 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 diff --git a/lib/wisdom.c b/lib/wisdom.c new file mode 100644 index 000000000..59cdd2b68 --- /dev/null +++ b/lib/wisdom.c @@ -0,0 +1,4 @@ +void export_wisdom_(char fname[], int len) +{ + fftwf_export_wisdom_to_filename(fname); +}