diff options
author | Benoit Jacob <jacob.benoit.1@gmail.com> | 2008-03-12 17:17:36 +0000 |
---|---|---|
committer | Benoit Jacob <jacob.benoit.1@gmail.com> | 2008-03-12 17:17:36 +0000 |
commit | 2ee68a074efc1163358fb3b51fb4b23e83a05f97 (patch) | |
tree | 48df581770a55f8eb9f632aee54c777816478b64 /Eigen/src/Core/Dot.h | |
parent | 01572b9f54e769a7d1bb3d5073c264a5fbc7ce42 (diff) |
generalized ei_traits<>.
Finally the importing macro is named EIGEN_BASIC_PUBLIC_INTERFACE
because it does not only import the ei_traits, it also makes the base class
a friend, etc.
Diffstat (limited to 'Eigen/src/Core/Dot.h')
-rw-r--r-- | Eigen/src/Core/Dot.h | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/Eigen/src/Core/Dot.h b/Eigen/src/Core/Dot.h index 03764ba34..f4d13e517 100644 --- a/Eigen/src/Core/Dot.h +++ b/Eigen/src/Core/Dot.h @@ -69,18 +69,18 @@ struct DotUnroller<Index, 0, Derived1, Derived2> */ template<typename Derived> template<typename OtherDerived> -typename Scalar<Derived>::Type +typename ei_traits<Derived>::Scalar MatrixBase<Derived>::dot(const MatrixBase<OtherDerived>& other) const { - assert(Traits::IsVectorAtCompileTime - && OtherDerived::Traits::IsVectorAtCompileTime + assert(IsVectorAtCompileTime + && OtherDerived::IsVectorAtCompileTime && size() == other.size()); Scalar res; if(EIGEN_UNROLLED_LOOPS - && Traits::SizeAtCompileTime != Dynamic - && Traits::SizeAtCompileTime <= EIGEN_UNROLLING_LIMIT_PRODUCT) - DotUnroller<Traits::SizeAtCompileTime-1, - Traits::SizeAtCompileTime <= EIGEN_UNROLLING_LIMIT_PRODUCT ? Traits::SizeAtCompileTime : Dynamic, + && SizeAtCompileTime != Dynamic + && SizeAtCompileTime <= EIGEN_UNROLLING_LIMIT_PRODUCT) + DotUnroller<SizeAtCompileTime-1, + SizeAtCompileTime <= EIGEN_UNROLLING_LIMIT_PRODUCT ? SizeAtCompileTime : Dynamic, Derived, MatrixBase<OtherDerived> > ::run(*static_cast<const Derived*>(this), other, res); else @@ -99,7 +99,7 @@ MatrixBase<Derived>::dot(const MatrixBase<OtherDerived>& other) const * \sa dot(), norm() */ template<typename Derived> -typename NumTraits<typename Scalar<Derived>::Type>::Real MatrixBase<Derived>::norm2() const +typename NumTraits<typename ei_traits<Derived>::Scalar>::Real MatrixBase<Derived>::norm2() const { return ei_real(dot(*this)); } @@ -111,7 +111,7 @@ typename NumTraits<typename Scalar<Derived>::Type>::Real MatrixBase<Derived>::no * \sa dot(), norm2() */ template<typename Derived> -typename NumTraits<typename Scalar<Derived>::Type>::Real MatrixBase<Derived>::norm() const +typename NumTraits<typename ei_traits<Derived>::Scalar>::Real MatrixBase<Derived>::norm() const { return ei_sqrt(norm2()); } @@ -123,7 +123,7 @@ typename NumTraits<typename Scalar<Derived>::Type>::Real MatrixBase<Derived>::no * \sa norm() */ template<typename Derived> -const CwiseUnaryOp<ScalarMultipleOp<typename Scalar<Derived>::Type>, Derived> +const CwiseUnaryOp<ScalarMultipleOp<typename ei_traits<Derived>::Scalar>, Derived> MatrixBase<Derived>::normalized() const { return (*this) / norm(); |