diff options
author | Gael Guennebaud <g.gael@free.fr> | 2009-07-20 13:27:41 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2009-07-20 13:27:41 +0200 |
commit | 4375c043ace44973d077bbe7b8ea1fb8ebf419a6 (patch) | |
tree | e14c445b21280cacc9a59fbd975e8efb130cfc9e /Eigen | |
parent | 4c85fa8c734c8d103343c163fe95e9ffdeb9f5aa (diff) |
minor compilation fixes for Sun CC and ICC
Diffstat (limited to 'Eigen')
-rw-r--r-- | Eigen/QR | 2 | ||||
-rw-r--r-- | Eigen/src/Cholesky/LDLT.h | 26 | ||||
-rw-r--r-- | Eigen/src/Core/MapBase.h | 9 |
3 files changed, 22 insertions, 15 deletions
@@ -41,7 +41,7 @@ namespace Eigen { // declare all classes for a given matrix type #define EIGEN_QR_MODULE_INSTANTIATE_TYPE(MATRIXTYPE,PREFIX) \ - PREFIX template class QR<MATRIXTYPE>; \ + PREFIX template class HouseholderQR<MATRIXTYPE>; \ PREFIX template class Tridiagonalization<MATRIXTYPE>; \ PREFIX template class HessenbergDecomposition<MATRIXTYPE>; \ PREFIX template class SelfAdjointEigenSolver<MATRIXTYPE> diff --git a/Eigen/src/Cholesky/LDLT.h b/Eigen/src/Cholesky/LDLT.h index 94660245e..a308b22d5 100644 --- a/Eigen/src/Cholesky/LDLT.h +++ b/Eigen/src/Cholesky/LDLT.h @@ -62,7 +62,7 @@ template<typename MatrixType> class LDLT typedef Matrix<int, MatrixType::RowsAtCompileTime, 1> IntColVectorType; typedef Matrix<int, 1, MatrixType::RowsAtCompileTime> IntRowVectorType; - /** + /** * \brief Default Constructor. * * The default constructor is useful in cases in which the user intends to @@ -80,10 +80,10 @@ template<typename MatrixType> class LDLT } /** \returns the lower triangular matrix L */ - inline Part<MatrixType, UnitLowerTriangular> matrixL(void) const - { + inline Part<MatrixType, UnitLowerTriangular> matrixL(void) const + { ei_assert(m_isInitialized && "LDLT is not initialized."); - return m_matrix; + return m_matrix; } /** \returns a vector of integers, whose size is the number of rows of the matrix being decomposed, @@ -97,24 +97,24 @@ template<typename MatrixType> class LDLT } /** \returns the coefficients of the diagonal matrix D */ - inline Diagonal<MatrixType,0> vectorD(void) const - { + inline Diagonal<MatrixType,0> vectorD(void) const + { ei_assert(m_isInitialized && "LDLT is not initialized."); - return m_matrix.diagonal(); + return m_matrix.diagonal(); } /** \returns true if the matrix is positive (semidefinite) */ - inline bool isPositive(void) const - { + inline bool isPositive(void) const + { ei_assert(m_isInitialized && "LDLT is not initialized."); - return m_sign == 1; + return m_sign == 1; } /** \returns true if the matrix is negative (semidefinite) */ - inline bool isNegative(void) const - { + inline bool isNegative(void) const + { ei_assert(m_isInitialized && "LDLT is not initialized."); - return m_sign == -1; + return m_sign == -1; } template<typename RhsDerived, typename ResultType> diff --git a/Eigen/src/Core/MapBase.h b/Eigen/src/Core/MapBase.h index 59bf69ad6..0b7d815fb 100644 --- a/Eigen/src/Core/MapBase.h +++ b/Eigen/src/Core/MapBase.h @@ -178,7 +178,14 @@ template<typename Derived> class MapBase } using Base::operator*=; - using Base::operator+=; + + template<typename Lhs,typename Rhs> + Derived& operator+=(const Flagged<Product<Lhs,Rhs,CacheFriendlyProduct>, 0, EvalBeforeNestingBit | EvalBeforeAssigningBit>& other) + { return Base::operator+=(other); } + + template<typename Lhs,typename Rhs> + Derived& operator-=(const Flagged<Product<Lhs,Rhs,CacheFriendlyProduct>, 0, EvalBeforeNestingBit | EvalBeforeAssigningBit>& other) + { return Base::operator-=(other); } template<typename OtherDerived> Derived& operator+=(const MatrixBase<OtherDerived>& other) |