VISR  0.11.6
Versatile Interactive Scene Renderer
ffts_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_FFTS_WRAPPER_HPP_INCLUDED
5 #define VISR_LIBRBBL_FFTS_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 FftsWrapper: public FftWrapperBase<DataType>
23 {
24 public:
30 
37  FftsWrapper( std::size_t fftSize, std::size_t alignment );
38 
42  ~FftsWrapper();
43 
44  /*virtual*/ efl::ErrorCode forwardTransform( DataType const * const in, FrequencyDomainType * out ) const override;
45 
46  /*virtual*/ efl::ErrorCode inverseTransform( FrequencyDomainType const * const in, DataType * out ) const override;
47 
48  /*virtual*/ DataType forwardScalingFactor( ) const override { return static_cast<DataType>(1.0); };
49 
50  /*virtual*/ DataType inverseScalingFactor() const override { return static_cast<DataType>(1.0); }
51 
52 private:
57  class Impl;
61  std::unique_ptr<Impl> mImpl;
62 };
63 
64 } // namespace rbbl
65 } // namespace visr
66 
67 #endif // #ifndef VISR_LIBRBBL_FFTS_WRAPPER_HPP_INCLUDED
Definition: fft_wrapper_base.hpp:19
Definition: options.cpp:10
std::complex< DataType > FrequencyDomainType
Definition: fft_wrapper_base.hpp:22
DataType forwardScalingFactor() const override
Definition: ffts_wrapper.hpp:48
DataType inverseScalingFactor() const override
Definition: ffts_wrapper.hpp:50
ErrorCode
Definition: error_codes.hpp:13
Definition: ffts_wrapper.hpp:22