From 041276c93d2908b5fd11b640bb09efd36f3a55e3 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sun, 31 Aug 2014 22:25:40 -0400 Subject: [PATCH] Fix 'nextafter*' for android build issue. #217 --- glm/gtc/ulp.inl | 10 +++++++--- readme.txt | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/glm/gtc/ulp.inl b/glm/gtc/ulp.inl index 91846b22..be2770f9 100644 --- a/glm/gtc/ulp.inl +++ b/glm/gtc/ulp.inl @@ -204,7 +204,7 @@ namespace glm # elif((GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS))) return detail::nextafterf(x, FLT_MAX); # elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID) - return _nextafterf(x, FLT_MAX); + return __builtin_nextafterf(x, FLT_MAX); # else return nextafterf(x, FLT_MAX); # endif @@ -217,6 +217,8 @@ namespace glm return std::nextafter(x, std::numeric_limits::max()); # elif((GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS))) return detail::nextafter(x, std::numeric_limits::max()); +# elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID) + return __builtin_nextafter(x, FLT_MAX); # else return nextafter(x, DBL_MAX); # endif @@ -238,7 +240,7 @@ namespace glm # elif((GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS))) return detail::nextafterf(x, FLT_MIN); # elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID) - return _nextafterf(x, FLT_MIN); + return __builtin_nextafterf(x, FLT_MIN); # else return nextafterf(x, FLT_MIN); # endif @@ -248,8 +250,10 @@ namespace glm { # if((GLM_LANG & GLM_LANG_CXX11_FLAG) && !(GLM_PLATFORM & GLM_PLATFORM_ANDROID)) return std::nextafter(x, std::numeric_limits::min()); -# elif((GLM_PLATFORM & GLM_PLATFORM_ANDROID) || (GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS))) +# elif((GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS))) return _nextafter(x, DBL_MIN); +# elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID) + return __builtin_nextafter(x, DBL_MIN); # else return nextafter(x, DBL_MIN); # endif diff --git a/readme.txt b/readme.txt index 5581eb21..cc17c1f7 100644 --- a/readme.txt +++ b/readme.txt @@ -50,7 +50,7 @@ GLM 0.9.6.0: 2014-XX-XX ================================================================================ GLM 0.9.5.5: 2014-XX-XX -------------------------------------------------------------------------------- -- Fixed std::nextafter not supported with C++11 on Android #213 +- Fixed std::nextafter not supported with C++11 on Android #217 - Fixed missing value_type for dual quaternion - Fixed return type of dual quaternion length - Fixed infinite loop in isfinite function with GCC #221