0
我想fftw_complex阵列映射到本征MatrixXcd回来:我发现这一点:重新映射fftw_complex在本征Matrixcd LIB
MatrixXcd m1 = MatrixXcd::Map(reinterpret_cast<complex<double>*>(m1f), n1, n2);
但似乎是慢
我想fftw_complex阵列映射到本征MatrixXcd回来:我发现这一点:重新映射fftw_complex在本征Matrixcd LIB
MatrixXcd m1 = MatrixXcd::Map(reinterpret_cast<complex<double>*>(m1f), n1, n2);
但似乎是慢
这应该可以解决性能问题:
MatrixXcd::Map<MatrixXcd> m1(reinterpret_cast<complex<double>*>(m1f), n1, n2);
问题是您将Map对象分配给Matrix对象。这迫使Eigen 将映射矩阵复制到由Matrix对象分配的内存中。
另外,您可能要考虑使用MatrixXcd::Map<MatrixXcd, Aligned>
。这告诉Eigen m1f
指向的内存已正确对齐矢量化。但是,当然你必须确保你的记忆确实符合Eigen的要求。
说这个错误: – user3302427
在这条线上的多个标记 \t - 预期';'前 'Load_mat' \t - 语句无法解析重载 \t功能 – user3302427
MatrixXcd地址::地图 Load_mat(reinterpret_cast的<复杂 *>(输入3),W,H); –
user3302427