Где MatrixXd и VectorXd определены в Eigen (c ++)?Я не могу найти их определение с помощью команды grep - PullRequest
0 голосов
/ 11 мая 2018

Я ищу по всему исходному коду Eigen (https://github.com/eigenteam/eigen-git-mirror),, но не могу точно определить определение некоторых типов, таких как MatrixXd и VectorXd.

Документ Eigen (https://eigen.tuxfamily.org/dox/group__matrixtypedefs.html#ga99b41a69f0bf64eadb63a97f357ab412) говорит, что MatrixXd определен как

typedef Matrix< double , Dynamic , Dynamic > Eigen::MatrixXd

, но я не нашел их в исходном коде.

1 Ответ

0 голосов
/ 11 мая 2018

MatrixXd определяется расширением макроса EIGEN_MAKE_TYPEDEFS_ALL_SIZES(double, d) в строке 451 Matrix.h .

Фактически, этот макрос в конечном итоге расширяется до typedefs для Matrix2d, Vector2d, RowVector2d, Matrix3d, Vector3d, RowVector3d, Matrix4d, Vector4d, RowVector4d, MatrixXd, VectorXd, RowVectorXd, Matrix2Xd, MatrixX2d, Matrix3Xd, MatrixX3d, Matrix4Xd и MatrixX4d.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...