-
-
Notifications
You must be signed in to change notification settings - Fork 25
/
Copy pathsrfft.h
29 lines (25 loc) · 873 Bytes
/
srfft.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#pragma once
#include <feat-lib.h>
namespace snowboy {
struct SplitRadixFft : FftItf {
FftOptions m_options;
size_t field_x10;
int field_x14;
std::vector<int> field_x18;
std::vector<std::vector<float>> field_x30;
SplitRadixFft(const FftOptions& options);
void DoFft(bool inverse, Vector* data) const;
void DoComplexFftRecursive(int, float*, float*) const;
void DoComplexFftComputation(bool, float*, float*) const;
void DoComplexFft(bool, Vector*) const;
void ComputeTables();
void BitReversePermute(int, float*) const;
void DoProcessingForReal(bool, Vector*) const;
void Init();
void SetOptions(const FftOptions& options);
virtual void DoFft(Vector*) const noexcept override;
virtual void DoIfft(Vector*) const noexcept override;
virtual ~SplitRadixFft();
};
//static_assert(sizeof(SplitRadixFft) == 0x48);
} // namespace snowboy