From 8d9221a71e235393db3c03322e1324f400d0d915 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Sun, 3 Apr 2016 19:08:47 -0400 Subject: MathUtilTest: Fix tests on MSVC - Document compiler bug MSVC's implementation of numeric_limits currently generates incorrect signaling NaNs. The resulting values are actually quiet NaNs instead. This commit is based off of a solution by shuffle2. The only difference is a template specialization for floats is also added to cover all bases --- Source/UnitTests/Common/MathUtilTest.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Source/UnitTests/Common/MathUtilTest.cpp') diff --git a/Source/UnitTests/Common/MathUtilTest.cpp b/Source/UnitTests/Common/MathUtilTest.cpp index f7427cc8c3..0eabd14694 100644 --- a/Source/UnitTests/Common/MathUtilTest.cpp +++ b/Source/UnitTests/Common/MathUtilTest.cpp @@ -23,13 +23,13 @@ TEST(MathUtil, Clamp) TEST(MathUtil, IsQNAN) { EXPECT_TRUE(MathUtil::IsQNAN(std::numeric_limits::quiet_NaN())); - EXPECT_FALSE(MathUtil::IsQNAN(std::numeric_limits::signaling_NaN())); + EXPECT_FALSE(MathUtil::IsQNAN(MathUtil::SNANConstant())); } TEST(MathUtil, IsSNAN) { EXPECT_FALSE(MathUtil::IsSNAN(std::numeric_limits::quiet_NaN())); - EXPECT_TRUE(MathUtil::IsSNAN(std::numeric_limits::signaling_NaN())); + EXPECT_TRUE(MathUtil::IsSNAN(MathUtil::SNANConstant())); } TEST(MathUtil, IntLog2) -- cgit v1.2.3