mirror of
https://github.com/g-truc/glm.git
synced 2025-04-07 06:25:00 +00:00
Second set of fixes for Android #284
This commit is contained in:
parent
c02d031eaf
commit
e4ccd06e29
7 changed files with 23 additions and 23 deletions
|
@ -546,7 +546,7 @@ namespace detail
|
|||
{
|
||||
GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559, "'isnan' only accept floating-point inputs");
|
||||
|
||||
# if GLM_LANG & GLM_LANG_CXX11_FLAG
|
||||
# if GLM_HAS_CXX11_STL
|
||||
return std::isnan(x);
|
||||
# elif GLM_COMPILER & (GLM_COMPILER_VC | GLM_COMPILER_INTEL)
|
||||
return _isnan(x) != 0;
|
||||
|
@ -580,17 +580,17 @@ namespace detail
|
|||
{
|
||||
GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559, "'isinf' only accept floating-point inputs");
|
||||
|
||||
# if(GLM_LANG & GLM_LANG_CXX11_FLAG)
|
||||
# if GLM_HAS_CXX11_STL
|
||||
return std::isinf(x);
|
||||
# elif(GLM_COMPILER & (GLM_COMPILER_INTEL | GLM_COMPILER_VC))
|
||||
# elif GLM_COMPILER & (GLM_COMPILER_INTEL | GLM_COMPILER_VC)
|
||||
return _fpclass(x) == _FPCLASS_NINF || _fpclass(x) == _FPCLASS_PINF;
|
||||
# elif(GLM_COMPILER & (GLM_COMPILER_GCC | (GLM_COMPILER_APPLE_CLANG | GLM_COMPILER_LLVM)))
|
||||
# elif GLM_COMPILER & (GLM_COMPILER_GCC | (GLM_COMPILER_APPLE_CLANG | GLM_COMPILER_LLVM))
|
||||
# if(GLM_PLATFORM & GLM_PLATFORM_ANDROID && __cplusplus < 201103L)
|
||||
return _isinf(x) != 0;
|
||||
# else
|
||||
return std::isinf(x);
|
||||
# endif
|
||||
# elif(GLM_COMPILER & GLM_COMPILER_CUDA)
|
||||
# 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
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
# if GLM_LANG & GLM_LANG_CXX11_FLAG
|
||||
# if GLM_HAS_CXX11_STL
|
||||
using std::log2;
|
||||
# else
|
||||
template <typename genType>
|
||||
|
|
|
@ -162,7 +162,7 @@ namespace glm
|
|||
}
|
||||
|
||||
// asinh
|
||||
# if GLM_LANG & GLM_LANG_CXX11_FLAG
|
||||
# if GLM_HAS_CXX11_STL
|
||||
using std::asinh;
|
||||
# else
|
||||
template <typename genType>
|
||||
|
@ -181,7 +181,7 @@ namespace glm
|
|||
}
|
||||
|
||||
// acosh
|
||||
# if GLM_LANG & GLM_LANG_CXX11_FLAG
|
||||
# if GLM_HAS_CXX11_STL
|
||||
using std::acosh;
|
||||
# else
|
||||
template <typename genType>
|
||||
|
@ -202,7 +202,7 @@ namespace glm
|
|||
}
|
||||
|
||||
// atanh
|
||||
# if GLM_LANG & GLM_LANG_CXX11_FLAG
|
||||
# if GLM_HAS_CXX11_STL
|
||||
using std::atanh;
|
||||
# else
|
||||
template <typename genType>
|
||||
|
|
|
@ -420,17 +420,17 @@
|
|||
|
||||
#if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_LANG_DISPLAYED)
|
||||
# define GLM_MESSAGE_LANG_DISPLAYED
|
||||
# if(GLM_LANG & GLM_LANG_CXXGNU_FLAG)
|
||||
# if GLM_LANG & GLM_LANG_CXXGNU_FLAG
|
||||
# pragma message("GLM: C++ with language extensions")
|
||||
# elif(GLM_LANG & GLM_LANG_CXXMS_FLAG)
|
||||
# elif GLM_LANG & GLM_LANG_CXXMS_FLAG
|
||||
# pragma message("GLM: C++ with language extensions")
|
||||
# elif(GLM_LANG & GLM_LANG_CXX11_FLAG)
|
||||
# elif GLM_LANG & GLM_LANG_CXX11_FLAG
|
||||
# pragma message("GLM: C++11")
|
||||
# elif(GLM_LANG & GLM_LANG_CXX0X_FLAG)
|
||||
# elif GLM_LANG & GLM_LANG_CXX0X_FLAG
|
||||
# pragma message("GLM: C++0x")
|
||||
# elif(GLM_LANG & GLM_LANG_CXX03_FLAG)
|
||||
# elif GLM_LANG & GLM_LANG_CXX03_FLAG
|
||||
# pragma message("GLM: C++03")
|
||||
# elif(GLM_LANG & GLM_LANG_CXX98_FLAG)
|
||||
# elif GLM_LANG & GLM_LANG_CXX98_FLAG
|
||||
# pragma message("GLM: C++98")
|
||||
# else
|
||||
# pragma message("GLM: C++ language undetected")
|
||||
|
|
|
@ -203,7 +203,7 @@ namespace glm
|
|||
template <>
|
||||
GLM_FUNC_QUALIFIER float next_float(float const & x)
|
||||
{
|
||||
# if((GLM_LANG & GLM_LANG_CXX11_FLAG) && !(GLM_PLATFORM & GLM_PLATFORM_ANDROID))
|
||||
# if GLM_HAS_CXX11_STL
|
||||
return std::nextafter(x, std::numeric_limits<float>::max());
|
||||
# elif((GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS)))
|
||||
return detail::nextafterf(x, FLT_MAX);
|
||||
|
@ -217,7 +217,7 @@ namespace glm
|
|||
template <>
|
||||
GLM_FUNC_QUALIFIER double next_float(double const & x)
|
||||
{
|
||||
# if((GLM_LANG & GLM_LANG_CXX11_FLAG) && !(GLM_PLATFORM & GLM_PLATFORM_ANDROID))
|
||||
# if GLM_HAS_CXX11_STL
|
||||
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)))
|
||||
return detail::nextafter(x, std::numeric_limits<double>::max());
|
||||
|
@ -239,7 +239,7 @@ namespace glm
|
|||
|
||||
GLM_FUNC_QUALIFIER float prev_float(float const & x)
|
||||
{
|
||||
# if((GLM_LANG & GLM_LANG_CXX11_FLAG) && !(GLM_PLATFORM & GLM_PLATFORM_ANDROID))
|
||||
# if GLM_HAS_CXX11_STL
|
||||
return std::nextafter(x, std::numeric_limits<float>::min());
|
||||
# elif((GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS)))
|
||||
return detail::nextafterf(x, FLT_MIN);
|
||||
|
@ -252,7 +252,7 @@ namespace glm
|
|||
|
||||
GLM_FUNC_QUALIFIER double prev_float(double const & x)
|
||||
{
|
||||
# if((GLM_LANG & GLM_LANG_CXX11_FLAG) && !(GLM_PLATFORM & GLM_PLATFORM_ANDROID))
|
||||
# if GLM_HAS_CXX11_STL
|
||||
return std::nextafter(x, std::numeric_limits<double>::min());
|
||||
# elif((GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS)))
|
||||
return _nextafter(x, DBL_MIN);
|
||||
|
|
|
@ -39,7 +39,7 @@ namespace glm
|
|||
{
|
||||
GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559, "'isdenormal' only accept floating-point inputs");
|
||||
|
||||
# if(GLM_LANG & GLM_LANG_CXX11_FLAG)
|
||||
# if GLM_HAS_CXX11_STL
|
||||
return std::fpclassify(x) == FP_SUBNORMAL;
|
||||
# else
|
||||
return x != static_cast<T>(0) && std::fabs(x) < std::numeric_limits<T>::min();
|
||||
|
|
|
@ -39,11 +39,11 @@ namespace glm
|
|||
GLM_FUNC_QUALIFIER bool isfinite(
|
||||
genType const & x)
|
||||
{
|
||||
# if(GLM_LANG & GLM_LANG_CXX11_FLAG)
|
||||
# if GLM_HAS_CXX11_STL
|
||||
return std::isfinite(x) != 0;
|
||||
# elif(GLM_COMPILER & GLM_COMPILER_VC)
|
||||
# elif GLM_COMPILER & GLM_COMPILER_VC
|
||||
return _finite(x);
|
||||
# elif(GLM_COMPILER & GLM_COMPILER_GCC && GLM_PLATFORM & GLM_PLATFORM_ANDROID)
|
||||
# elif GLM_COMPILER & GLM_COMPILER_GCC && GLM_PLATFORM & GLM_PLATFORM_ANDROID
|
||||
return _isfinite(x) != 0;
|
||||
# else
|
||||
return x >= std::numeric_limits<genType>::min() && x <= std::numeric_limits<genType>::max();
|
||||
|
|
Loading…
Add table
Reference in a new issue