diff options
author | Gael Guennebaud <g.gael@free.fr> | 2019-02-15 16:35:35 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2019-02-15 16:35:35 +0100 |
commit | 83309068b42c85d919aff53eb3652fa7896ed020 (patch) | |
tree | 468f88431963cfece04e6e1c3d734a05bb7ecad9 /Eigen/src/Core/Redux.h | |
parent | 0505248f250f0d1665d51e2e8f0775531ce40382 (diff) |
bug #1680: improve MSVC inlining by declaring many triavial constructors and accessors as STRONG_INLINE.
Diffstat (limited to 'Eigen/src/Core/Redux.h')
-rw-r--r-- | Eigen/src/Core/Redux.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Eigen/src/Core/Redux.h b/Eigen/src/Core/Redux.h index e231a7d7d..2eef5abc5 100644 --- a/Eigen/src/Core/Redux.h +++ b/Eigen/src/Core/Redux.h @@ -359,7 +359,8 @@ class redux_evaluator : public internal::evaluator<_XprType> typedef internal::evaluator<_XprType> Base; public: typedef _XprType XprType; - EIGEN_DEVICE_FUNC explicit redux_evaluator(const XprType &xpr) : Base(xpr) {} + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE + explicit redux_evaluator(const XprType &xpr) : Base(xpr) {} typedef typename XprType::Scalar Scalar; typedef typename XprType::CoeffReturnType CoeffReturnType; @@ -375,11 +376,12 @@ public: InnerSizeAtCompileTime = XprType::InnerSizeAtCompileTime }; - EIGEN_DEVICE_FUNC + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType coeffByOuterInner(Index outer, Index inner) const { return Base::coeff(IsRowMajor ? outer : inner, IsRowMajor ? inner : outer); } template<int LoadMode, typename PacketType> + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE PacketType packetByOuterInner(Index outer, Index inner) const { return Base::template packet<LoadMode,PacketType>(IsRowMajor ? outer : inner, IsRowMajor ? inner : outer); } |