dot() now always uses eigen3 convention, even in eigen2 support mode, even stage 10. Didn't have a choice as lots of eigen code is using it.

This commit is contained in:
Benoit Jacob
2011-01-27 12:04:26 -05:00
parent e761ba68f7
commit b2b8c6a89c
9 changed files with 26 additions and 38 deletions

View File

@@ -83,14 +83,10 @@ MatrixBase<Derived>::dot(const MatrixBase<OtherDerived>& other) const
eigen_assert(size() == other.size());
#if EIGEN2_SUPPORT_STAGE >= STAGE30_FULL_EIGEN3_API
return internal::dot_nocheck<Derived,OtherDerived>::run(*this, other);
#else
return internal::dot_nocheck<OtherDerived,Derived>::run(other,*this);
#endif
}
#if EIGEN2_SUPPORT_STAGE <= STAGE30_FULL_EIGEN3_API
#ifdef EIGEN2_SUPPORT
/** \returns the dot product of *this with other, with the Eigen2 convention that the dot product is linear in the first variable
* (conjugating the second variable). Of course this only makes a difference in the complex case.
*

View File

@@ -200,23 +200,15 @@ template<typename Derived> class MatrixBase
const DiagonalProduct<Derived, DiagonalDerived, OnTheRight>
operator*(const DiagonalBase<DiagonalDerived> &diagonal) const;
#if EIGEN2_SUPPORT_STAGE != STAGE20_RESOLVE_API_CONFLICTS
template<typename OtherDerived>
typename internal::scalar_product_traits<typename internal::traits<Derived>::Scalar,typename internal::traits<OtherDerived>::Scalar>::ReturnType
#if EIGEN2_SUPPORT_STAGE == STAGE15_RESOLVE_API_CONFLICTS_WARN
EIGEN_DEPRECATED
#endif
dot(const MatrixBase<OtherDerived>& other) const;
#endif
template<typename OtherDerived>
typename internal::scalar_product_traits<typename internal::traits<Derived>::Scalar,typename internal::traits<OtherDerived>::Scalar>::ReturnType
dot(const MatrixBase<OtherDerived>& other) const;
#ifdef EIGEN2_SUPPORT
template<typename OtherDerived>
#if EIGEN2_SUPPORT_STAGE >= STAGE30_FULL_EIGEN3_API
EIGEN_DEPRECATED
#endif
Scalar eigen2_dot(const MatrixBase<OtherDerived>& other) const;
#endif
RealScalar squaredNorm() const;
RealScalar norm() const;
RealScalar stableNorm() const;