fix sparse squared norm

This commit is contained in:
Gael Guennebaud 2010-04-13 10:40:55 +02:00
parent 614fbe497d
commit a2324d6265
2 changed files with 7 additions and 5 deletions

View File

@ -84,7 +84,7 @@ template<typename Derived>
inline typename NumTraits<typename ei_traits<Derived>::Scalar>::Real inline typename NumTraits<typename ei_traits<Derived>::Scalar>::Real
SparseMatrixBase<Derived>::squaredNorm() const SparseMatrixBase<Derived>::squaredNorm() const
{ {
return ei_real((*this).cwise().abs2().sum()); return ei_real((*this).cwiseAbs2().sum());
} }
template<typename Derived> template<typename Derived>

View File

@ -86,6 +86,8 @@ template<typename Scalar> void sparse_vector(int rows, int cols)
VERIFY_IS_APPROX(v1.dot(v2), refV1.dot(refV2)); VERIFY_IS_APPROX(v1.dot(v2), refV1.dot(refV2));
VERIFY_IS_APPROX(v1.dot(refV2), refV1.dot(refV2)); VERIFY_IS_APPROX(v1.dot(refV2), refV1.dot(refV2));
VERIFY_IS_APPROX(v1.squaredNorm(), refV1.squaredNorm());
} }
void test_sparse_vector() void test_sparse_vector()