When the function ifft(const vec &f, vec &t) is called with an input vector of size >= 256, the input vector is modified.
This bug occurs when the library FFTW3 is used.
--- begin code ---
int N = 256;
cvec f;
vec t;
fft_real(randn(N), f);
cvec tmp = f;
ifft_real(f, t);
cvec d = tmp - f;
cout << d << endl;
--- end code ---
For N < 256 the vector 'd' is the zero vector as expected. However, for N >= 256 the first half of the vector 'd' is non-zero.
Adam Piątyszek
2007-05-29
Logged In: YES
user_id=1004597
Originator: NO
This bug is now fixed in our SVN repository. The fixed ifft_real() function will be included in the next stable (3.10.11) and development (3.99.2) releases.
/ediap