Как проверить номер версии библиотеки шаблонов Eigen С++?
Я добавил несколько разных версий Eigen по умолчанию, включая каталог Visual С++.
Но у меня возникла проблема развала при использовании LDLT
(декомпозиция Холески) для некоторых из числовых примеров тестирования.
Итак, я хочу определить, какая версия действительно активна при отладке кода.
Есть ли какая-либо функция, которая может указывать текущий активный номер версии Eigen?
Ответы
Ответ 1
Этот ответ является только резюме из комментариев выше:
-
Во время компиляции у вас есть EIGEN_WORLD_VERSION
, EIGEN_MAJOR_VERSION
и EIGEN_MINOR_VERSION
, вы можете легко вставить эту информацию в
ваше приложение.
-
3.1.91
звучит как beta version
of 3.2
.
-
Макросы номера версии определяются в Macros.h
, расположенном по адресу
\Eigen\src\Core\util\
.
Ответ 2
Хотя это не цель OP, люди, находящие этот вопрос, могут быть заинтересованы в проверке того, равна ли версия более новой, чем конкретная версия по соображениям совместимости с разными версиями Eigen. Это можно сделать более легко с помощью макроса EIGEN_VERSION_AT_LEAST(x, y, z)
следующим образом:
#if EIGEN_VERSION_AT_LEAST(3,3,0)
// Implementation for Eigen 3.3.0 and newer
#else
// Implementation for older Eigen versions
#endif
Этот макрос также определяется в Eigen/src/Core/util/Macros.h
и использует EIGEN_WORLD_VERSION
, EIGEN_MAJOR_VERSION
и EIGEN_MINOR_VERSION
внутренне.
Ответ 3
Чтобы проверить номер версии библиотеки шаблонов Eigen С++, просто введите
dpkg -p libeigen3-dev
в терминале.
Или просто введите
pkg-config --modversion eigen3
вы получите версию Eigen.