Make use of is_same_dense helper instead of extract_data to detect input/outputs are the same.

This commit is contained in:
Gael Guennebaud
2016-04-13 18:47:12 +02:00
parent b7716c0328
commit 6f960b83ff
4 changed files with 4 additions and 9 deletions

View File

@@ -243,9 +243,7 @@ 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
&& dst_data!=0 && dst_data == internal::extract_data(m_vectors))
if(is_same_dense(dst,m_vectors))
{
// in-place
dst.diagonal().setOnes();