Browse Source

Added specific code path to isnan and isinf for CUDA, issue #35

Christophe Riccio 13 years ago
parent
commit
115c7fc64a
1 changed files with 5 additions and 0 deletions
  1. 5 0
      glm/core/func_common.inl

+ 5 - 0
glm/core/func_common.inl

@@ -811,6 +811,8 @@ namespace detail
 #			else
 #			else
 				return std::isnan(x);
 				return std::isnan(x);
 #			endif
 #			endif
+#		elif(GLM_COMPILER & GLM_COMPILER_CUDA)
+            return isnan(x) != 0;
 #       else
 #       else
 			return std::isnan(x);
 			return std::isnan(x);
 #       endif
 #       endif
@@ -866,6 +868,9 @@ namespace detail
 #			else
 #			else
 				return std::isinf(x);
 				return std::isinf(x);
 #			endif
 #			endif
+#		elif(GLM_COMPILER & GLM_COMPILER_CUDA)
+            // http://developer.download.nvidia.com/compute/cuda/4_2/rel/toolkit/docs/online/group__CUDA__MATH__DOUBLE_g13431dd2b40b51f9139cbb7f50c18fab.html#g13431dd2b40b51f9139cbb7f50c18fab
+            return isinf(double(x)) != 0;
 #       else
 #       else
 			return std::isinf(x);
 			return std::isinf(x);
 #       endif
 #       endif