diff options
| author | Lioncash <mathew1800@gmail.com> | 2018-05-10 10:35:00 -0400 |
|---|---|---|
| committer | Lioncash <mathew1800@gmail.com> | 2018-05-10 12:28:09 -0400 |
| commit | 0a3631cc7657d6fe0cb577681092e9b6f926dbb9 (patch) | |
| tree | fe286fc1de311e182878f5d6c0fbc3e2aca29d96 /Source/UnitTests/VideoCommon/VertexLoaderTest.cpp | |
| parent | bde4e970f10b261dc60b1770d18cb99788fed760 (diff) | |
FloatUtils: Remove IntDouble and IntFloat
Type punning via unions in C++ invokes undefined behavior. Instead, leverage BitCast,
our variant of C++2a's std::bit_cast
Diffstat (limited to 'Source/UnitTests/VideoCommon/VertexLoaderTest.cpp')
| -rw-r--r-- | Source/UnitTests/VideoCommon/VertexLoaderTest.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/Source/UnitTests/VideoCommon/VertexLoaderTest.cpp b/Source/UnitTests/VideoCommon/VertexLoaderTest.cpp index 6ba3c4c464..70a8a96235 100644 --- a/Source/UnitTests/VideoCommon/VertexLoaderTest.cpp +++ b/Source/UnitTests/VideoCommon/VertexLoaderTest.cpp @@ -10,8 +10,8 @@ #include <gtest/gtest.h> // NOLINT +#include "Common/BitUtils.h" #include "Common/Common.h" -#include "Common/FloatUtils.h" #include "VideoCommon/CPMemory.h" #include "VideoCommon/DataReader.h" #include "VideoCommon/OpcodeDecoding.h" @@ -72,14 +72,15 @@ protected: m_src.Write<T, true>(val); } - void ExpectOut(float val) + void ExpectOut(float expected) { // Read unswapped. - Common::IntFloat expected(val), actual(m_dst.Read<float, false>()); - if (!actual.f || actual.f != actual.f) - EXPECT_EQ(expected.i, actual.i); + const float actual = m_dst.Read<float, false>(); + + if (!actual || actual != actual) + EXPECT_EQ(Common::BitCast<u32>(expected), Common::BitCast<u32>(actual)); else - EXPECT_EQ(expected.f, actual.f); + EXPECT_EQ(expected, actual); } void RunVertices(int count, int expected_count = -1) |
