summaryrefslogtreecommitdiff
path: root/Source/UnitTests/Core/PowerPC/DivUtilsTest.cpp
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2021-05-02 18:03:29 +0200
committerJosJuice <josjuice@gmail.com>2021-05-02 18:07:02 +0200
commit1f6bb06f2cddb715df0d3f59068f16fe7f9a8caa (patch)
treef7c1808bca4deedf9b0f4b4792f37309fd510d57 /Source/UnitTests/Core/PowerPC/DivUtilsTest.cpp
parentade9d6c954a4907962fc395fdb62a3badbafa576 (diff)
UnitTests: Move some unit tests to where they should be
Two unit tests were in the root UnitTests folder and were not being built when using CMake.
Diffstat (limited to 'Source/UnitTests/Core/PowerPC/DivUtilsTest.cpp')
-rw-r--r--Source/UnitTests/Core/PowerPC/DivUtilsTest.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/Source/UnitTests/Core/PowerPC/DivUtilsTest.cpp b/Source/UnitTests/Core/PowerPC/DivUtilsTest.cpp
new file mode 100644
index 0000000000..7802fc8496
--- /dev/null
+++ b/Source/UnitTests/Core/PowerPC/DivUtilsTest.cpp
@@ -0,0 +1,33 @@
+// Copyright 2021 Dolphin Emulator Project
+// Licensed under GPLv2+
+// Refer to the license.txt file included.
+
+#include <gtest/gtest.h>
+
+#include "Core/PowerPC/JitCommon/DivUtils.h"
+
+using namespace JitCommon;
+
+TEST(DivUtils, Signed)
+{
+ Magic m3 = SignedDivisionConstants(3);
+ Magic m5 = SignedDivisionConstants(5);
+ Magic m7 = SignedDivisionConstants(7);
+ Magic minus3 = SignedDivisionConstants(-3);
+ Magic minus5 = SignedDivisionConstants(-5);
+ Magic minus7 = SignedDivisionConstants(-7);
+
+ EXPECT_EQ(0x55555556, m3.multiplier);
+ EXPECT_EQ(0, m3.shift);
+ EXPECT_EQ(0x66666667, m5.multiplier);
+ EXPECT_EQ(1, m5.shift);
+ EXPECT_EQ(-0x6DB6DB6D, m7.multiplier);
+ EXPECT_EQ(2, m7.shift);
+
+ EXPECT_EQ(-0x55555556, minus3.multiplier);
+ EXPECT_EQ(0, minus3.shift);
+ EXPECT_EQ(-0x66666667, minus5.multiplier);
+ EXPECT_EQ(1, minus5.shift);
+ EXPECT_EQ(0x6DB6DB6D, minus7.multiplier);
+ EXPECT_EQ(2, minus7.shift);
+}