|
|
|
@ -803,19 +803,19 @@ namespace detail |
|
|
|
|
{ |
|
|
|
|
GLM_STATIC_ASSERT(detail::type<genType>::is_float, "'isnan' only accept floating-point inputs"); |
|
|
|
|
|
|
|
|
|
# if(GLM_COMPILER & (GLM_COMPILER_VC | GLM_COMPILER_INTEL)) |
|
|
|
|
# if(GLM_COMPILER & (GLM_COMPILER_VC | GLM_COMPILER_INTEL)) |
|
|
|
|
return _isnan(x) != 0; |
|
|
|
|
# elif(GLM_COMPILER & GLM_COMPILER_GCC) |
|
|
|
|
# elif(GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG)) |
|
|
|
|
# if(GLM_PLATFORM & GLM_PLATFORM_ANDROID) |
|
|
|
|
return _isnan(x) != 0; |
|
|
|
|
# else |
|
|
|
|
return std::isnan(x); |
|
|
|
|
# endif |
|
|
|
|
# elif(GLM_COMPILER & GLM_COMPILER_CUDA) |
|
|
|
|
return isnan(x) != 0; |
|
|
|
|
# else |
|
|
|
|
return isnan(x) != 0; |
|
|
|
|
# else |
|
|
|
|
return std::isnan(x); |
|
|
|
|
# endif |
|
|
|
|
# endif |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <typename T> |
|
|
|
@ -860,35 +860,20 @@ namespace detail |
|
|
|
|
{ |
|
|
|
|
GLM_STATIC_ASSERT(detail::type<genType>::is_float, "'isinf' only accept floating-point inputs"); |
|
|
|
|
|
|
|
|
|
# if(GLM_COMPILER & (GLM_COMPILER_INTEL | GLM_COMPILER_VC)) |
|
|
|
|
# if(GLM_COMPILER & (GLM_COMPILER_INTEL | GLM_COMPILER_VC)) |
|
|
|
|
return _fpclass(x) == _FPCLASS_NINF || _fpclass(x) == _FPCLASS_PINF; |
|
|
|
|
# elif(GLM_COMPILER & GLM_COMPILER_GCC) |
|
|
|
|
# elif(GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG)) |
|
|
|
|
# if(GLM_PLATFORM & GLM_PLATFORM_ANDROID) |
|
|
|
|
return _isinf(x) != 0; |
|
|
|
|
# else |
|
|
|
|
return std::isinf(x); |
|
|
|
|
# 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 |
|
|
|
|
// 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 |
|
|
|
|
return std::isinf(x); |
|
|
|
|
# endif |
|
|
|
|
/* |
|
|
|
|
# if(GLM_COMPILER & GLM_COMPILER_VC) |
|
|
|
|
return _fpclass(x) == _FPCLASS_NINF || _fpclass(x) == _FPCLASS_PINF; |
|
|
|
|
# elif(GLM_COMPILER & GLM_COMPILER_GCC) |
|
|
|
|
# if(GLM_PLATFORM & GLM_PLATFORM_ANDROID) |
|
|
|
|
return _isinf(x) != 0; |
|
|
|
|
# else |
|
|
|
|
return std::isinf(x); |
|
|
|
|
# endif |
|
|
|
|
# elif(GLM_COMPILER & GLM_COMPILER_INTEL) |
|
|
|
|
return isinf(x) != 0; |
|
|
|
|
# else |
|
|
|
|
return std::isinf(x); |
|
|
|
|
# endif |
|
|
|
|
*/ |
|
|
|
|
# endif |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <typename T> |
|
|
|
|