comparison dsp/transforms/FFT.cpp @ 170:8c86761a5533

Fix overrun in reading inverse complex-to-real FFT input (contrary to docs)
author Chris Cannam
date Fri, 09 May 2014 14:35:46 +0100
parents a586888bc06c
children 7ab3539e92e3
comparison
equal deleted inserted replaced
169:783fb5f0e626 170:8c86761a5533
145 delete[] io; 145 delete[] io;
146 } 146 }
147 147
148 void inverse(const double *ri, const double *ii, double *ro) { 148 void inverse(const double *ri, const double *ii, double *ro) {
149 149
150 for (int i = 0; i < m_n; ++i) { 150 // kiss_fftr.h says
151 // "input freqdata has nfft/2+1 complex points"
152
153 for (int i = 0; i < m_n/2 + 1; ++i) {
151 m_c[i].r = ri[i]; 154 m_c[i].r = ri[i];
152 m_c[i].i = ii[i]; 155 m_c[i].i = ii[i];
153 } 156 }
154 157
155 kiss_fftri(m_plani, m_c, ro); 158 kiss_fftri(m_plani, m_c, ro);