Correct the order of the arguments in the examples in the comments
authorDan Gohman <gohman@apple.com>
Mon, 11 Feb 2008 23:45:14 +0000 (23:45 +0000)
committerDan Gohman <gohman@apple.com>
Mon, 11 Feb 2008 23:45:14 +0000 (23:45 +0000)
for APInt::getBitsSet. And fix an off-by-one bug in "wrapping" mode.

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

include/llvm/ADT/APInt.h

index 7fe79e2ccad2d1ad2e6864ae3d8f5b398a4b3a11..a1ccb8513c3536efec66324a54ec481ca319c838 100644 (file)
@@ -371,9 +371,9 @@ public:
 
   /// Constructs an APInt value that has a contiguous range of bits set. The
   /// bits from loBit to hiBit will be set. All other bits will be zero. For
-  /// example, with parameters(32, 15, 0) you would get 0x0000FFFF. If hiBit is
+  /// example, with parameters(32, 0, 15) you would get 0x0000FFFF. If hiBit is
   /// less than loBit then the set bits "wrap". For example, with 
-  /// parameters (32, 3, 28), you would get 0xF000000F. 
+  /// parameters (32, 28, 3), you would get 0xF000000F. 
   /// @param numBits the intended bit width of the result
   /// @param loBit the index of the lowest bit set.
   /// @param hiBit the index of the highest bit set.
@@ -384,7 +384,7 @@ public:
     assert(loBit < numBits && "loBit out of range");
     if (hiBit < loBit)
       return getLowBitsSet(numBits, hiBit+1) |
-             getHighBitsSet(numBits, numBits-loBit+1);
+             getHighBitsSet(numBits, numBits-loBit);
     return getLowBitsSet(numBits, hiBit-loBit+1).shl(loBit);
   }