Audacity 3.2.0
RealFFTf.h
Go to the documentation of this file.
1#ifndef __realfftf_h
2#define __realfftf_h
3
4#include "MemoryX.h"
5
6using fft_type = float;
7struct FFTParam {
10 size_t Points;
11#ifdef EXPERIMENTAL_EQ_SSE_THREADED
12 int pow2Bits;
13#endif
14};
15
16struct MATH_API FFTDeleter{
17 void operator () (FFTParam *p) const;
18};
19
20using HFFT = std::unique_ptr<
22>;
23
24MATH_API HFFT GetFFT(size_t);
25MATH_API void RealFFTf(fft_type *, const FFTParam *);
26MATH_API void InverseRealFFTf(fft_type *, const FFTParam *);
27MATH_API void ReorderToTime(const FFTParam *hFFT, const fft_type *buffer, fft_type *TimeOut);
28MATH_API void ReorderToFreq(const FFTParam *hFFT, const fft_type *buffer,
29 fft_type *RealOut, fft_type *ImagOut);
30
31#endif
32
float fft_type
Definition: RealFFTf48x.h:6
std::unique_ptr< FFTParam, FFTDeleter > HFFT
Definition: RealFFTf.h:22
MATH_API void InverseRealFFTf(fft_type *, const FFTParam *)
Definition: RealFFTf.cpp:264
MATH_API void ReorderToFreq(const FFTParam *hFFT, const fft_type *buffer, fft_type *RealOut, fft_type *ImagOut)
Definition: RealFFTf.cpp:347
MATH_API void RealFFTf(fft_type *, const FFTParam *)
Definition: RealFFTf.cpp:162
MATH_API void ReorderToTime(const FFTParam *hFFT, const fft_type *buffer, fft_type *TimeOut)
Definition: RealFFTf.cpp:361
MATH_API HFFT GetFFT(size_t)
Definition: RealFFTf.cpp:105
size_t Points
Definition: RealFFTf.h:10
ArrayOf< int > BitReversed
Definition: RealFFTf.h:8
ArrayOf< fft_type > SinTable
Definition: RealFFTf.h:9