diff options
author | Gael Guennebaud <g.gael@free.fr> | 2013-04-05 16:35:49 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2013-04-05 16:35:49 +0200 |
commit | 12439e12490b9fd79fe18aa30ce09648dcb644ba (patch) | |
tree | 4ba34589aa6fa04dd141e0374039165e62a9a3ac /Eigen/src/Core/Dot.h | |
parent | d93c1c113b9540e7a66d4b2c2dc3c1e99b5d26a1 (diff) |
Port SelfCwiseBinaryOp and Dot.h to nvcc, fix portability issue with std::min/max
Diffstat (limited to 'Eigen/src/Core/Dot.h')
-rw-r--r-- | Eigen/src/Core/Dot.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Eigen/src/Core/Dot.h b/Eigen/src/Core/Dot.h index 9d513d699..6b058d3d9 100644 --- a/Eigen/src/Core/Dot.h +++ b/Eigen/src/Core/Dot.h @@ -59,6 +59,7 @@ struct dot_nocheck<T, U, true> */ template<typename Derived> template<typename OtherDerived> +EIGEN_DEVICE_FUNC typename internal::scalar_product_traits<typename internal::traits<Derived>::Scalar,typename internal::traits<OtherDerived>::Scalar>::ReturnType MatrixBase<Derived>::dot(const MatrixBase<OtherDerived>& other) const { @@ -151,6 +152,7 @@ MatrixBase<Derived>::normalized() const * \sa norm(), normalized() */ template<typename Derived> +EIGEN_DEVICE_FUNC inline void MatrixBase<Derived>::normalize() { *this /= norm(); @@ -164,6 +166,7 @@ template<typename Derived, int p> struct lpNorm_selector { typedef typename NumTraits<typename traits<Derived>::Scalar>::Real RealScalar; + EIGEN_DEVICE_FUNC static inline RealScalar run(const MatrixBase<Derived>& m) { return pow(m.cwiseAbs().array().pow(p).sum(), RealScalar(1)/p); @@ -173,6 +176,7 @@ struct lpNorm_selector template<typename Derived> struct lpNorm_selector<Derived, 1> { + EIGEN_DEVICE_FUNC static inline typename NumTraits<typename traits<Derived>::Scalar>::Real run(const MatrixBase<Derived>& m) { return m.cwiseAbs().sum(); @@ -182,6 +186,7 @@ struct lpNorm_selector<Derived, 1> template<typename Derived> struct lpNorm_selector<Derived, 2> { + EIGEN_DEVICE_FUNC static inline typename NumTraits<typename traits<Derived>::Scalar>::Real run(const MatrixBase<Derived>& m) { return m.norm(); @@ -191,6 +196,7 @@ struct lpNorm_selector<Derived, 2> template<typename Derived> struct lpNorm_selector<Derived, Infinity> { + EIGEN_DEVICE_FUNC static inline typename NumTraits<typename traits<Derived>::Scalar>::Real run(const MatrixBase<Derived>& m) { return m.cwiseAbs().maxCoeff(); |