49 fftw_plan_r2r_1d(
m_N,
nullptr,
nullptr, FFTW_R2HC, FFTW_ESTIMATE);
51 fftw_plan_r2r_1d(
m_N,
nullptr,
nullptr, FFTW_HC2R, FFTW_ESTIMATE);
62 for (
int i = 2; i <
m_N; i++)
90 for (
int i = 0; i < halfN - 1; i++)
92 outarray[(
m_N - 1) - 2 * i] =
108 for (
int i = 0; i < (halfN - 1); i++)
110 m_wsp[halfN + 1 + i] =
void v_FFTBwdTrans(Array< OneD, NekDouble > &inarray, Array< OneD, NekDouble > &outarray) override
static NektarFFTSharedPtr create(int N)
Creates an instance of this class.
static std::string className
Name of class.
void v_FFTFwdTrans(Array< OneD, NekDouble > &inarray, Array< OneD, NekDouble > &outarray) override
fftw_plan m_plan_backward
Array< OneD, NekDouble > m_wsp
Array< OneD, NekDouble > m_FFTW_w
Array< OneD, NekDouble > m_FFTW_w_inv
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, std::string pDesc="")
Register a class with the factory.
NektarFFTFactory & GetNektarFFTFactory()
void Vmul(int n, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
Multiply vector z = x*y.