aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Householder
diff options
context:
space:
mode:
authorGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2010-12-22 17:45:37 -0500
committerGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2010-12-22 17:45:37 -0500
commit75b7d98665dd144c44d7a113c6613f5f998be626 (patch)
treebc75d316e2ed8e679e744bc34f159dcb0f285243 /Eigen/src/Householder
parent3b6d97b51a7e7a4b0c69ae6be44b1c16d72c2e80 (diff)
bug #54 - really fix const correctness except in Sparse
Diffstat (limited to 'Eigen/src/Householder')
-rw-r--r--Eigen/src/Householder/Householder.h2
-rw-r--r--Eigen/src/Householder/HouseholderSequence.h8
2 files changed, 5 insertions, 5 deletions
diff --git a/Eigen/src/Householder/Householder.h b/Eigen/src/Householder/Householder.h
index 7d77cd6e6..9ade04c19 100644
--- a/Eigen/src/Householder/Householder.h
+++ b/Eigen/src/Householder/Householder.h
@@ -65,7 +65,7 @@ void MatrixBase<Derived>::makeHouseholder(
RealScalar& beta) const
{
EIGEN_STATIC_ASSERT_VECTOR_ONLY(EssentialPart)
- VectorBlock<Derived, EssentialPart::SizeAtCompileTime> tail(derived(), 1, size()-1);
+ VectorBlock<const Derived, EssentialPart::SizeAtCompileTime> tail(derived(), 1, size()-1);
RealScalar tailSqNorm = size()==1 ? RealScalar(0) : tail.squaredNorm();
Scalar c0 = coeff(0);
diff --git a/Eigen/src/Householder/HouseholderSequence.h b/Eigen/src/Householder/HouseholderSequence.h
index 3b740a4fb..d6260cf77 100644
--- a/Eigen/src/Householder/HouseholderSequence.h
+++ b/Eigen/src/Householder/HouseholderSequence.h
@@ -71,26 +71,26 @@ struct traits<HouseholderSequence<VectorsType,CoeffsType,Side> >
template<typename VectorsType, typename CoeffsType, int Side>
struct hseq_side_dependent_impl
{
- typedef Block<VectorsType, Dynamic, 1> EssentialVectorType;
+ typedef Block<const VectorsType, Dynamic, 1> EssentialVectorType;
typedef HouseholderSequence<VectorsType, CoeffsType, OnTheLeft> HouseholderSequenceType;
typedef typename VectorsType::Index Index;
static inline const EssentialVectorType essentialVector(const HouseholderSequenceType& h, Index k)
{
Index start = k+1+h.m_shift;
- return Block<VectorsType,Dynamic,1>(h.m_vectors, start, k, h.rows()-start, 1);
+ return Block<const VectorsType,Dynamic,1>(h.m_vectors, start, k, h.rows()-start, 1);
}
};
template<typename VectorsType, typename CoeffsType>
struct hseq_side_dependent_impl<VectorsType, CoeffsType, OnTheRight>
{
- typedef Transpose<Block<VectorsType, 1, Dynamic> > EssentialVectorType;
+ typedef Transpose<Block<const VectorsType, 1, Dynamic> > EssentialVectorType;
typedef HouseholderSequence<VectorsType, CoeffsType, OnTheRight> HouseholderSequenceType;
typedef typename VectorsType::Index Index;
static inline const EssentialVectorType essentialVector(const HouseholderSequenceType& h, Index k)
{
Index start = k+1+h.m_shift;
- return Block<VectorsType,1,Dynamic>(h.m_vectors, k, start, 1, h.rows()-start).transpose();
+ return Block<const VectorsType,1,Dynamic>(h.m_vectors, k, start, 1, h.rows()-start).transpose();
}
};