Add wisdom for the FFTs done by symspec_(), wsjtx[.exe].

Also complete the wrapper code in wisdom.c.
TBD: should be possible to use fftw3f.f03 instead of the ad hoc wisdom.c.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4617 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor 2014-11-21 15:17:22 +00:00
parent 20ded259d8
commit 021f677687
5 changed files with 22 additions and 2 deletions

View File

@ -242,7 +242,6 @@ set (wsjt_FSRCS
lib/entail.f90 lib/entail.f90
lib/extract.F90 lib/extract.F90
lib/geocentric.f90 lib/geocentric.f90
lib/f77_wisdom.f90
lib/fano232.f90 lib/fano232.f90
lib/fchisq.f90 lib/fchisq.f90
lib/fchisq65.f90 lib/fchisq65.f90

View File

@ -74,7 +74,9 @@ program jt9
1000 format(a40) 1000 format(a40)
rewind 28 rewind 28
isuccess=0 isuccess=0
call import_wisdom_from_file(isuccess,28) wisfile=trim(data_dir)//'/jt9_wisdom.dat'
n=len_trim(wisfile)
call import_wisdom(wisfile(1:n)//char(0),isuccess)
close(28) close(28)
30 if(isuccess.ne.0) then 30 if(isuccess.ne.0) then
write(14,1010) firstline write(14,1010) firstline

View File

@ -1,4 +1,13 @@
void export_wisdom_(char fname[], int len) void export_wisdom_(char fname[], int len)
{ {
int fftwf_export_wisdom_to_filename(const char *);
fname[len-1]=0;
fftwf_export_wisdom_to_filename(fname); fftwf_export_wisdom_to_filename(fname);
} }
void import_wisdom_(char fname[], int *success, int len)
{
int fftwf_import_wisdom_from_filename(const char *);
fname[len-1]=0;
*success = fftwf_import_wisdom_from_filename(fname);
}

View File

@ -380,6 +380,10 @@ MainWindow::MainWindow(bool multiple, QSettings * settings, QSharedMemory *shdme
proc_jt9.start(QDir::toNativeSeparators (m_appDir) + QDir::separator () + proc_jt9.start(QDir::toNativeSeparators (m_appDir) + QDir::separator () +
"jt9", jt9_args, QIODevice::ReadWrite | QIODevice::Unbuffered); "jt9", jt9_args, QIODevice::ReadWrite | QIODevice::Unbuffered);
QString fname(QDir::toNativeSeparators(m_config.data_path ().absoluteFilePath ("wsjtx_wisdom.dat")));
QByteArray cfname=fname.toLocal8Bit();
int success = fftwf_import_wisdom_from_filename(cfname);
getpfx(); //Load the prefix/suffix dictionary getpfx(); //Load the prefix/suffix dictionary
genStdMsgs(m_rpt); genStdMsgs(m_rpt);
m_ntx=6; m_ntx=6;
@ -435,6 +439,9 @@ MainWindow::MainWindow(bool multiple, QSettings * settings, QSharedMemory *shdme
//--------------------------------------------------- MainWindow destructor //--------------------------------------------------- MainWindow destructor
MainWindow::~MainWindow() MainWindow::~MainWindow()
{ {
QString fname(QDir::toNativeSeparators(m_config.data_path ().absoluteFilePath ("wsjtx_wisdom.dat")));
QByteArray cfname=fname.toLocal8Bit();
fftwf_export_wisdom_to_filename(cfname);
m_audioThread->wait (); m_audioThread->wait ();
} }

View File

@ -417,6 +417,9 @@ extern "C" {
int ptt_(int nport, int ntx, int* iptt, int* nopen); int ptt_(int nport, int ntx, int* iptt, int* nopen);
int fftwf_import_wisdom_from_filename(const char *);
int fftwf_export_wisdom_to_filename(const char *);
} }
#endif // MAINWINDOW_H #endif // MAINWINDOW_H