- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
FFTW 手册 says它的fftw_complex
类型与 std::complex<double>
位兼容STL 中的类。但这对我不起作用:
#include <complex>
#include <fftw3.h>
int main()
{
std::complex<double> x(1,0);
fftw_complex fx;
fx = reinterpret_cast<fftw_complex>(x);
}
这给了我一个错误:
error: invalid cast from type ‘std::complex<double>’ to type ‘double [2]’
我做错了什么?
最佳答案
fftw_complex 与 C99 和 C++ 复杂类型的位兼容性背后的想法不是它们可以很容易地相互创建,而是 FFTW 中所有采用指向 fftw_complex 的指针的函数也可以采用指向 c++ std::complex 的指针.因此,最好的方法可能是在整个程序中使用 std::complex<> 并且仅在调用 FFTW 函数时将指针转换为这些值:
std::vector<std::complex<double> > a1, a2;
....
....
fftw_plan_dft(N, reinterpret_cast<fftw_complex*>(&a1[0]),
reinterpret_cast<fftw_complex*>(&a2[0]),
FFTW_FORWARD, FFTW_ESTIMATE);
....
关于c++ - 将 STL complex<double> 转换为 fftw_complex 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4214400/
在我的程序中我有 2D Vector喜欢(vector> Data(ROWS, vector(COLS));),然后我实现FFTW采取FFT从我的 vector 中: fftw_complex in[
我正在尝试执行 here 中的指示计算二维傅里叶变换: #include #include #include #include #define NUM_POINTS 600 #define R
我想将 fftw_complex 数组映射到 Eigen MatrixXcd 并返回:我发现了这个: MatrixXcd m1 = MatrixXcd::Map(reinterpret_cast*>(
FFTW 手册 says它的fftw_complex类型与 std::complex 位兼容STL 中的类。但这对我不起作用: #include #include int main() {
我是一名优秀的程序员,十分优秀!