10 #include <Eigen/Dense>
11 #include <gtest/gtest.h>
13 using namespace Eigen;
17 #if defined(_MSC_VER) && (_MSC_VER >= 1300)
18 #define __CURRENT_FUNCTION_NAME__ __FUNCTION__
19 #elif defined(_MSC_VER) && (_MSC_VER < 1300)
21 #define __CURRENT_FUNCTION_NAME__ ::system::extractFileName(__FILE__).c_str()
23 #define __CURRENT_FUNCTION_NAME__ __PRETTY_FUNCTION__
28 template <
int ColRowOrder>
29 void do_test_EigenVal4x4_sym_vs_generic_eigen()
31 using Mat44 = Matrix<double,4,4,ColRowOrder>;
33 const double dat_C1[] = {
34 13.737245,10.248641,-5.839599,11.108320,
35 10.248641,14.966139,-5.259922,11.662222,
36 -5.839599,-5.259922,9.608822,-4.342505,
37 11.108320,11.662222,-4.342505,12.121940 };
38 const Mat44 C1(dat_C1);
47 <<
"SelfAdjointEigenSolver:\n"
48 <<
"eigvecs: " << endl << eigensolver.eigenvectors() << endl
49 <<
"eigvals: " << endl << eigensolver.eigenvalues() << endl;
52 Eigen::EigenSolver<Mat44> es(C1,
true);
58 <<
"eigvecs: " << endl << es.eigenvectors() << endl
59 <<
"eigvals: " << endl << es.eigenvalues() << endl;
63 TEST(MatricesEigen,EigenVal4x4_sym_vs_generic)
65 do_test_EigenVal4x4_sym_vs_generic_eigen<Eigen::ColMajor>();
66 do_test_EigenVal4x4_sym_vs_generic_eigen<Eigen::RowMajor>();