79 const int n = 1 <<
_bits;
81 const float k1 = 0.5f;
82 const float k2 = 0.5f - (
_inverse ? 1.0f : 0.0f);
85 _fft->permute(reinterpret_cast<Complex *>(data));
86 _fft->calc (reinterpret_cast<Complex *>(data));
96 data[0] = ev.
re + data[1];
97 data[1] = ev.
re - data[1];
100 for (i = 1; i < (n >> 2); i++) {
105 ev.
re = k1 * (data[i1 ] + data[i2 ]);
106 od.
im = -k2 * (data[i1 ] - data[i2 ]);
107 ev.
im = k1 * (data[i1 + 1] - data[i2 + 1]);
108 od.
re = k2 * (data[i1 + 1] + data[i2 + 1]);
123 _fft->permute(reinterpret_cast<Complex *>(data));
124 _fft->calc (reinterpret_cast<Complex *>(data));
RDFT(int bits, TransformType trans)
const float * getSineTable(int bits)
(Inverse) Real Discrete Fourier Transform.
(Inverse) Fast Fourier Transform.
const float * getCosineTable(int bits)
(Inverse) Fast Fourier Transform.