aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src
diff options
context:
space:
mode:
authorGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2010-01-07 22:00:45 -0500
committerGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2010-01-07 22:00:45 -0500
commitb05f59ee07d1d245db7ef6d6b1ba5c371e9b12e4 (patch)
tree21be445e7e626fcd117049c934fe64ee27b6bb3b /Eigen/src
parent58fb27cd566f4057cee914be4cfe4f87abe8dc04 (diff)
Diffstat (limited to 'Eigen/src')
-rw-r--r--Eigen/src/Core/BandMatrix.h18
-rw-r--r--Eigen/src/Householder/HouseholderSequence.h8
-rw-r--r--Eigen/src/QR/HouseholderQR.h2
3 files changed, 11 insertions, 17 deletions
diff --git a/Eigen/src/Core/BandMatrix.h b/Eigen/src/Core/BandMatrix.h
index 67684eca3..7943e6280 100644
--- a/Eigen/src/Core/BandMatrix.h
+++ b/Eigen/src/Core/BandMatrix.h
@@ -171,21 +171,15 @@ class BandMatrix : public AnyMatrixBase<BandMatrix<_Scalar,Rows,Cols,Supers,Subs
return Block<DataType,1,Dynamic>(m_data, supers()-i, std::max(0,i), 1, diagonalLength(i));
}
- template<typename Dest> inline void evalTo(Dest& dst) const
- {
- dst.resize(rows(),cols());
- dst.setZero();
- dst.diagonal() = diagonal();
- for (int i=1; i<=supers();++i)
- dst.diagonal(i) = diagonal(i);
- for (int i=1; i<=subs();++i)
- dst.diagonal(-i) = diagonal(-i);
- }
-
DenseMatrixType toDenseMatrix() const
{
DenseMatrixType res(rows(),cols());
- evalTo(res);
+ res.setZero();
+ res.diagonal() = diagonal();
+ for (int i=1; i<=supers();++i)
+ res.diagonal(i) = diagonal(i);
+ for (int i=1; i<=subs();++i)
+ res.diagonal(-i) = diagonal(-i);
return res;
}
diff --git a/Eigen/src/Householder/HouseholderSequence.h b/Eigen/src/Householder/HouseholderSequence.h
index ecdf903a1..26e0f6a88 100644
--- a/Eigen/src/Householder/HouseholderSequence.h
+++ b/Eigen/src/Householder/HouseholderSequence.h
@@ -105,10 +105,10 @@ template<typename VectorsType, typename CoeffsType> class HouseholderSequence
{
if(m_trans)
dst.corner(BottomRight, length-k, length-k)
- .applyHouseholderOnTheRight(m_vectors.col(k).tail(length-k-1), m_coeffs.coeff(k), &temp.coeffRef(0));
+ .applyHouseholderOnTheRight(m_vectors.col(k).tail(length-k-1), m_coeffs.coeff(k), &temp.coeffRef(0));
else
dst.corner(BottomRight, length-k, length-k)
- .applyHouseholderOnTheLeft(m_vectors.col(k).tail(length-k-1), m_coeffs.coeff(k), &temp.coeffRef(k));
+ .applyHouseholderOnTheLeft(m_vectors.col(k).tail(length-k-1), m_coeffs.coeff(k), &temp.coeffRef(k));
}
}
@@ -121,7 +121,7 @@ template<typename VectorsType, typename CoeffsType> class HouseholderSequence
for(int k = 0; k < vecs; ++k)
{
int actual_k = m_trans ? vecs-k-1 : k;
- dst.block(0, dst.cols()-length, dst.rows(), length-actual_k)
+ dst.corner(BottomRight, dst.rows(), length-actual_k)
.applyHouseholderOnTheRight(m_vectors.col(actual_k).tail(length-actual_k-1), m_coeffs.coeff(actual_k), &temp.coeffRef(0));
}
}
@@ -135,7 +135,7 @@ template<typename VectorsType, typename CoeffsType> class HouseholderSequence
for(int k = 0; k < vecs; ++k)
{
int actual_k = m_trans ? k : vecs-k-1;
- dst.block(dst.rows()-length, 0, length-actual_k, dst.cols())
+ dst.corner(BottomRight, length-actual_k, dst.cols())
.applyHouseholderOnTheLeft(m_vectors.col(actual_k).tail(length-actual_k-1), m_coeffs.coeff(actual_k), &temp.coeffRef(0));
}
}
diff --git a/Eigen/src/QR/HouseholderQR.h b/Eigen/src/QR/HouseholderQR.h
index 49ee1fa79..3afaed9e0 100644
--- a/Eigen/src/QR/HouseholderQR.h
+++ b/Eigen/src/QR/HouseholderQR.h
@@ -55,7 +55,7 @@ template<typename _MatrixType> class HouseholderQR
RowsAtCompileTime = MatrixType::RowsAtCompileTime,
ColsAtCompileTime = MatrixType::ColsAtCompileTime,
Options = MatrixType::Options,
- DiagSizeAtCompileTime = EIGEN_SIZE_MIN(ColsAtCompileTime,RowsAtCompileTime)
+ DiagSizeAtCompileTime = EIGEN_ENUM_MIN(ColsAtCompileTime,RowsAtCompileTime)
};
typedef typename MatrixType::Scalar Scalar;
typedef typename MatrixType::RealScalar RealScalar;