具有C++20格式的Eigen3库



我正在尝试打印具有c++20格式的Eigen::Array或Eigen::Matrix,而不是Eigen::IOFormat。我想用说明符控制矩阵中元素的精度和对齐,例如

#include <Eigen/Core>
#include <format>
#include <iostream>
int main()
{
Eigen::ArrayXXd mat( 3, 4 );
mat.setZero();
std::cout << std::format( "mat={:9.4f}n", mat );
return 0;
}

如何获得以下预期结果?

mat=   0.0000   0.0000   0.0000   0.0000
0.0000   0.0000   0.0000   0.0000
0.0000   0.0000   0.0000   0.0000

您可以查看https://gite.lirmm.fr/rpc/utils/eigen-fmt看看它是否能帮到你。

您基本上需要包含这个头文件,以便使用fmt库对打印/格式提供特征支持。由于std::format是基于fmt的,因此该代码应该是一个良好的开端,以便实现您想要的内容。请注意,您可能需要进行一些调整。

相关内容

  • 没有找到相关文章

最新更新