diff --git a/test/ext/ext_scalar_common.cpp b/test/ext/ext_scalar_common.cpp index 0bd6bc32..df679a84 100644 --- a/test/ext/ext_scalar_common.cpp +++ b/test/ext/ext_scalar_common.cpp @@ -4,9 +4,9 @@ #include #if ((GLM_LANG & GLM_LANG_CXX11_FLAG) || (GLM_COMPILER & GLM_COMPILER_VC)) -# define GLM_NAN NAN +# define GLM_NAN(T) NAN #else -# define GLM_NAN (A / A) +# define GLM_NAN(T) (static_cast(0.0f) / static_cast(0.0f)) #endif template @@ -43,9 +43,8 @@ static int test_min_nan() { int Error = 0; - T const A = static_cast(0); T const B = static_cast(1); - T const N = static_cast(GLM_NAN); + T const N = static_cast(GLM_NAN(T)); Error += glm::isnan(glm::min(N, B)) ? 0 : 1; Error += !glm::isnan(glm::min(B, N)) ? 0 : 1; @@ -102,9 +101,8 @@ static int test_max_nan() { int Error = 0; - T const A = static_cast(0); T const B = static_cast(1); - T const N = static_cast(GLM_NAN); + T const N = static_cast(GLM_NAN(T)); Error += glm::isnan(glm::max(N, B)) ? 0 : 1; Error += !glm::isnan(glm::max(B, N)) ? 0 : 1; @@ -132,9 +130,8 @@ static int test_fmin() { int Error = 0; - T const A = static_cast(0); T const B = static_cast(1); - T const N = static_cast(GLM_NAN); + T const N = static_cast(GLM_NAN(T)); Error += glm::equal(glm::fmin(N, B), B, glm::epsilon()) ? 0 : 1; Error += glm::equal(glm::fmin(B, N), B, glm::epsilon()) ? 0 : 1; @@ -162,9 +159,8 @@ static int test_fmax() { int Error = 0; - T const A = static_cast(0); T const B = static_cast(1); - T const N = static_cast(GLM_NAN); + T const N = static_cast(GLM_NAN(T)); Error += glm::equal(glm::fmax(N, B), B, glm::epsilon()) ? 0 : 1; Error += glm::equal(glm::fmax(B, N), B, glm::epsilon()) ? 0 : 1;