18 #ifndef itkFFTWGlobalConfiguration_h
19 #define itkFFTWGlobalConfiguration_h
24 #if defined(ITK_USE_FFTWF) || defined(ITK_USE_FFTWD)
26 # include "ITKFFTExport.h"
29 # include "itksys/SystemTools.hxx"
30 # include "itksys/SystemInformation.hxx"
31 # if defined(ITK_USE_CUFFTW)
39 struct FFTWGlobalConfigurationGlobals;
70 struct FFTWGlobalConfigurationGlobals;
73 # define FFTWPathSep "\\"
75 # define FFTWPathSep "/"
83 GenerateWisdomFilename(
const std::string & baseCacheDirectory)
const = 0;
95 SetWisdomFilename(
const std::string & wfn);
97 GenerateWisdomFilename(
const std::string & baseCacheDirectory)
const override;
107 GenerateWisdomFilename(
const std::string & baseCacheDirectory)
const override;
114 GenerateWisdomFilename(
const std::string & baseCacheDirectory)
const override;
123 GenerateWisdomFilename(
const std::string & baseCacheDirectory)
const override;
126 SetUseOSName(
const bool flag);
128 SetUseOSRelease(
const bool flag);
130 SetUseOSVersion(
const bool flag);
132 SetUseOSPlatform(
const bool flag);
134 SetUseOSBitSize(
const bool flag);
136 SetUseNumberOfProcessors(
const bool flag);
138 SetUseVendorString(
const bool flag);
140 SetUseTypeID(
const bool flag);
142 SetUseFamilyID(
const bool flag);
144 SetUseModelID(
const bool flag);
146 SetUseSteppingCode(
const bool flag);
149 GetUseOSName()
const;
151 GetUseOSRelease()
const;
153 GetUseOSVersion()
const;
155 GetUseOSPlatform()
const;
157 GetUseOSBitSize()
const;
159 GetUseNumberOfProcessors()
const;
161 GetUseVendorString()
const;
163 GetUseTypeID()
const;
165 GetUseFamilyID()
const;
167 GetUseModelID()
const;
169 GetUseSteppingCode()
const;
172 bool m_UseOSName{
true };
173 bool m_UseOSRelease{
false };
174 bool m_UseOSVersion{
false };
175 bool m_UseOSPlatform{
true };
176 bool m_UseOSBitSize{
true };
177 bool m_UseNumberOfProcessors{
true };
178 bool m_UseVendorString{
true };
179 bool m_UseVendorID{
false };
180 bool m_UseTypeID{
true };
181 bool m_UseFamilyID{
true };
182 bool m_UseModelID{
true };
183 bool m_UseSteppingCode{
true };
228 SetNewWisdomAvailable(
const bool & v);
230 GetNewWisdomAvailable();
242 SetPlanRigor(
const int & v);
247 SetPlanRigor(
const std::string & name);
251 GetPlanRigorValue(
const std::string & name);
255 GetPlanRigorName(
const int & value);
265 SetReadWisdomCache(
const bool & v);
267 GetReadWisdomCache();
278 SetWriteWisdomCache(
const bool & v);
280 GetWriteWisdomCache();
290 SetWisdomCacheBase(
const std::string & v);
292 GetWisdomCacheBase();
324 GetWisdomFileDefaultBaseName();
328 ImportWisdomFileDouble(
const std::string & fname);
330 ExportWisdomFileDouble(
const std::string & fname);
335 ImportWisdomFileFloat(
const std::string & fname);
337 ExportWisdomFileFloat(
const std::string & fname);
342 ImportDefaultWisdomFileDouble();
344 ExportDefaultWisdomFileDouble();
349 ImportDefaultWisdomFileFloat();
351 ExportDefaultWisdomFileFloat();
356 ImportDefaultWisdomFile();
358 ExportDefaultWisdomFile();
381 bool m_NewWisdomAvailable{
false };
382 int m_PlanRigor{ 0 };
383 bool m_WriteWisdomCache{
false };
384 bool m_ReadWisdomCache{
true };