* change the nesting order of adjoint_return_type to

1 - make it easier to catch conjugate expressions
 2 - make sure there is no unecessary copy (we had NestByValue<Derived> which seems to be very bad)
* update eigensolver wrt recent changes
This commit is contained in:
Gael Guennebaud
2009-07-07 15:56:13 +02:00
parent 79877a9917
commit ea23f36c78
5 changed files with 18 additions and 12 deletions

View File

@@ -697,7 +697,8 @@ struct ei_cache_friendly_product_selector<ProductType,1,LhsOrder,LhsAccess,RhsCo
{};
/** \internal */
/** \internal
* Overloaded to perform an efficient C += A*B */
template<typename Derived>
template<typename Lhs,typename Rhs>
inline Derived&
@@ -710,7 +711,8 @@ MatrixBase<Derived>::operator+=(const Flagged<Product<Lhs,Rhs,CacheFriendlyProdu
return derived();
}
/** \internal */
/** \internal
* Overloaded to perform an efficient C -= A*B */
template<typename Derived>
template<typename Lhs,typename Rhs>
inline Derived&
@@ -723,6 +725,8 @@ MatrixBase<Derived>::operator-=(const Flagged<Product<Lhs,Rhs,CacheFriendlyProdu
return derived();
}
/** \internal
* Overloaded to perform an efficient C = A*B */
template<typename Derived>
template<typename Lhs, typename Rhs>
inline Derived& MatrixBase<Derived>::lazyAssign(const Product<Lhs,Rhs,CacheFriendlyProduct>& product)