diff options
Diffstat (limited to 'Source/UnitTests/Core/PowerPC/DivUtilsTest.cpp')
| -rw-r--r-- | Source/UnitTests/Core/PowerPC/DivUtilsTest.cpp | 33 |
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); +} |
