make HessenbergDecompositionMatrixHReturnType internal

This commit is contained in:
Gael Guennebaud 2010-11-26 15:39:01 +01:00
parent e06c6553e0
commit d551e99644

View File

@ -26,14 +26,15 @@
#ifndef EIGEN_HESSENBERGDECOMPOSITION_H #ifndef EIGEN_HESSENBERGDECOMPOSITION_H
#define EIGEN_HESSENBERGDECOMPOSITION_H #define EIGEN_HESSENBERGDECOMPOSITION_H
template<typename MatrixType> struct HessenbergDecompositionMatrixHReturnType;
namespace internal { namespace internal {
template<typename MatrixType> struct HessenbergDecompositionMatrixHReturnType;
template<typename MatrixType> template<typename MatrixType>
struct traits<HessenbergDecompositionMatrixHReturnType<MatrixType> > struct traits<HessenbergDecompositionMatrixHReturnType<MatrixType> >
{ {
typedef MatrixType ReturnType; typedef MatrixType ReturnType;
}; };
} }
/** \eigenvalues_module \ingroup Eigenvalues_Module /** \eigenvalues_module \ingroup Eigenvalues_Module
@ -95,6 +96,8 @@ template<typename _MatrixType> class HessenbergDecomposition
/** \brief Return type of matrixQ() */ /** \brief Return type of matrixQ() */
typedef typename HouseholderSequence<MatrixType,CoeffVectorType>::ConjugateReturnType HouseholderSequenceType; typedef typename HouseholderSequence<MatrixType,CoeffVectorType>::ConjugateReturnType HouseholderSequenceType;
typedef internal::HessenbergDecompositionMatrixHReturnType<MatrixType> MatrixHReturnType;
/** \brief Default constructor; the decomposition will be computed later. /** \brief Default constructor; the decomposition will be computed later.
* *
@ -265,10 +268,10 @@ template<typename _MatrixType> class HessenbergDecomposition
* *
* \sa matrixQ(), packedMatrix() * \sa matrixQ(), packedMatrix()
*/ */
HessenbergDecompositionMatrixHReturnType<MatrixType> matrixH() const MatrixHReturnType matrixH() const
{ {
eigen_assert(m_isInitialized && "HessenbergDecomposition is not initialized."); eigen_assert(m_isInitialized && "HessenbergDecomposition is not initialized.");
return HessenbergDecompositionMatrixHReturnType<MatrixType>(*this); return MatrixHReturnType(*this);
} }
private: private:
@ -325,6 +328,8 @@ void HessenbergDecomposition<MatrixType>::_compute(MatrixType& matA, CoeffVector
} }
} }
namespace internal {
/** \eigenvalues_module \ingroup Eigenvalues_Module /** \eigenvalues_module \ingroup Eigenvalues_Module
* *
* *
@ -372,4 +377,6 @@ template<typename MatrixType> struct HessenbergDecompositionMatrixHReturnType
const HessenbergDecomposition<MatrixType>& m_hess; const HessenbergDecomposition<MatrixType>& m_hess;
}; };
}
#endif // EIGEN_HESSENBERGDECOMPOSITION_H #endif // EIGEN_HESSENBERGDECOMPOSITION_H