diff options
Diffstat (limited to 'glm-master/glm/detail/compute_common.hpp')
-rw-r--r-- | glm-master/glm/detail/compute_common.hpp | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/glm-master/glm/detail/compute_common.hpp b/glm-master/glm/detail/compute_common.hpp deleted file mode 100644 index 7267a49..0000000 --- a/glm-master/glm/detail/compute_common.hpp +++ /dev/null @@ -1,50 +0,0 @@ -#pragma once - -#include "setup.hpp" -#include <limits> - -namespace glm{ -namespace detail -{ - template<typename genFIType, bool /*signed*/> - struct compute_abs - {}; - - template<typename genFIType> - struct compute_abs<genFIType, true> - { - GLM_FUNC_QUALIFIER GLM_CONSTEXPR static genFIType call(genFIType x) - { - GLM_STATIC_ASSERT( - std::numeric_limits<genFIType>::is_iec559 || std::numeric_limits<genFIType>::is_signed, - "'abs' only accept floating-point and integer scalar or vector inputs"); - - return x >= genFIType(0) ? x : -x; - // TODO, perf comp with: *(((int *) &x) + 1) &= 0x7fffffff; - } - }; - -#if (GLM_COMPILER & GLM_COMPILER_CUDA) || (GLM_COMPILER & GLM_COMPILER_HIP) - template<> - struct compute_abs<float, true> - { - GLM_FUNC_QUALIFIER GLM_CONSTEXPR static float call(float x) - { - return fabsf(x); - } - }; -#endif - - template<typename genFIType> - struct compute_abs<genFIType, false> - { - GLM_FUNC_QUALIFIER GLM_CONSTEXPR static genFIType call(genFIType x) - { - GLM_STATIC_ASSERT( - (!std::numeric_limits<genFIType>::is_signed && std::numeric_limits<genFIType>::is_integer), - "'abs' only accept floating-point and integer scalar or vector inputs"); - return x; - } - }; -}//namespace detail -}//namespace glm |