Fix 'nextafter*' for android build issue. #217

master
Christophe Riccio ago%!(EXTRA string=11 years)
parent a614e5da63
commit 041276c93d
  1. 10
      glm/gtc/ulp.inl
  2. 2
      readme.txt

@ -204,7 +204,7 @@ namespace glm
# elif((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 detail::nextafterf(x, FLT_MAX); return detail::nextafterf(x, FLT_MAX);
# elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID) # elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
return _nextafterf(x, FLT_MAX); return __builtin_nextafterf(x, FLT_MAX);
# else # else
return nextafterf(x, FLT_MAX); return nextafterf(x, FLT_MAX);
# endif # endif
@ -217,6 +217,8 @@ namespace glm
return std::nextafter(x, std::numeric_limits<double>::max()); return std::nextafter(x, std::numeric_limits<double>::max());
# elif((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 detail::nextafter(x, std::numeric_limits<double>::max()); return detail::nextafter(x, std::numeric_limits<double>::max());
# elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
return __builtin_nextafter(x, FLT_MAX);
# else # else
return nextafter(x, DBL_MAX); return nextafter(x, DBL_MAX);
# endif # endif
@ -238,7 +240,7 @@ namespace glm
# elif((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 detail::nextafterf(x, FLT_MIN); return detail::nextafterf(x, FLT_MIN);
# elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID) # elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
return _nextafterf(x, FLT_MIN); return __builtin_nextafterf(x, FLT_MIN);
# else # else
return nextafterf(x, FLT_MIN); return nextafterf(x, FLT_MIN);
# endif # endif
@ -248,8 +250,10 @@ namespace glm
{ {
# if((GLM_LANG & GLM_LANG_CXX11_FLAG) && !(GLM_PLATFORM & GLM_PLATFORM_ANDROID)) # if((GLM_LANG & GLM_LANG_CXX11_FLAG) && !(GLM_PLATFORM & GLM_PLATFORM_ANDROID))
return std::nextafter(x, std::numeric_limits<double>::min()); return std::nextafter(x, std::numeric_limits<double>::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); return _nextafter(x, DBL_MIN);
# elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
return __builtin_nextafter(x, DBL_MIN);
# else # else
return nextafter(x, DBL_MIN); return nextafter(x, DBL_MIN);
# endif # endif

@ -50,7 +50,7 @@ GLM 0.9.6.0: 2014-XX-XX
================================================================================ ================================================================================
GLM 0.9.5.5: 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 missing value_type for dual quaternion
- Fixed return type of dual quaternion length - Fixed return type of dual quaternion length
- Fixed infinite loop in isfinite function with GCC #221 - Fixed infinite loop in isfinite function with GCC #221

Loading…
Cancel
Save