1 #include "samd51j18a.h"
5 char digit(int d, int radix)
17 int UTIL_ltoa_radix(int64_t value, char *dest, int radix)
19 int64_t original = value; //save original value
21 int c = sizeof(buf)-1;
26 if (value < 0) //if it's negative, take the absolute value
29 do //write least significant digit of value that's left
32 buf[--c] = digit(d, radix);
39 size = last - c + 1; //includes null at end
40 memcpy(dest, &buf[c], last - c + 1);
42 return (size - 1); //without null termination
45 int UTIL_ltoa(int64_t value, char *dest)
47 return UTIL_ltoa_radix(value, dest, 10);
50 int UTIL_itoa(int value, char *dest)
52 return UTIL_ltoa_radix((int64_t)value, dest, 10);
55 int UTIL_utoa(uint32_t value, char *dest)
57 return UTIL_ltoa_radix((int64_t)value, dest, 10);