21 #ifndef mia_core_fft1d_r2c_hh 22 #define mia_core_fft1d_r2c_hh 43 struct Complex :
public std::complex<float> {
45 Complex(
const std::complex<float>& other):
std::complex<float>(other){}
46 #if !defined(FFTW_NO_Complex) && defined(_Complex_I) && defined(complex) && defined(I) 48 std::complex<float>(v)
53 std::complex<float>(v[0], v[1])
75 std::vector<Complex> forward(
const std::vector<Real>& data)
const;
82 std::vector<Real> backward(
const std::vector<Complex>& data)
const;
92 void forward(std::vector<Real>::const_iterator in_begin,
93 std::vector<Real>::const_iterator in_end,
94 std::vector<Complex>::iterator out_begin)
const;
106 void backward(std::vector<Complex>::const_iterator in_begin,
107 std::vector<Complex>::const_iterator in_end,
108 std::vector<Real>::iterator out_begin)
const;
111 size_t out_size()
const;
114 struct CFFT1D_R2CImpl *impl;
float Real
A typedef that makes switching between single precicion and double precicion easier.
Complex(fftwf_complex &v)
#define NS_MIA_BEGIN
conveniance define to start the mia namespace
Complex(const std::complex< float > &other)
#define EXPORT_CORE
Macro to manage Visual C++ style dllimport/dllexport.
a class to real-to-complex 1D FFTs
#define NS_MIA_END
conveniance define to end the mia namespace