aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--Eigen/src/Core/PermutationMatrix.h18
-rw-r--r--test/array_reverse.cpp4
-rw-r--r--test/permutationmatrices.cpp23
-rw-r--r--test/product_extra.cpp12
-rw-r--r--unsupported/test/polynomialsolver.cpp3
5 files changed, 31 insertions, 29 deletions
diff --git a/Eigen/src/Core/PermutationMatrix.h b/Eigen/src/Core/PermutationMatrix.h
index 42832265d..a996e8f1e 100644
--- a/Eigen/src/Core/PermutationMatrix.h
+++ b/Eigen/src/Core/PermutationMatrix.h
@@ -127,7 +127,7 @@ class PermutationMatrix : public EigenBase<PermutationMatrix<SizeAtCompileTime,
PermutationMatrix& operator=(const Transpositions<OtherSize,OtherMaxSize>& tr)
{
setIdentity(tr.size());
- for(int k=size()-1; k>=0; --k)
+ for(Index k=size()-1; k>=0; --k)
applyTranspositionOnTheRight(k,tr.coeff(k));
return *this;
}
@@ -144,13 +144,13 @@ class PermutationMatrix : public EigenBase<PermutationMatrix<SizeAtCompileTime,
#endif
/** \returns the number of rows */
- inline int rows() const { return m_indices.size(); }
+ inline Index rows() const { return m_indices.size(); }
/** \returns the number of columns */
- inline int cols() const { return m_indices.size(); }
+ inline Index cols() const { return m_indices.size(); }
/** \returns the size of a side of the respective square matrix, i.e., the number of indices */
- inline int size() const { return m_indices.size(); }
+ inline Index size() const { return m_indices.size(); }
#ifndef EIGEN_PARSED_BY_DOXYGEN
template<typename DenseDerived>
@@ -178,7 +178,7 @@ class PermutationMatrix : public EigenBase<PermutationMatrix<SizeAtCompileTime,
/** Resizes to given size.
*/
- inline void resize(int size)
+ inline void resize(Index size)
{
m_indices.resize(size);
}
@@ -186,7 +186,7 @@ class PermutationMatrix : public EigenBase<PermutationMatrix<SizeAtCompileTime,
/** Sets *this to be the identity permutation matrix */
void setIdentity()
{
- for(int i = 0; i < m_indices.size(); ++i)
+ for(Index i = 0; i < m_indices.size(); ++i)
m_indices.coeffRef(i) = i;
}
@@ -207,10 +207,10 @@ class PermutationMatrix : public EigenBase<PermutationMatrix<SizeAtCompileTime,
*
* \sa applyTranspositionOnTheRight(int,int)
*/
- PermutationMatrix& applyTranspositionOnTheLeft(int i, int j)
+ PermutationMatrix& applyTranspositionOnTheLeft(Index i, Index j)
{
ei_assert(i>=0 && j>=0 && i<m_indices.size() && j<m_indices.size());
- for(int k = 0; k < m_indices.size(); ++k)
+ for(Index k = 0; k < m_indices.size(); ++k)
{
if(m_indices.coeff(k) == i) m_indices.coeffRef(k) = j;
else if(m_indices.coeff(k) == j) m_indices.coeffRef(k) = i;
@@ -226,7 +226,7 @@ class PermutationMatrix : public EigenBase<PermutationMatrix<SizeAtCompileTime,
*
* \sa applyTranspositionOnTheLeft(int,int)
*/
- PermutationMatrix& applyTranspositionOnTheRight(int i, int j)
+ PermutationMatrix& applyTranspositionOnTheRight(Index i, Index j)
{
ei_assert(i>=0 && j>=0 && i<m_indices.size() && j<m_indices.size());
std::swap(m_indices.coeffRef(i), m_indices.coeffRef(j));
diff --git a/test/array_reverse.cpp b/test/array_reverse.cpp
index 144a0b088..1461900c3 100644
--- a/test/array_reverse.cpp
+++ b/test/array_reverse.cpp
@@ -106,8 +106,8 @@ template<typename MatrixType> void reverse(const MatrixType& m)
Scalar x = ei_random<Scalar>();
- int r = ei_random<int>(0, rows-1),
- c = ei_random<int>(0, cols-1);
+ Index r = ei_random<Index>(0, rows-1),
+ c = ei_random<Index>(0, cols-1);
m1.reverse()(r, c) = x;
VERIFY_IS_APPROX(x, m1(rows - 1 - r, cols - 1 - c));
diff --git a/test/permutationmatrices.cpp b/test/permutationmatrices.cpp
index d3cdfeca0..880cd87a9 100644
--- a/test/permutationmatrices.cpp
+++ b/test/permutationmatrices.cpp
@@ -25,17 +25,18 @@
#include "main.h"
template<typename PermutationVectorType>
-void randomPermutationVector(PermutationVectorType& v, int size)
+void randomPermutationVector(PermutationVectorType& v, typename PermutationVectorType::Index size)
{
+ typedef typename PermutationVectorType::Index Index;
typedef typename PermutationVectorType::Scalar Scalar;
v.resize(size);
- for(int i = 0; i < size; ++i) v(i) = Scalar(i);
+ for(Index i = 0; i < size; ++i) v(i) = Scalar(i);
if(size == 1) return;
- for(int n = 0; n < 3 * size; ++n)
+ for(Index n = 0; n < 3 * size; ++n)
{
- int i = ei_random<int>(0, size-1);
- int j;
- do j = ei_random<int>(0, size-1); while(j==i);
+ Index i = ei_random<Index>(0, size-1);
+ Index j;
+ do j = ei_random<Index>(0, size-1); while(j==i);
std::swap(v(i), v(j));
}
}
@@ -107,17 +108,17 @@ template<typename MatrixType> void permutationmatrices(const MatrixType& m)
if(rows>1 && cols>1)
{
lp2 = lp;
- int i = ei_random<int>(0, rows-1);
- int j;
- do j = ei_random<int>(0, rows-1); while(j==i);
+ Index i = ei_random<Index>(0, rows-1);
+ Index j;
+ do j = ei_random<Index>(0, rows-1); while(j==i);
lp2.applyTranspositionOnTheLeft(i, j);
lm = lp;
lm.row(i).swap(lm.row(j));
VERIFY_IS_APPROX(lm, lp2.toDenseMatrix().template cast<Scalar>());
RightPermutationType rp2 = rp;
- i = ei_random<int>(0, cols-1);
- do j = ei_random<int>(0, cols-1); while(j==i);
+ i = ei_random<Index>(0, cols-1);
+ do j = ei_random<Index>(0, cols-1); while(j==i);
rp2.applyTranspositionOnTheRight(i, j);
rm = rp;
rm.col(i).swap(rm.col(j));
diff --git a/test/product_extra.cpp b/test/product_extra.cpp
index e53d675c3..b55d3d5ed 100644
--- a/test/product_extra.cpp
+++ b/test/product_extra.cpp
@@ -105,12 +105,12 @@ template<typename MatrixType> void product_extra(const MatrixType& m)
(-m1.adjoint()*s2).eval() * (s1 * v1.adjoint()).eval());
// test the vector-matrix product with non aligned starts
- int i = ei_random<int>(0,m1.rows()-2);
- int j = ei_random<int>(0,m1.cols()-2);
- int r = ei_random<int>(1,m1.rows()-i);
- int c = ei_random<int>(1,m1.cols()-j);
- int i2 = ei_random<int>(0,m1.rows()-1);
- int j2 = ei_random<int>(0,m1.cols()-1);
+ Index i = ei_random<Index>(0,m1.rows()-2);
+ Index j = ei_random<Index>(0,m1.cols()-2);
+ Index r = ei_random<Index>(1,m1.rows()-i);
+ Index c = ei_random<Index>(1,m1.cols()-j);
+ Index i2 = ei_random<Index>(0,m1.rows()-1);
+ Index j2 = ei_random<Index>(0,m1.cols()-1);
VERIFY_IS_APPROX(m1.col(j2).adjoint() * m1.block(0,j,m1.rows(),c), m1.col(j2).adjoint().eval() * m1.block(0,j,m1.rows(),c).eval());
VERIFY_IS_APPROX(m1.block(i,0,r,m1.cols()) * m1.row(i2).adjoint(), m1.block(i,0,r,m1.cols()).eval() * m1.row(i2).adjoint().eval());
diff --git a/unsupported/test/polynomialsolver.cpp b/unsupported/test/polynomialsolver.cpp
index 1f2d7e1f3..f6a574a60 100644
--- a/unsupported/test/polynomialsolver.cpp
+++ b/unsupported/test/polynomialsolver.cpp
@@ -47,12 +47,13 @@ struct ei_increment_if_fixed_size
template<int Deg, typename POLYNOMIAL, typename SOLVER>
bool aux_evalSolver( const POLYNOMIAL& pols, SOLVER& psolve )
{
+ typedef typename POLYNOMIAL::Index Index;
typedef typename POLYNOMIAL::Scalar Scalar;
typedef typename SOLVER::RootsType RootsType;
typedef Matrix<Scalar,Deg,1> EvalRootsType;
- const int deg = pols.size()-1;
+ const Index deg = pols.size()-1;
psolve.compute( pols );
const RootsType& roots( psolve.roots() );