aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2016-04-13 18:32:56 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2016-04-13 18:32:56 +0200
commitb7716c032893f4cc6f0e635bcffc2d8bc3d956ab (patch)
tree0624876b6adb34254e958a4d89b2fd61ef9bcb66 /Eigen
parent2630d97c625d642a205ecf00723efd8e28b9639e (diff)
Fix incomplete previous patch on matrix comparision.
Diffstat (limited to 'Eigen')
-rw-r--r--Eigen/src/Core/ProductEvaluators.h2
-rw-r--r--Eigen/src/Householder/HouseholderSequence.h3
2 files changed, 3 insertions, 2 deletions
diff --git a/Eigen/src/Core/ProductEvaluators.h b/Eigen/src/Core/ProductEvaluators.h
index bd63b87ff..2cdcf1c02 100644
--- a/Eigen/src/Core/ProductEvaluators.h
+++ b/Eigen/src/Core/ProductEvaluators.h
@@ -1007,7 +1007,7 @@ struct transposition_matrix_product
StorageIndex j = 0;
const typename Dest::Scalar *dst_data = internal::extract_data(dst);
- if(!(is_same<MatrixTypeCleaned,Dest>::value && dst_data == extract_data(mat)))
+ if(!(is_same<MatrixTypeCleaned,Dest>::value && dst_data!=0 && dst_data == extract_data(mat)))
dst = mat;
for(Index k=(Transposed?size-1:0) ; Transposed?k>=0:k<size ; Transposed?--k:++k)
diff --git a/Eigen/src/Householder/HouseholderSequence.h b/Eigen/src/Householder/HouseholderSequence.h
index 74cd0a472..3f5f9293b 100644
--- a/Eigen/src/Householder/HouseholderSequence.h
+++ b/Eigen/src/Householder/HouseholderSequence.h
@@ -243,8 +243,9 @@ template<typename VectorsType, typename CoeffsType, int Side> class HouseholderS
{
workspace.resize(rows());
Index vecs = m_length;
+ const typename Dest::Scalar *dst_data = internal::extract_data(dst);
if( internal::is_same<typename internal::remove_all<VectorsType>::type,Dest>::value
- && internal::extract_data(dst) == internal::extract_data(m_vectors))
+ && dst_data!=0 && dst_data == internal::extract_data(m_vectors))
{
// in-place
dst.diagonal().setOnes();