summaryrefslogtreecommitdiff
path: root/Source/UnitTests/Common/BitUtilsTest.cpp
diff options
context:
space:
mode:
authorLéo Lam <leo@innovatetechnologi.es>2018-05-10 19:04:49 +0200
committerGitHub <noreply@github.com>2018-05-10 19:04:49 +0200
commitd8e1d2d5739d7d8ffa54530b9945bd539f833935 (patch)
treefeda50d7d3b245c57260364e1d9f580b8566b9f8 /Source/UnitTests/Common/BitUtilsTest.cpp
parent6e9d0ff6de961b211d3d010c3633f2d415eb850f (diff)
parent0a3631cc7657d6fe0cb577681092e9b6f926dbb9 (diff)
Merge pull request #6803 from lioncash/tidy
FloatUtils: Remove IntDouble and IntFloat
Diffstat (limited to 'Source/UnitTests/Common/BitUtilsTest.cpp')
-rw-r--r--Source/UnitTests/Common/BitUtilsTest.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/Source/UnitTests/Common/BitUtilsTest.cpp b/Source/UnitTests/Common/BitUtilsTest.cpp
index 4785f9dcef..e847e908bd 100644
--- a/Source/UnitTests/Common/BitUtilsTest.cpp
+++ b/Source/UnitTests/Common/BitUtilsTest.cpp
@@ -127,3 +127,16 @@ TEST(BitUtils, IsValidLowMask)
EXPECT_FALSE(Common::IsValidLowMask((u64) ~(0b10000)));
EXPECT_FALSE(Common::IsValidLowMask((u64)(~((u64)(~0b0) >> 1) | 0b1111)));
}
+
+TEST(BitUtils, BitCast)
+{
+ EXPECT_EQ(0x00000000U, Common::BitCast<u32>(0.0f));
+ EXPECT_EQ(0x80000000U, Common::BitCast<u32>(-0.0f));
+ EXPECT_EQ(0x3F800000U, Common::BitCast<u32>(1.0f));
+ EXPECT_EQ(0xBF800000U, Common::BitCast<u32>(-1.0f));
+
+ EXPECT_EQ(0x0000000000000000ULL, Common::BitCast<u64>(0.0));
+ EXPECT_EQ(0x8000000000000000ULL, Common::BitCast<u64>(-0.0));
+ EXPECT_EQ(0x3FF0000000000000ULL, Common::BitCast<u64>(1.0));
+ EXPECT_EQ(0xBFF0000000000000ULL, Common::BitCast<u64>(-1.0));
+}