From a94838c6cfb1b10c29ea79b01a682c2639aaae11 Mon Sep 17 00:00:00 2001 From: leper Date: Wed, 16 Jan 2019 21:28:48 +0100 Subject: [PATCH] Prefer C++11 std::isnan and std::isfinite. --- src/nvmath/nvmath.h | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/nvmath/nvmath.h b/src/nvmath/nvmath.h index 259ab63..8c2501a 100644 --- a/src/nvmath/nvmath.h +++ b/src/nvmath/nvmath.h @@ -10,7 +10,9 @@ #include -#if NV_OS_WIN32 || NV_OS_XBOX +#if NV_CC_CPP11 +#include +#elif NV_OS_WIN32 || NV_OS_XBOX #include // finite, isnan #endif @@ -168,7 +170,9 @@ namespace nv inline bool isFinite(const float f) { -#if NV_OS_WIN32 || NV_OS_XBOX +#if NV_CC_CPP11 + return std::isfinite(f); +#elif NV_OS_WIN32 || NV_OS_XBOX return _finite(f) != 0; #elif NV_OS_DARWIN || NV_OS_FREEBSD || NV_OS_NETBSD || NV_OS_OPENBSD || NV_OS_ORBIS return isfinite(f); @@ -177,13 +181,13 @@ namespace nv #else # error "isFinite not supported" #endif - //return std::isfinite (f); - //return finite (f); } inline bool isNan(const float f) { -#if NV_OS_WIN32 || NV_OS_XBOX +#if NV_CC_CPP11 + return std::isnan(f); +#elif NV_OS_WIN32 || NV_OS_XBOX return _isnan(f) != 0; #elif NV_OS_DARWIN || NV_OS_FREEBSD || NV_OS_NETBSD || NV_OS_OPENBSD || NV_OS_ORBIS return isnan(f);