Browse Source

Fixed glm::isinf and glm::isnan for with Android NDK 9d #191

Christophe Riccio 11 years ago
parent
commit
e04ded9e39
3 changed files with 13 additions and 2 deletions
  1. 10 2
      glm/detail/func_common.inl
  2. 2 0
      glm/detail/setup.hpp
  3. 1 0
      readme.txt

+ 10 - 2
glm/detail/func_common.inl

@@ -717,7 +717,11 @@ namespace detail
 			return _isnan(x) != 0;
 #		elif(GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG))
 #			if(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
-				return _isnan(x) != 0;
+#				if(GLM_PLATFORM_ANDROID_VERSION >= 19)
+					return std::isnan(x);
+#				else
+					return _isnan(x) != 0;
+#				endif
 #			else
 				return std::isnan(x);
 #			endif
@@ -788,7 +792,11 @@ namespace detail
 			return _fpclass(x) == _FPCLASS_NINF || _fpclass(x) == _FPCLASS_PINF;
 #		elif(GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG))
 #			if(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
-				return _isinf(x) != 0;
+#				if(GLM_PLATFORM_ANDROID_VERSION >= 19)
+					return std::isinf(x);
+#				else
+					return _isinf(x) != 0;
+#				endif
 #			else
 				return std::isinf(x);
 #			endif

+ 2 - 0
glm/detail/setup.hpp

@@ -68,6 +68,8 @@
 #	define GLM_PLATFORM GLM_PLATFORM_CHROME_NACL
 #elif defined(__ANDROID__)
 #	define GLM_PLATFORM GLM_PLATFORM_ANDROID
+#	include <android/api-level.h>
+#	define GLM_PLATFORM_ANDROID_VERSION __ANDROID_API__
 #elif defined(__linux)
 #	define GLM_PLATFORM GLM_PLATFORM_LINUX
 #elif defined(__unix)

+ 1 - 0
readme.txt

@@ -42,6 +42,7 @@ GLM 0.9.5.4: 2014-0X-XX
 - Fixed non-utf8 character #196
 - Added FindGLM install for CMake #189
 - Fixed GTX_color_space - saturation #195
+- Fixed glm::isinf and glm::isnan for with Android NDK 9d #191
 
 ================================================================================
 GLM 0.9.5.3: 2014-04-02