aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--Eigen/QR2
-rw-r--r--Eigen/src/Cholesky/LDLT.h26
-rw-r--r--Eigen/src/Core/MapBase.h9
-rw-r--r--test/mixingtypes.cpp4
4 files changed, 24 insertions, 17 deletions
diff --git a/Eigen/QR b/Eigen/QR
index 97907d1e5..5f36d0987 100644
--- a/Eigen/QR
+++ b/Eigen/QR
@@ -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)
diff --git a/test/mixingtypes.cpp b/test/mixingtypes.cpp
index ec8a0f190..d14232bd4 100644
--- a/test/mixingtypes.cpp
+++ b/test/mixingtypes.cpp
@@ -82,7 +82,7 @@ template<int SizeAtCompileType> void mixingtypes(int size = SizeAtCompileType)
void test_mixingtypes()
{
// check that our operator new is indeed called:
- CALL_SUBTEST(mixingtypes<3>());
- CALL_SUBTEST(mixingtypes<4>());
+ CALL_SUBTEST(mixingtypes<3>(3));
+ CALL_SUBTEST(mixingtypes<4>(4));
CALL_SUBTEST(mixingtypes<Dynamic>(20));
}