mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
Several compilation fixes for MSVC and NVCC, basically:
- added explicit enum to int conversion where needed - if a function is not defined as declared and the return type is "tricky" then the type must be typedefined somewhere. A "tricky return type" can be: * a template class with a default parameter which depends on another template parameter * a nested template class, or type of a nested template class
This commit is contained in:
@@ -168,7 +168,7 @@ MatrixType QR<MatrixType>::matrixQ(void) const
|
||||
* \sa class QR
|
||||
*/
|
||||
template<typename Derived>
|
||||
const QR<typename ei_eval<Derived>::type>
|
||||
const QR<typename MatrixBase<Derived>::EvalType>
|
||||
MatrixBase<Derived>::qr() const
|
||||
{
|
||||
return QR<typename ei_eval<Derived>::type>(derived());
|
||||
|
||||
@@ -41,6 +41,7 @@ template<typename _MatrixType> class SelfAdjointEigenSolver
|
||||
{
|
||||
public:
|
||||
|
||||
enum {Size = _MatrixType::RowsAtCompileTime };
|
||||
typedef _MatrixType MatrixType;
|
||||
typedef typename MatrixType::Scalar Scalar;
|
||||
typedef typename NumTraits<Scalar>::Real RealScalar;
|
||||
@@ -49,6 +50,18 @@ template<typename _MatrixType> class SelfAdjointEigenSolver
|
||||
typedef Matrix<RealScalar, Dynamic, 1> RealVectorTypeX;
|
||||
typedef Tridiagonalization<MatrixType> TridiagonalizationType;
|
||||
|
||||
SelfAdjointEigenSolver()
|
||||
: m_eivec(Size, Size),
|
||||
m_eivalues(Size)
|
||||
{
|
||||
ei_assert(Size!=Dynamic);
|
||||
}
|
||||
|
||||
SelfAdjointEigenSolver(int size)
|
||||
: m_eivec(size, size),
|
||||
m_eivalues(size)
|
||||
{}
|
||||
|
||||
/** Constructors computing the eigenvalues of the selfadjoint matrix \a matrix,
|
||||
* as well as the eigenvectors if \a computeEigenvectors is true.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user