diff options
author | Georg Drenkhahn <Georg.Drenkhahn@gmail.com> | 2014-09-20 15:00:36 +0200 |
---|---|---|
committer | Georg Drenkhahn <Georg.Drenkhahn@gmail.com> | 2014-09-20 15:00:36 +0200 |
commit | 3bd31e21b5aac1aaf1c0e217f472846450b2d5fb (patch) | |
tree | f2b9049d788dadd5f26a6d81aa34099f6a09ed3d /unsupported/Eigen/src/LevenbergMarquardt | |
parent | 75e269c77b82fdac35fa8516f256bb44df1e52cc (diff) |
Fixed compiler warning on implicit integer conversion by separating index type for matrix and permutation matrix which may not be equal.
Diffstat (limited to 'unsupported/Eigen/src/LevenbergMarquardt')
-rw-r--r-- | unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h b/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h index f5290dee4..db3a0ef2c 100644 --- a/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +++ b/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h @@ -19,18 +19,19 @@ namespace Eigen { namespace internal { -template <typename Scalar,int Rows, int Cols, typename Index> +template <typename Scalar,int Rows, int Cols, typename PermIndex> void lmqrsolv( Matrix<Scalar,Rows,Cols> &s, - const PermutationMatrix<Dynamic,Dynamic,Index> &iPerm, + const PermutationMatrix<Dynamic,Dynamic,PermIndex> &iPerm, const Matrix<Scalar,Dynamic,1> &diag, const Matrix<Scalar,Dynamic,1> &qtb, Matrix<Scalar,Dynamic,1> &x, Matrix<Scalar,Dynamic,1> &sdiag) { + typedef typename Matrix<Scalar,Rows,Cols>::Index Index; /* Local variables */ - Index i, j, k, l; + Index i, j, k; Scalar temp; Index n = s.cols(); Matrix<Scalar,Dynamic,1> wa(n); @@ -52,7 +53,7 @@ void lmqrsolv( /* prepare the row of d to be eliminated, locating the */ /* diagonal element using p from the qr factorization. */ - l = iPerm.indices()(j); + const PermIndex l = iPerm.indices()(j); if (diag[l] == 0.) break; sdiag.tail(n-j).setZero(); |