| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Functions
xtoa.cpp File Reference
`#include <stdlib.h>`
`#include <limits.h>`
`#include "GaudiKernel/xtoa.h"`
Include dependency graph for xtoa.cpp:

Go to the source code of this file.

## Functions
static void __cdecl | xtoa (unsigned long val, char *buf, unsigned radix, int is_neg)
char *__cdecl | _itoa (int val, char *buf, int radix)
char *__cdecl | _ltoa (long val, char *buf, int radix)
char *__cdecl | _ultoa (unsigned long val, char *buf, int radix)

## Function Documentation

char* __cdecl _itoa | ( | int | val,
|  | char * | buf,
|  | int | radix
| ) |  |

Definition at line 83 of file xtoa.cpp.

{
if (radix == 10 && val < 0)
xtoa((unsigned long)val, buf, radix, 1);
else
xtoa((unsigned long)(unsigned int)val, buf, radix, 0);
return buf;
}

char* __cdecl _ltoa | ( | long | val,
|  | char * | buf,
|  | int | radix
| ) |  |

Definition at line 91 of file xtoa.cpp.

{
xtoa((unsigned long)val, buf, radix, (radix == 10 && val < 0));
return buf;
}

char* __cdecl _ultoa | ( | unsigned long | val,
|  | char * | buf,
|  | int | radix
| ) |  |

Definition at line 96 of file xtoa.cpp.

{
xtoa(val, buf, radix, 0);
return buf;
}

static void __cdecl xtoa | ( | unsigned long | val,
|  | char * | buf,
|  | unsigned | radix,
|  | int | is_neg
| ) |  |
| static

Definition at line 39 of file xtoa.cpp.

{
char *p; /* pointer to traverse string */
char *firstdig; /* pointer to first digit */
char temp; /* temp char */
unsigned digval; /* value of digit */
p = buf;
if (is_neg) {
/* negative, so output '-' and negate */
*p++ = '-';
val = (unsigned long)(-(long)val);
}
firstdig = p; /* save pointer to first digit */
do {
digval = (unsigned) (val % radix);
val /= radix; /* get next digit */
/* convert to ascii and store */
if (digval > 9)
*p++ = (char) (digval - 10 + 'a'); /* a letter */
else
*p++ = (char) (digval + '0'); /* a digit */
} while (val > 0);
/* We now have the digit of the number in the buffer, but in reverse
order. Thus we reverse them now. */
*p-- = '\0'; /* terminate string; p points to last digit */
do {
temp = *p;
*p = *firstdig;
*firstdig = temp; /* swap *p and *firstdig */
--p;
++firstdig; /* advance to next two digits */
} while (firstdig < p); /* repeat until halfway */
}