diff options
author | Martijn Berger <mberger@denc.com> | 2015-12-10 14:37:46 +0300 |
---|---|---|
committer | Martijn Berger <mberger@denc.com> | 2015-12-10 14:37:46 +0300 |
commit | 9ad13d70faff0c510c313a7d58a58b974e8ce11f (patch) | |
tree | 3b7847573047815fc474105195d06c24cfefaaad /extern/Eigen3/Eigen/src/Cholesky/LLT.h | |
parent | ffc750a4fafc6fe4e6fb556506becaa0e1ce8c9a (diff) |
Update Eigen to version 3.2.7
The main purpose of this is to get MSVC 2015 fixes
Diffstat (limited to 'extern/Eigen3/Eigen/src/Cholesky/LLT.h')
-rw-r--r-- | extern/Eigen3/Eigen/src/Cholesky/LLT.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/extern/Eigen3/Eigen/src/Cholesky/LLT.h b/extern/Eigen3/Eigen/src/Cholesky/LLT.h index 2e6189f7dab..7c11a2dc29a 100644 --- a/extern/Eigen3/Eigen/src/Cholesky/LLT.h +++ b/extern/Eigen3/Eigen/src/Cholesky/LLT.h @@ -174,6 +174,12 @@ template<typename _MatrixType, int _UpLo> class LLT LLT rankUpdate(const VectorType& vec, const RealScalar& sigma = 1); protected: + + static void check_template_parameters() + { + EIGEN_STATIC_ASSERT_NON_INTEGER(Scalar); + } + /** \internal * Used to compute and store L * The strict upper part is not used and even not initialized. @@ -283,7 +289,7 @@ template<typename Scalar> struct llt_inplace<Scalar, Lower> return k; mat.coeffRef(k,k) = x = sqrt(x); if (k>0 && rs>0) A21.noalias() -= A20 * A10.adjoint(); - if (rs>0) A21 *= RealScalar(1)/x; + if (rs>0) A21 /= x; } return -1; } @@ -384,6 +390,8 @@ template<typename MatrixType> struct LLT_Traits<MatrixType,Upper> template<typename MatrixType, int _UpLo> LLT<MatrixType,_UpLo>& LLT<MatrixType,_UpLo>::compute(const MatrixType& a) { + check_template_parameters(); + eigen_assert(a.rows()==a.cols()); const Index size = a.rows(); m_matrix.resize(size, size); |