[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