gpt4 book ai didi

c++ - 将 fftw_complex 重新映射到 Eigen 库中的 Matrixcd

转载 作者:行者123 更新时间:2023-11-28 07:06:06 34 4
gpt4 key购买 nike

我想将 fftw_complex 数组映射到 Eigen MatrixXcd 并返回:我发现了这个:

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 的要求正确对齐。

关于c++ - 将 fftw_complex 重新映射到 Eigen 库中的 Matrixcd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21733848/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com