* make LU::kernel() and LU::image() also use ReturnByValue

* make them return zero vector in the degenerate case, instead of asserting
  (let's stick to the principle that we only assert on memory errors)
This commit is contained in:
Benoit Jacob
2009-09-22 00:16:51 -04:00
parent 0ad3494bd3
commit 4f9e270343
3 changed files with 229 additions and 211 deletions

View File

@@ -51,9 +51,9 @@ struct ei_nested<ReturnByValue<Derived>, n, PlainMatrixType>
template<typename Derived>
class ReturnByValue : public MatrixBase<ReturnByValue<Derived> >
{
typedef typename ei_traits<Derived>::ReturnMatrixType ReturnMatrixType;
public:
EIGEN_GENERIC_PUBLIC_INTERFACE(ReturnByValue)
typedef typename ei_traits<Derived>::ReturnMatrixType ReturnMatrixType;
template<typename Dest>
inline void evalTo(Dest& dst) const
{ static_cast<const Derived* const>(this)->evalTo(dst); }