aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen
diff options
context:
space:
mode:
authorGravatar Benoit Steiner <benoit.steiner.goog@gmail.com>2016-03-31 10:43:59 -0700
committerGravatar Benoit Steiner <benoit.steiner.goog@gmail.com>2016-03-31 10:43:59 -0700
commitb575fb1d02f7a98c94a576284fbcd4ff85970120 (patch)
tree4047716c47beeb00d0db71436f99cdec733d3736 /Eigen
parent8c8a79cec1b7d03be30df0e70cea236b8f52ef64 (diff)
Added NumTraits for half floats
Diffstat (limited to 'Eigen')
-rw-r--r--Eigen/src/Core/arch/CUDA/Half.h12
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 {