我有以下代碼:fftwf_execute_dft_c2r寫入輸入緩衝器
auto in = std::array<std::complex<float>, 60>();
in[0] = 10000.0f;
auto out = std::array<float, 100>();
auto plan = fftwf_plan_dft_c2r_2d(10, 10, reinterpret_cast<fftwf_complex*>(in.data()), out.data(), FFTW_ESTIMATE | FFTW_UNALIGNED);
fftwf_execute_dft_c2r(plan, reinterpret_cast<fftwf_complex*>(in.data()), out.data());
當我運行它,我的in
陣列被寫入(具體地,第一列被設置爲10000.0)。這是正常的嗎?我可以避免編寫in
陣列嗎?
見[文檔】(http://www.fftw.org/fftw3_doc/Planner-Flags.html),用於'FFTW_PRESERVE_INPUT' – Praetorian
我明白了。沒有'FFTW_PRESERVE_INPUT'二維C2R :( 可以不選你的答案,但因爲它是一個評論,這也幫助我。 – racanu
隨意寫你自己的答案,我懶得組成之一,這是爲什麼我留下了評論 – Praetorian