在 Visual Studio 中使用 FFTW 的单精度浮点数
Using single precision floating-point with FFTW in Visual Studio
我正在尝试使用 FFTW library in a Visual Studio project, and I am having trouble with getting the floating point precision to work. I have created the library files and linked them as in this post and I have only included the libfftw3f-3.lib library as it says in their documentation,除 fftw_plan_dft_r2c_2d()
功能外其他一切都很好。它不会接受我的 float* 类型数组作为参数 3,因为它与其类型 double* 的参数不兼容。我知道这只是精度,但是,我更愿意使用浮点数,因为 fftw 确实支持它,并且 b/c 我 memcpy()
从浮点数组获取数据的方式。我只是遇到了使用浮点数的 fftw 库的问题。除了链接到 libfftw3f-3.lib
库之外,我在他们的 Windows 部分(例如在他们的 Unix 部分)中没有看到任何具体的内容。谁能告诉我如何实现这一点?
对于 FFTW 中的单精度例程,您需要使用带有 fftwf_
前缀而不是 fftw_
的例程,因此您对 fftw_plan_dft_r2c_2d()
的调用实际上应该是 fftwf_plan_dft_r2c_2d()
。
我正在尝试使用 FFTW library in a Visual Studio project, and I am having trouble with getting the floating point precision to work. I have created the library files and linked them as in this post and I have only included the libfftw3f-3.lib library as it says in their documentation,除 fftw_plan_dft_r2c_2d()
功能外其他一切都很好。它不会接受我的 float* 类型数组作为参数 3,因为它与其类型 double* 的参数不兼容。我知道这只是精度,但是,我更愿意使用浮点数,因为 fftw 确实支持它,并且 b/c 我 memcpy()
从浮点数组获取数据的方式。我只是遇到了使用浮点数的 fftw 库的问题。除了链接到 libfftw3f-3.lib
库之外,我在他们的 Windows 部分(例如在他们的 Unix 部分)中没有看到任何具体的内容。谁能告诉我如何实现这一点?
对于 FFTW 中的单精度例程,您需要使用带有 fftwf_
前缀而不是 fftw_
的例程,因此您对 fftw_plan_dft_r2c_2d()
的调用实际上应该是 fftwf_plan_dft_r2c_2d()
。