Eigen::VectorXi calculate_column_widths(const Eigen::MatrixXd& values, const Eigen::Matrix<std::string, Eigen::Dynamic, 1>& headers, const int sig_figs, Eigen::Matrix<std::ios_base::fmtflags, Eigen::Dynamic, 1>& formats) { int n = values.cols(); Eigen::VectorXi column_widths(n); formats.resize(n); for (int i = 0; i < n; i++) { column_widths(i) = calculate_column_width(values.col(i), headers(i), sig_figs, formats(i)); } return column_widths; }