Xmipp  v3.23.11-Nereus
Public Member Functions | Protected Member Functions | List of all members
AFT< T > Class Template Referenceabstract

#include <aft.h>

Inheritance diagram for AFT< T >:
Inheritance graph
[legend]

Public Member Functions

virtual ~AFT ()
 
virtual void init (const HW &hw, const FFTSettings< T > &settings, bool reuse=true)=0
 
virtual void release ()=0
 
virtual size_t estimatePlanBytes (const FFTSettings< T > &settings)=0
 
virtual size_t estimateTotalBytes (const FFTSettings< T > &settings)
 
virtual std::complex< T > * fft (T *inOut)=0
 
virtual std::complex< T > * fft (const T *in, std::complex< T > *out)=0
 
virtual T * ifft (std::complex< T > *inOut)=0
 
virtual T * ifft (const std::complex< T > *in, T *out)=0
 

Protected Member Functions

virtual void setDefault ()=0
 

Detailed Description

template<typename T>
class AFT< T >

Definition at line 39 of file aft.h.

Constructor & Destructor Documentation

◆ ~AFT()

template<typename T>
virtual AFT< T >::~AFT ( )
inlinevirtual

Definition at line 41 of file aft.h.

41 {}; // do nothing

Member Function Documentation

◆ estimatePlanBytes()

template<typename T>
virtual size_t AFT< T >::estimatePlanBytes ( const FFTSettings< T > &  settings)
pure virtual

Implemented in FFTwT< T >, and CudaFFT< T >.

◆ estimateTotalBytes()

template<typename T>
virtual size_t AFT< T >::estimateTotalBytes ( const FFTSettings< T > &  settings)
inlinevirtual

Definition at line 47 of file aft.h.

47  {
48  size_t planBytes = estimatePlanBytes(settings);
49  if (0 == planBytes) {
50  // plan cannot be created
51  return std::numeric_limits<size_t>::max(); // FIXME DS improve API
52  }
53  size_t dataBytes = settings.sBytesBatch()
54  + (settings.isInPlace() ? 0 : settings.fBytesBatch());
55  return planBytes + dataBytes;
56  }
constexpr bool isInPlace() const
Definition: fft_settings.h:126
constexpr size_t fBytesBatch() const
Definition: fft_settings.h:98
virtual size_t estimatePlanBytes(const FFTSettings< T > &settings)=0
void max(Image< double > &op1, const Image< double > &op2)
constexpr size_t sBytesBatch() const
Definition: fft_settings.h:114

◆ fft() [1/2]

template<typename T>
virtual std::complex<T>* AFT< T >::fft ( T *  inOut)
pure virtual

Implemented in FFTwT< T >, and CudaFFT< T >.

◆ fft() [2/2]

template<typename T>
virtual std::complex<T>* AFT< T >::fft ( const T *  in,
std::complex< T > *  out 
)
pure virtual

Implemented in FFTwT< T >, and CudaFFT< T >.

◆ ifft() [1/2]

template<typename T>
virtual T* AFT< T >::ifft ( std::complex< T > *  inOut)
pure virtual

Implemented in FFTwT< T >, and CudaFFT< T >.

◆ ifft() [2/2]

template<typename T>
virtual T* AFT< T >::ifft ( const std::complex< T > *  in,
T *  out 
)
pure virtual

Implemented in FFTwT< T >, and CudaFFT< T >.

◆ init()

template<typename T>
virtual void AFT< T >::init ( const HW hw,
const FFTSettings< T > &  settings,
bool  reuse = true 
)
pure virtual

Implemented in FFTwT< T >, and CudaFFT< T >.

◆ release()

template<typename T>
virtual void AFT< T >::release ( )
pure virtual

Implemented in FFTwT< T >, and CudaFFT< T >.

◆ setDefault()

template<typename T>
virtual void AFT< T >::setDefault ( )
protectedpure virtual

The documentation for this class was generated from the following file: