kopia lustrzana https://github.com/kosme/arduinoFFT
Merge pull request #108 from kosme/develop
Fix to prevent double swap of imaginary partpull/111/head
commit
d070ab2c8e
|
@ -82,11 +82,12 @@ void ArduinoFFT<T>::compute(T *vReal, T *vImag, uint_fast16_t samples,
|
||||||
for (uint_fast16_t i = 0; i < (samples - 1); i++) {
|
for (uint_fast16_t i = 0; i < (samples - 1); i++) {
|
||||||
if (i < j) {
|
if (i < j) {
|
||||||
swap(&vReal[i], &vReal[j]);
|
swap(&vReal[i], &vReal[j]);
|
||||||
#ifdef COMPLEX_INPUT
|
#ifdef COMPLEX_INPUT
|
||||||
swap(&vImag[i], &vImag[j]);
|
swap(&vImag[i], &vImag[j]);
|
||||||
#endif
|
#else
|
||||||
if (dir == FFTDirection::Reverse)
|
if (dir == FFTDirection::Reverse)
|
||||||
swap(&vImag[i], &vImag[j]);
|
swap(&vImag[i], &vImag[j]);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
uint_fast16_t k = (samples >> 1);
|
uint_fast16_t k = (samples >> 1);
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue