ccgsl 2.7.2
C++wrappersforGnuScientificLibrary
gsl::fft::real Namespace Reference

Real fast Fourier transforms. More...

Namespaces

namespace  radix2
 Radix 2 transforms.
 

Classes

class  wavetable
 C++ version of gsl_fft_real_wavetable functions. More...
 
class  workspace
 Workspace for real fast fourier transforms. More...
 

Functions

int transform (double data[], size_t const stride, size_t const n, wavetable const &wavetable, workspace &work)
 C++ version of gsl_fft_real_transform(). More...
 
int unpack (double const real_coefficient[], double complex_coefficient[], size_t const stride, size_t const n)
 C++ version of gsl_fft_real_unpack(). More...
 
template<typename DATA >
int transform (DATA &data, size_t const stride, wavetable const &wavetable, workspace &work)
 C++ version of gsl_fft_real_transform(). More...
 
template<typename R , typename C >
int unpack (R const &real_coefficient, C &complex_coefficient, size_t const stride)
 C++ version of gsl_fft_real_unpack(). More...
 
template<>
int unpack (vector const &real_coefficient, vector_complex &complex_coefficient, size_t const stride)
 C++ version of gsl_fft_real_unpack(). More...
 
int transform (double data[], size_t const n, wavetable const &wavetable, workspace &work)
 C++ version of gsl_fft_real_transform(). More...
 
int unpack (double const real_coefficient[], double complex_coefficient[], size_t const n)
 C++ version of gsl_fft_real_unpack(). More...
 
template<typename DATA >
int transform (DATA &data, wavetable const &wavetable, workspace &work)
 C++ version of gsl_fft_real_transform(). More...
 
template<typename R , typename C >
int unpack (R const &real_coefficient, C &complex_coefficient)
 C++ version of gsl_fft_real_unpack(). More...
 
template<>
int unpack (vector const &real_coefficient, vector_complex &complex_coefficient)
 C++ version of gsl_fft_real_unpack(). More...
 

Detailed Description

Real fast Fourier transforms.

Function Documentation

◆ transform() [1/4]

template<typename DATA >
int gsl::fft::real::transform ( DATA &  data,
size_t const  stride,
wavetable const &  wavetable,
workspace work 
)
inline

C++ version of gsl_fft_real_transform().

Works with std::array<double>, std::vector<double> and gsl::vector.

Parameters
dataAn array of double values.
strideThe stride of the array.
wavetableA wavetable of size n.
workA workspace of size n.
Returns
Error code on failure.

Definition at line 507 of file fft_real.hpp.

References gsl::fft::real::wavetable::get(), and gsl::fft::real::workspace::get().

◆ transform() [2/4]

template<typename DATA >
int gsl::fft::real::transform ( DATA &  data,
wavetable const &  wavetable,
workspace work 
)
inline

C++ version of gsl_fft_real_transform().

Works with std::array<double>, std::vector<double> and gsl::vector.

Parameters
dataAn array of double values.
wavetableA wavetable of size n.
workA workspace of size n.
Returns
Error code on failure.

Definition at line 574 of file fft_real.hpp.

References gsl::fft::real::wavetable::get(), and gsl::fft::real::workspace::get().

◆ transform() [3/4]

int gsl::fft::real::transform ( double  data[],
size_t const  n,
wavetable const &  wavetable,
workspace work 
)
inline

C++ version of gsl_fft_real_transform().

Parameters
dataAn array of double values.
nThe size of the array.
wavetableA wavetable of size n.
workA workspace of size n.
Returns
Error code on failure.

Definition at line 551 of file fft_real.hpp.

References gsl::fft::real::wavetable::get(), gsl::fft::real::workspace::get(), and gsl::rstat::n().

◆ transform() [4/4]

int gsl::fft::real::transform ( double  data[],
size_t const  stride,
size_t const  n,
wavetable const &  wavetable,
workspace work 
)
inline

C++ version of gsl_fft_real_transform().

Parameters
dataAn array of double values.
strideThe stride of the array.
nThe size of the array.
wavetableA wavetable of size n.
workA workspace of size n.
Returns
Error code on failure.

Definition at line 481 of file fft_real.hpp.

References gsl::fft::real::wavetable::get(), gsl::fft::real::workspace::get(), and gsl::rstat::n().

◆ unpack() [1/6]

int gsl::fft::real::unpack ( double const  real_coefficient[],
double  complex_coefficient[],
size_t const  n 
)
inline

C++ version of gsl_fft_real_unpack().

Parameters
real_coefficientAn array of double values.
complex_coefficientAn array of double values for complex coefficients.
nThe size of the array.
Returns
Error code on failure.

Definition at line 562 of file fft_real.hpp.

References gsl::rstat::n().

◆ unpack() [2/6]

int gsl::fft::real::unpack ( double const  real_coefficient[],
double  complex_coefficient[],
size_t const  stride,
size_t const  n 
)
inline

C++ version of gsl_fft_real_unpack().

Parameters
real_coefficientAn array of double values.
complex_coefficientAn array of double values for complex coefficients.
strideThe stride of the array.
nThe size of the array.
Returns
Error code on failure.

Definition at line 493 of file fft_real.hpp.

References gsl::rstat::n().

◆ unpack() [3/6]

template<typename R , typename C >
int gsl::fft::real::unpack ( R const &  real_coefficient,
C &  complex_coefficient 
)
inline

C++ version of gsl_fft_real_unpack().

Works with std::array<double>, std::vector<double> and gsl::vector.

Parameters
real_coefficientAn array of double values.
complex_coefficientAn array of double values for complex coefficients.
Returns
Error code on failure.

Definition at line 586 of file fft_real.hpp.

References gsl::movstat::max(), and gsl::rstat::n().

◆ unpack() [4/6]

template<typename R , typename C >
int gsl::fft::real::unpack ( R const &  real_coefficient,
C &  complex_coefficient,
size_t const  stride 
)
inline

C++ version of gsl_fft_real_unpack().

Works with std::array<double>, std::vector<double> and gsl::vector.

Parameters
real_coefficientAn array of double values.
complex_coefficientAn array of double values for complex coefficients.
strideThe stride of the array.
Returns
Error code on failure.

Definition at line 520 of file fft_real.hpp.

References gsl::movstat::max(), and gsl::rstat::n().

◆ unpack() [5/6]

template<>
int gsl::fft::real::unpack ( vector const &  real_coefficient,
vector_complex complex_coefficient 
)
inline

C++ version of gsl_fft_real_unpack().

Works with vector and vector_complex.

Parameters
real_coefficientAn array of double values.
complex_coefficientAn array of double values for complex coefficients.
Returns
Error code on failure.

Definition at line 600 of file fft_real.hpp.

References gsl::vector::data(), gsl::vector_complex::data(), gsl::movstat::max(), gsl::rstat::n(), gsl::vector::size(), and gsl::vector_complex::size().

◆ unpack() [6/6]

template<>
int gsl::fft::real::unpack ( vector const &  real_coefficient,
vector_complex complex_coefficient,
size_t const  stride 
)
inline

C++ version of gsl_fft_real_unpack().

Works with vector and vector_complex.

Parameters
real_coefficientAn array of double values.
complex_coefficientAn array of double values for complex coefficients.
strideThe stride of the array.
Returns
Error code on failure.

Definition at line 535 of file fft_real.hpp.

References gsl::vector::data(), gsl::vector_complex::data(), gsl::movstat::max(), gsl::rstat::n(), gsl::vector::size(), and gsl::vector_complex::size().