diff options
author | Benoit Steiner <benoit.steiner.goog@gmail.com> | 2016-03-31 10:43:59 -0700 |
---|---|---|
committer | Benoit Steiner <benoit.steiner.goog@gmail.com> | 2016-03-31 10:43:59 -0700 |
commit | b575fb1d02f7a98c94a576284fbcd4ff85970120 (patch) | |
tree | 4047716c47beeb00d0db71436f99cdec733d3736 /Eigen | |
parent | 8c8a79cec1b7d03be30df0e70cea236b8f52ef64 (diff) |
Added NumTraits for half floats
Diffstat (limited to 'Eigen')
-rw-r--r-- | Eigen/src/Core/arch/CUDA/Half.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Eigen/src/Core/arch/CUDA/Half.h b/Eigen/src/Core/arch/CUDA/Half.h index ace250c6f..dc7119c06 100644 --- a/Eigen/src/Core/arch/CUDA/Half.h +++ b/Eigen/src/Core/arch/CUDA/Half.h @@ -341,6 +341,18 @@ template<> struct is_arithmetic<half> { enum { value = true }; }; } // end namespace internal +template<> struct NumTraits<Eigen::half> + : GenericNumTraits<Eigen::half> +{ + EIGEN_DEVICE_FUNC static inline float dummy_precision() { return 1e-3f; } + EIGEN_DEVICE_FUNC static inline Eigen::half highest() { + return internal::raw_uint16_to_half(0x7bff); + } + EIGEN_DEVICE_FUNC static inline Eigen::half lowest() { + return internal::raw_uint16_to_half(0xfbff); + } +}; + // Infinity/NaN checks. namespace numext { |