From 58ba9ca72f1a7c0f3f81ce1bf01e7410900682c0 Mon Sep 17 00:00:00 2001 From: Benoit Jacob Date: Thu, 7 Aug 2008 04:31:05 +0000 Subject: LU: remove partial-pivoting path (moderately useful since it's does not allow to easily get the rank), fix a bug (which could have been triggered by matrices having coefficients of very different magnitudes). Part: add an assert to prevent hard to find bugs Swap: update comments --- Eigen/src/Core/Swap.h | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) (limited to 'Eigen/src/Core/Swap.h') diff --git a/Eigen/src/Core/Swap.h b/Eigen/src/Core/Swap.h index 0ee57017e..99ca5f72c 100644 --- a/Eigen/src/Core/Swap.h +++ b/Eigen/src/Core/Swap.h @@ -27,14 +27,9 @@ /** \class SwapWrapper * - * \brief Expression which must be nested by value + * \internal * - * \param ExpressionType the type of the object of which we are requiring nesting-by-value - * - * This class is the return type of MatrixBase::nestByValue() - * and most of the time this is the only way it is used. - * - * \sa MatrixBase::nestByValue() + * \brief Internal helper class for swapping two expressions */ template struct ei_traits > @@ -116,12 +111,10 @@ template class SwapWrapper /** swaps *this with the expression \a other. * - * \note \a other is only marked const because I couln't find another way - * to get g++ (4.2 and 4.3) to accept that template parameter resolution. - * The problem seems to be that when swapping expressions as in - * m.row(i).swap(m.row(j)); the Row object returned by row(j) is a temporary - * and g++ doesn't dare to pass it by non-constant reference. - * It gets const_cast'd of course. TODO: get rid of const here. + * \note \a other is only marked for internal reasons, but of course + * it gets const-casted. One reason is that one will often call swap + * on temporary objects (hence non-const references are forbidden). + * Another reason is that lazyAssign takes a const argument anyway. */ template template @@ -131,3 +124,9 @@ void MatrixBase::swap(const MatrixBase& other) } #endif // EIGEN_SWAP_H + + + + + + -- cgit v1.2.3