diff --git a/src/Types/Vector3.h b/src/Types/Vector3.h index 70eba089962f1de6f5389f11f364319173a76cf9..b7cc265f773f08a1809bd1f9621aa428248f5e13 100644 --- a/src/Types/Vector3.h +++ b/src/Types/Vector3.h @@ -9,6 +9,15 @@ #include <type_traits> // for std::common_type<T,U> #include <sstream> +#ifdef __CUDA_ARCH__ +#include <cuda/std/limits> +template<typename T> +using numeric_limits = ::cuda::std::numeric_limits<T>; +#else +template<typename T> +using numeric_limits = ::std::numeric_limits<T>; +#endif + /** * 3D vector utility class with common operations implemented on CPU and GPU. * @@ -217,8 +226,8 @@ public: } // Numeric limits - HOST DEVICE static inline T highest() { return std::numeric_limits<T>::max(); } - HOST DEVICE static inline T lowest() { return std::numeric_limits<T>::lowest(); } + HOST DEVICE static inline T highest() { return numeric_limits<T>::max(); } + HOST DEVICE static inline T lowest() { return numeric_limits<T>::lowest(); } // String HOST DEVICE inline void print() const {