デバッグ時によく使う自作関数
C++の話。
EigenのVectorXdとMatrixXdをよく利用する。
格納されている中身を確認する際に
毎回for文をまわすことが面倒に感じる。
したがって、以下の関数を作成した。
void cout_eig(MatrixXd mat) { for (int i = 0; i < mat.rows(); i++) { for (int j = 0; j < mat.cols(); j++) { std::cout << mat(i, j) << ","; } std::cout << endl; } return; } void cout_eig(VectorXd vec) { for (int i = 0; i < vec.size(); i++) { std::cout << vec(i) << ","; } std::cout << endl; return; }
関数をオーバーロードしているので、MatrixXdでもVectorXdでも、
値を表示させたい変数をcout_eig()関数の引数に入れるだけで値を表示できる。