VISR  0.11.8
Versatile Interactive Scene Renderer
visr::rbbl::FftsWrapper< DataType > Class Template Reference

#include <ffts_wrapper.hpp>

Inheritance diagram for visr::rbbl::FftsWrapper< 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

 FftsWrapper (std::size_t fftSize, std::size_t alignment)
 
 ~FftsWrapper ()
 
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
 
- Public Member Functions inherited from visr::rbbl::FftWrapperBase< DataType >
virtual ~FftWrapperBase ()
 

Detailed Description

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

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

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

Member Typedef Documentation

template<typename DataType >
using visr::rbbl::FftsWrapper< 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

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

Create a wrapper object for executing FFTs.

Parameters
fftSizeInput FFT size, number of points in the real-valued FFT input or IFFT output.
alignmentMinimum alignment of input and output data, in number of elements. The required alignment of the complexed-valued frequency domain data is half of that.
template<typename DataType >
template visr::rbbl::FftsWrapper< DataType >::~FftsWrapper ( )

Destructor.

Member Function Documentation

template<typename DataType >
DataType visr::rbbl::FftsWrapper< DataType >::forwardScalingFactor ( ) const
inlineoverridevirtual
template<typename DataType >
efl::ErrorCode visr::rbbl::FftsWrapper< DataType >::forwardTransform ( DataType const *const  in,
FrequencyDomainType out 
) const
overridevirtual
template<>
efl::ErrorCode visr::rbbl::FftsWrapper< float >::forwardTransform ( float const *const  in,
std::complex< float > *  out 
) const
template<typename DataType >
DataType visr::rbbl::FftsWrapper< DataType >::inverseScalingFactor ( ) const
inlineoverridevirtual
template<typename DataType >
efl::ErrorCode visr::rbbl::FftsWrapper< DataType >::inverseTransform ( FrequencyDomainType const *const  in,
DataType *  out 
) const
overridevirtual
template<>
efl::ErrorCode visr::rbbl::FftsWrapper< float >::inverseTransform ( std::complex< float > const *const  in,
float *  out 
) const

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