Diana Software
QFFTW3.cc
Go to the documentation of this file.
1 #include "QFFTW3.hh"
2 #ifdef _HAVE_FFTW3_
3 #include <fftw3.h>
4 #endif
5 
6 ClassImp(Diana::QFFTW3)
7 
9 
11 
13  if(fInstance==NULL)
14  fInstance=new QFFTW3Wisdom();
15  return fInstance;
16 }
18  fLocalWisdom(false),
19  fSavingWisdom(false),
20  fWisdomFile(""),
21  fLocalFile("")
22 {
23 
24  // Have some search directories that one looks for the local wisdom.
25 
26 
27  // If found, load from a local directory and set local file flag
28  // true
29 
30  // If not found, try global wisdom, and set local file flag false
32 }
36 }
37 bool QFFTW3Wisdom::ExportWisdomToFile(const char *outFile){
38 #ifdef _HAVE_FFTW3_
39  FILE *out=fopen(outFile,"w");
40  if(out==NULL)
41  return false;
42  fftw_export_wisdom_to_file(out);
43  fclose(out);
44 #endif
45  return true;
46 }
47 bool QFFTW3Wisdom::ImportWisdomFromFile(const char *inFile){
48 #ifdef _HAVE_FFTW3_
49  FILE *in=fopen(inFile,"r");
50  if(in==NULL)
51  return false;
52  bool ret=(bool)fftw_import_wisdom_from_file(in);
53  fclose(in);
54  return ret;
55 #else
56  return true;
57 #endif
58 }
60 #ifdef _HAVE_FFTW3_
61  return (bool)fftw_import_system_wisdom();
62 #else
63  return true;
64 #endif
65 }
67 #ifdef _HAVE_FFTW3_
68  fftw_forget_wisdom();
69 #endif
70  return true;
71 }
72 
#define Q_END_NAMESPACE
Definition: QDiana.hh:22
#define Q_BEGIN_NAMESPACE
Definition: QDiana.hh:20
ClassImp(QObject)
Singleton class for handling FFTW3 wisdom.
Definition: QFFTW3.hh:35
bool ImportWisdomFromFile(const char *inFile)
Load wisdom from file.
Definition: QFFTW3.cc:47
std::string fWisdomFile
The file from which the wisdom was loaded.
Definition: QFFTW3.hh:113
static QFFTW3Wisdom * Get()
Access to the singleton class.
bool fSavingWisdom
Saving wisdom.
Definition: QFFTW3.hh:108
static QFFTW3Wisdom * fInstance
Pointer to the singleton instance.
Definition: QFFTW3.hh:92
bool ExportWisdomToFile(const char *outFile)
Save the accumulated wisdom to file.
Definition: QFFTW3.cc:37
bool ImportSystemWisdom()
Load wisdom from a system file.
Definition: QFFTW3.cc:59
QFFTW3Wisdom()
Default ctor.
Definition: QFFTW3.cc:17
~QFFTW3Wisdom()
Default dtor.
Definition: QFFTW3.cc:33
bool ForgetWisdom(void)
Forget any accumulated wisdom.
Definition: QFFTW3.cc:66
bool fLocalWisdom
Local wisdom used.
Definition: QFFTW3.hh:100