[llvm-commits] CVS: llvm/include/llvm/ADT/APInt.h

Reid Spencer reid at x10sys.com
Sat Feb 24 01:50:30 PST 2007



Changes in directory llvm/include/llvm/ADT:

APInt.h updated: 1.16 -> 1.17
---
Log message:

Improve documentation.
Make divide function internal (it was briefly external for testing).


---
Diffs of the changes:  (+16 -12)

 APInt.h |   28 ++++++++++++++++------------
 1 files changed, 16 insertions(+), 12 deletions(-)


Index: llvm/include/llvm/ADT/APInt.h
diff -u llvm/include/llvm/ADT/APInt.h:1.16 llvm/include/llvm/ADT/APInt.h:1.17
--- llvm/include/llvm/ADT/APInt.h:1.16	Tue Feb 20 21:56:12 2007
+++ llvm/include/llvm/ADT/APInt.h	Sat Feb 24 03:50:13 2007
@@ -107,8 +107,8 @@
   }
 
   /// This method is used internally to clear the to "N" bits that are not used
-  /// by the APInt. This is needed after a word is assigned a value to ensure 
-  /// that those bits are zero'd out.
+  /// by the APInt. This is needed after the most significant word is assigned 
+  /// a value to ensure that those bits are zero'd out.
   /// @brief Clear high order bits
   inline void clearUnusedBits() {
     if (isSingleWord())
@@ -119,31 +119,35 @@
   }
 
   /// @returns the corresponding word for the specified bit position.
-  /// This is a constant version.
+  /// @brief Get the word corresponding to a bit position
   inline uint64_t getWord(uint32_t bitPosition) const { 
     return isSingleWord() ? VAL : pVal[whichWord(bitPosition)]; 
   }
 
-  /// @brief Converts a char array into an integer.
+  /// This is used by the constructors that take string arguments.
+  /// @brief Converts a char array into an APInt
   void fromString(uint32_t numBits, const char *StrStart, uint32_t slen, 
                   uint8_t radix);
 
+  /// This is used by the toString method to divide by the radix. It simply
+  /// provides a more convenient form of divide for internal use.
+  /// @brief An internal division function for dividing APInts.
+  static void divide(const APInt LHS, uint32_t lhsWords, 
+                     const APInt &RHS, uint32_t rhsWords,
+                     APInt *Quotient, APInt *Remainder);
+
 #ifndef NDEBUG
   /// @brief debug method
   void dump() const;
 #endif
 
 public:
-  /// @brief An internal division function for dividing APInts.
-  static void divide(const APInt LHS, uint32_t lhsWords, 
-                     const APInt &RHS, uint32_t rhsWords,
-                     APInt *Quotient, APInt *Remainder);
-
-  /// @brief Create a new APInt of numBits bit-width, and initialized as val.
+  /// @brief Create a new APInt of numBits width, initialized as val.
   APInt(uint32_t numBits, uint64_t val);
 
-  /// @brief Create a new APInt of numBits bit-width, and initialized as 
-  /// bigVal[].
+  /// Note that numWords can be smaller or larger than the corresponding bit
+  /// width but any extraneous bits will be dropped.
+  /// @brief Create a new APInt of numBits width, initialized as bigVal[].
   APInt(uint32_t numBits, uint32_t numWords, uint64_t bigVal[]);
 
   /// @brief Create a new APInt by translating the string represented 






More information about the llvm-commits mailing list