diff options
Diffstat (limited to 'llvm/unittests/Support/ScaledNumberTest.cpp')
| -rw-r--r-- | llvm/unittests/Support/ScaledNumberTest.cpp | 24 | 
1 files changed, 24 insertions, 0 deletions
| diff --git a/llvm/unittests/Support/ScaledNumberTest.cpp b/llvm/unittests/Support/ScaledNumberTest.cpp index 216292c..3872155 100644 --- a/llvm/unittests/Support/ScaledNumberTest.cpp +++ b/llvm/unittests/Support/ScaledNumberTest.cpp @@ -532,4 +532,28 @@ TEST(ScaledNumberHelpersTest, getDifference) {    EXPECT_EQ(SP64(0, 0), getDifference64(1, -64, 1, -1));  } +TEST(ScaledNumberHelpersTest, arithmeticOperators) { +  EXPECT_EQ(ScaledNumber<uint32_t>(10, 0), +            ScaledNumber<uint32_t>(1, 3) + ScaledNumber<uint32_t>(1, 1)); +  EXPECT_EQ(ScaledNumber<uint32_t>(6, 0), +            ScaledNumber<uint32_t>(1, 3) - ScaledNumber<uint32_t>(1, 1)); +  EXPECT_EQ(ScaledNumber<uint32_t>(2, 3), +            ScaledNumber<uint32_t>(1, 3) * ScaledNumber<uint32_t>(1, 1)); +  EXPECT_EQ(ScaledNumber<uint32_t>(1, 2), +            ScaledNumber<uint32_t>(1, 3) / ScaledNumber<uint32_t>(1, 1)); +  EXPECT_EQ(ScaledNumber<uint32_t>(1, 2), ScaledNumber<uint32_t>(1, 3) >> 1); +  EXPECT_EQ(ScaledNumber<uint32_t>(1, 4), ScaledNumber<uint32_t>(1, 3) << 1); + +  EXPECT_EQ(ScaledNumber<uint64_t>(10, 0), +            ScaledNumber<uint64_t>(1, 3) + ScaledNumber<uint64_t>(1, 1)); +  EXPECT_EQ(ScaledNumber<uint64_t>(6, 0), +            ScaledNumber<uint64_t>(1, 3) - ScaledNumber<uint64_t>(1, 1)); +  EXPECT_EQ(ScaledNumber<uint64_t>(2, 3), +            ScaledNumber<uint64_t>(1, 3) * ScaledNumber<uint64_t>(1, 1)); +  EXPECT_EQ(ScaledNumber<uint64_t>(1, 2), +            ScaledNumber<uint64_t>(1, 3) / ScaledNumber<uint64_t>(1, 1)); +  EXPECT_EQ(ScaledNumber<uint64_t>(1, 2), ScaledNumber<uint64_t>(1, 3) >> 1); +  EXPECT_EQ(ScaledNumber<uint64_t>(1, 4), ScaledNumber<uint64_t>(1, 3) << 1); +} +  } // end namespace | 
