diff options
author | Benoit Steiner <benoit.steiner.goog@gmail.com> | 2016-09-20 12:58:03 -0700 |
---|---|---|
committer | Benoit Steiner <benoit.steiner.goog@gmail.com> | 2016-09-20 12:58:03 -0700 |
commit | 26f99075425cd9bf1db31d6d76a5b08570162bd2 (patch) | |
tree | e384e65d2ba0250703a3a77b37e36034e95d6c34 /Eigen | |
parent | 608b1acd6d43bff23b3b136c546d88c939e4d37d (diff) |
Added missing typedefs
Diffstat (limited to 'Eigen')
-rw-r--r-- | Eigen/src/Core/arch/CUDA/Complex.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Eigen/src/Core/arch/CUDA/Complex.h b/Eigen/src/Core/arch/CUDA/Complex.h index aa511a4b2..f133b2db9 100644 --- a/Eigen/src/Core/arch/CUDA/Complex.h +++ b/Eigen/src/Core/arch/CUDA/Complex.h @@ -25,6 +25,8 @@ namespace internal { // building for CUDA to avoid non-constexpr methods. template<typename T> struct scalar_sum_op<std::complex<T>> { + typedef typename std::complex<T> result_type; + EIGEN_EMPTY_STRUCT_CTOR(scalar_sum_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const std::complex<T> operator() (const std::complex<T>& a, const std::complex<T>& b) const { return std::complex<T>(numext::real(a) + numext::real(b), @@ -33,6 +35,8 @@ template<typename T> struct scalar_sum_op<std::complex<T>> { }; template<typename T> struct scalar_difference_op<std::complex<T>> { + typedef typename std::complex<T> result_type; + EIGEN_EMPTY_STRUCT_CTOR(scalar_difference_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const std::complex<T> operator() (const std::complex<T>& a, const std::complex<T>& b) const { return std::complex<T>(numext::real(a) - numext::real(b), @@ -44,6 +48,8 @@ template<typename T> struct scalar_product_op<std::complex<T>, std::complex<T>> enum { Vectorizable = packet_traits<std::complex<T>>::HasMul }; + typedef typename std::complex<T> result_type; + EIGEN_EMPTY_STRUCT_CTOR(scalar_product_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const std::complex<T> operator() (const std::complex<T>& a, const std::complex<T>& b) const { const T a_real = numext::real(a); @@ -59,6 +65,8 @@ template<typename T> struct scalar_quotient_op<std::complex<T>, std::complex<T>> enum { Vectorizable = packet_traits<std::complex<T>>::HasDiv }; + typedef typename std::complex<T> result_type; + EIGEN_EMPTY_STRUCT_CTOR(scalar_quotient_op) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const std::complex<T> operator() (const std::complex<T>& a, const std::complex<T>& b) const { const T a_real = numext::real(a); |