This commit is contained in:
Gael Guennebaud 2010-05-31 22:53:02 +02:00
parent 0bb8688d70
commit c76c8d6917

View File

@ -160,13 +160,15 @@ template<typename ExpressionType, int Direction> class PartialRedux
public: public:
typedef typename ei_traits<ExpressionType>::Scalar Scalar; typedef typename ei_traits<ExpressionType>::Scalar Scalar;
typedef typename NumTraits<Scalar>::Real RealScalar;
typedef typename ei_meta_if<ei_must_nest_by_value<ExpressionType>::ret, typedef typename ei_meta_if<ei_must_nest_by_value<ExpressionType>::ret,
ExpressionType, const ExpressionType&>::ret ExpressionTypeNested; ExpressionType, const ExpressionType&>::ret ExpressionTypeNested;
template<template<typename _Scalar> class Functor> struct ReturnType template<template<typename _Scalar> class Functor,
typename Scalar = typename ei_traits<ExpressionType>::Scalar> struct ReturnType
{ {
typedef PartialReduxExpr<ExpressionType, typedef PartialReduxExpr<ExpressionType,
Functor<typename ei_traits<ExpressionType>::Scalar>, Functor<Scalar>,
Direction Direction
> Type; > Type;
}; };
@ -217,7 +219,7 @@ template<typename ExpressionType, int Direction> class PartialRedux
* Output: \verbinclude PartialRedux_squaredNorm.out * Output: \verbinclude PartialRedux_squaredNorm.out
* *
* \sa MatrixBase::squaredNorm() */ * \sa MatrixBase::squaredNorm() */
const typename ReturnType<ei_member_squaredNorm>::Type squaredNorm() const const typename ReturnType<ei_member_squaredNorm,RealScalar>::Type squaredNorm() const
{ return _expression(); } { return _expression(); }
/** \returns a row (or column) vector expression of the norm /** \returns a row (or column) vector expression of the norm
@ -227,7 +229,7 @@ template<typename ExpressionType, int Direction> class PartialRedux
* Output: \verbinclude PartialRedux_norm.out * Output: \verbinclude PartialRedux_norm.out
* *
* \sa MatrixBase::norm() */ * \sa MatrixBase::norm() */
const typename ReturnType<ei_member_norm>::Type norm() const const typename ReturnType<ei_member_norm,RealScalar>::Type norm() const
{ return _expression(); } { return _expression(); }
/** \returns a row (or column) vector expression of the sum /** \returns a row (or column) vector expression of the sum