]> granicus.if.org Git - llvm/commitdiff
Support: Return ScaledNumbers::MaxScale from getQuotient()
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Tue, 24 Jun 2014 00:26:08 +0000 (00:26 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Tue, 24 Jun 2014 00:26:08 +0000 (00:26 +0000)
Return MaxScale now that it's available.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211559 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Support/ScaledNumber.h
unittests/Support/ScaledNumberTest.cpp

index b12f347806df8aedc21de441a0d88129cde437ba..e7c329f7bffc9f2e5bf988fb0ec6a1919409de30 100644 (file)
@@ -148,7 +148,7 @@ std::pair<uint32_t, int16_t> divide32(uint32_t Dividend, uint32_t Divisor);
 ///
 /// Implemented with one 64-bit integer divide/remainder pair.
 ///
-/// Returns \c (DigitsT_MAX, INT16_MAX) for divide-by-zero (0 for 0/0).
+/// Returns \c (DigitsT_MAX, MaxScale) for divide-by-zero (0 for 0/0).
 template <class DigitsT>
 std::pair<DigitsT, int16_t> getQuotient(DigitsT Dividend, DigitsT Divisor) {
   static_assert(!std::numeric_limits<DigitsT>::is_signed, "expected unsigned");
@@ -159,7 +159,7 @@ std::pair<DigitsT, int16_t> getQuotient(DigitsT Dividend, DigitsT Divisor) {
   if (!Dividend)
     return std::make_pair(0, 0);
   if (!Divisor)
-    return std::make_pair(std::numeric_limits<DigitsT>::max(), INT16_MAX);
+    return std::make_pair(std::numeric_limits<DigitsT>::max(), MaxScale);
 
   if (getWidth<DigitsT>() == 64)
     return divide64(Dividend, Divisor);
index 48527e5d1bb4245a3ec4b846f3782ebdc3de1d01..2565873ea8d962fafdb8678b6cb31fdd8895c180 100644 (file)
@@ -137,8 +137,8 @@ TEST(ScaledNumberHelpersTest, getQuotient) {
   EXPECT_EQ(SP32(0, 0), getQuotient32(0, 0));
   EXPECT_EQ(SP32(0, 0), getQuotient32(0, 1));
   EXPECT_EQ(SP32(0, 0), getQuotient32(0, 73));
-  EXPECT_EQ(SP32(UINT32_MAX, INT16_MAX), getQuotient32(1, 0));
-  EXPECT_EQ(SP32(UINT32_MAX, INT16_MAX), getQuotient32(6, 0));
+  EXPECT_EQ(SP32(UINT32_MAX, MaxScale), getQuotient32(1, 0));
+  EXPECT_EQ(SP32(UINT32_MAX, MaxScale), getQuotient32(6, 0));
 
   // Powers of two.
   EXPECT_EQ(SP32(1u << 31, -31), getQuotient32(1, 1));
@@ -171,8 +171,8 @@ TEST(ScaledNumberHelpersTest, getQuotient) {
   EXPECT_EQ(SP64(0, 0), getQuotient64(0, 0));
   EXPECT_EQ(SP64(0, 0), getQuotient64(0, 1));
   EXPECT_EQ(SP64(0, 0), getQuotient64(0, 73));
-  EXPECT_EQ(SP64(UINT64_MAX, INT16_MAX), getQuotient64(1, 0));
-  EXPECT_EQ(SP64(UINT64_MAX, INT16_MAX), getQuotient64(6, 0));
+  EXPECT_EQ(SP64(UINT64_MAX, MaxScale), getQuotient64(1, 0));
+  EXPECT_EQ(SP64(UINT64_MAX, MaxScale), getQuotient64(6, 0));
 
   // Powers of two.
   EXPECT_EQ(SP64(1, 0), getQuotient64(1, 1));