VISR  0.11.7
Versatile Interactive Scene Renderer
visr::rbbl::IppFftWrapper< DataType > Class Template Reference

#include <ipp_fft_wrapper.hpp>

Inheritance diagram for visr::rbbl::IppFftWrapper< DataType >:
visr::rbbl::FftWrapperBase< DataType >

Classes

class  Impl
 

Public Types

using FrequencyDomainType = typename FftWrapperBase< DataType >::FrequencyDomainType
 
- Public Types inherited from visr::rbbl::FftWrapperBase< DataType >
using FrequencyDomainType = std::complex< DataType >
 

Public Member Functions

 IppFftWrapper (std::size_t fftSize, std::size_t alignment)
 
 ~IppFftWrapper ()
 
efl::ErrorCode forwardTransform (DataType const *const in, FrequencyDomainType *out) const override
 
efl::ErrorCode inverseTransform (FrequencyDomainType const *const in, DataType *out) const override
 
DataType forwardScalingFactor () const override
 
DataType inverseScalingFactor () const override
 
template<>
efl::ErrorCode forwardTransform (float const *const in, std::complex< float > *out) const
 
template<>
efl::ErrorCode inverseTransform (std::complex< float > const *const in, float *out) const
 
template<>
efl::ErrorCode forwardTransform (double const *const in, std::complex< double > *out) const
 
template<>
efl::ErrorCode inverseTransform (std::complex< double > const *const in, double *out) const
 
- Public Member Functions inherited from visr::rbbl::FftWrapperBase< DataType >
virtual ~FftWrapperBase ()
 

Detailed Description

template<typename DataType>
class visr::rbbl::IppFftWrapper< DataType >

FFT wrapper class encapsulating the IPP library functions for real-to-complex transforms.

Template Parameters
DataTypeThe floating-point element type for the transform. The class is specialized for type float and double.

Member Typedef Documentation

◆ FrequencyDomainType

template<typename DataType >
using visr::rbbl::IppFftWrapper< DataType >::FrequencyDomainType = typename FftWrapperBase<DataType>::FrequencyDomainType

Typedef for the frequency-domain samples. Needs to be redeclared and marked as 'typename' by GCC.

Constructor & Destructor Documentation

◆ IppFftWrapper()

template<typename DataType >
template visr::rbbl::IppFftWrapper< DataType >::IppFftWrapper ( std::size_t  fftSize,
std::size_t  alignment 
)

◆ ~IppFftWrapper()

template<typename DataType >
template visr::rbbl::IppFftWrapper< DataType >::~IppFftWrapper ( )

Member Function Documentation

◆ forwardScalingFactor()

template<typename DataType >
DataType visr::rbbl::IppFftWrapper< DataType >::forwardScalingFactor ( ) const
inlineoverridevirtual

◆ forwardTransform() [1/3]

template<typename DataType >
efl::ErrorCode visr::rbbl::IppFftWrapper< DataType >::forwardTransform ( DataType const *const  in,
FrequencyDomainType out 
) const
overridevirtual

◆ forwardTransform() [2/3]

template<>
efl::ErrorCode visr::rbbl::IppFftWrapper< float >::forwardTransform ( float const *const  in,
std::complex< float > *  out 
) const

◆ forwardTransform() [3/3]

template<>
efl::ErrorCode visr::rbbl::IppFftWrapper< double >::forwardTransform ( double const *const  in,
std::complex< double > *  out 
) const

◆ inverseScalingFactor()

template<typename DataType >
DataType visr::rbbl::IppFftWrapper< DataType >::inverseScalingFactor ( ) const
inlineoverridevirtual

◆ inverseTransform() [1/3]

template<typename DataType >
efl::ErrorCode visr::rbbl::IppFftWrapper< DataType >::inverseTransform ( FrequencyDomainType const *const  in,
DataType *  out 
) const
overridevirtual

◆ inverseTransform() [2/3]

template<>
efl::ErrorCode visr::rbbl::IppFftWrapper< float >::inverseTransform ( std::complex< float > const *const  in,
float *  out 
) const

◆ inverseTransform() [3/3]

template<>
efl::ErrorCode visr::rbbl::IppFftWrapper< double >::inverseTransform ( std::complex< double > const *const  in,
double *  out 
) const

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