aboutsummaryrefslogtreecommitdiffhomepage
path: root/unsupported/Eigen/src/LevenbergMarquardt
diff options
context:
space:
mode:
authorGravatar Georg Drenkhahn <Georg.Drenkhahn@gmail.com>2014-09-20 15:00:36 +0200
committerGravatar Georg Drenkhahn <Georg.Drenkhahn@gmail.com>2014-09-20 15:00:36 +0200
commit3bd31e21b5aac1aaf1c0e217f472846450b2d5fb (patch)
treef2b9049d788dadd5f26a6d81aa34099f6a09ed3d /unsupported/Eigen/src/LevenbergMarquardt
parent75e269c77b82fdac35fa8516f256bb44df1e52cc (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.h9
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();