XX CMake Package
Loading...
Searching...
No Matches
XXFastFourierTransfrom.h
Go to the documentation of this file.
1#ifndef XXFastFourierTransfromH
2#define XXFastFourierTransfromH
3
4#include "XXAudioExportDef.h"
5
6#include <QException>
7
8#include <complex>
9
10#include "XXSampleAbstract.h"
11
12// may throw Exception
13namespace XX
14{
17
19 {
20 public:
21 using ComplexType = std::complex<float>;
22 using ComplexData = QList<ComplexType>;
23
24 public:
25 FastFourierTransfrom(const size_t size);
26
27 public:
28 static ComplexData fill(const Sample::Data& data);
29 static Sample::Data strip(const ComplexData& data);
30
33
34 const size_t& getSize() const;
35
36 private:
37 void bitReverse(ComplexData& data) const;
38 void transform(ComplexData& data, bool forward) const;
39
40 void bitReverseB(ComplexData& data) const;
41 void transformB(ComplexData& data, bool forward) const;
42
43 private:
44 const size_t size;
45 };
46} // namespace XX
47
48#endif // NOT XXFastFourierTransfromH
#define XXAUDIO_DECLSPEC
Definition XXAudioExportDef.h:11
static Sample::Data strip(const ComplexData &data)
std::complex< float > ComplexType
Definition XXFastFourierTransfrom.h:21
static ComplexData fill(const Sample::Data &data)
QList< ComplexType > ComplexData
Definition XXFastFourierTransfrom.h:22
const size_t & getSize() const
FastFourierTransfrom(const size_t size)
ComplexData inverse(const ComplexData &input)
ComplexData forward(const ComplexData &input)
QList< float > Data
Definition XXSampleAbstract.h:14
Definition XXPopulatedAbstract.h:11