VISR  0.11.6
Versatile Interactive Scene Renderer
ipp_fft_wrapper.hpp
Go to the documentation of this file.
1 
2 /* Copyright Institute of Sound and Vibration Research - All rights reserved */
3 
4 #ifndef VISR_LIBRBBL_IPP_FFT_WRAPPER_HPP_INCLUDED
5 #define VISR_LIBRBBL_IPP_FFT_WRAPPER_HPP_INCLUDED
6 
7 #include "export_symbols.hpp"
8 #include "fft_wrapper_base.hpp"
9 
10 #include <memory>
11 
12 namespace visr
13 {
14 namespace rbbl
15 {
16 
21 template< typename DataType >
22 class VISR_RBBL_LIBRARY_SYMBOL IppFftWrapper: public FftWrapperBase<DataType>
23 {
24 public:
30 
31  IppFftWrapper( std::size_t fftSize, std::size_t alignment );
32 
33  ~IppFftWrapper();
34 
35  /*virtual*/ efl::ErrorCode forwardTransform( DataType const * const in, FrequencyDomainType * out ) const override;
36 
37  /*virtual*/ efl::ErrorCode inverseTransform( FrequencyDomainType const * const in, DataType * out ) const override;
38 
39  /*virtual*/ DataType forwardScalingFactor( ) const override { return static_cast<DataType>(1.0); }
40 
41  /*virtual*/ DataType inverseScalingFactor() const override { return static_cast<DataType>(1.0); }
42 
43 private:
48  class Impl;
52  std::unique_ptr<Impl> mImpl;
53 };
54 
55 } // namespace rbbl
56 } // namespace visr
57 
58 #endif // #ifndef VISR_LIBRBBL_IPP_FFT_WRAPPER_HPP_INCLUDED
Definition: fft_wrapper_base.hpp:19
Definition: ipp_fft_wrapper.hpp:22
DataType inverseScalingFactor() const override
Definition: ipp_fft_wrapper.hpp:41
DataType forwardScalingFactor() const override
Definition: ipp_fft_wrapper.hpp:39
Definition: options.cpp:10
std::complex< DataType > FrequencyDomainType
Definition: fft_wrapper_base.hpp:22
ErrorCode
Definition: error_codes.hpp:13