mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-10 02:36:06 +00:00
Add llvm::hexdigit to StringExtras (number -> hexadecimal char)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57536 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
13739433d0
commit
c9debfbf06
@ -23,6 +23,12 @@
|
||||
|
||||
namespace llvm {
|
||||
|
||||
/// hexdigit - Return the (uppercase) hexadecimal character for the
|
||||
/// given number \arg X (which should be less than 16).
|
||||
static inline char hexdigit(unsigned X) {
|
||||
return X < 10 ? '0' + X : 'A' + X - 10;
|
||||
}
|
||||
|
||||
static inline std::string utohexstr(uint64_t X) {
|
||||
char Buffer[40];
|
||||
char *BufPtr = Buffer+39;
|
||||
@ -32,10 +38,7 @@ static inline std::string utohexstr(uint64_t X) {
|
||||
|
||||
while (X) {
|
||||
unsigned char Mod = static_cast<unsigned char>(X) & 15;
|
||||
if (Mod < 10)
|
||||
*--BufPtr = '0' + Mod;
|
||||
else
|
||||
*--BufPtr = 'A' + Mod-10;
|
||||
*--BufPtr = hexdigit(Mod);
|
||||
X >>= 4;
|
||||
}
|
||||
return std::string(BufPtr);
|
||||
|
Loading…
x
Reference in New Issue
Block a user