u64tos.ha (420B)
1 // SPDX-License-Identifier: MPL-2.0 2 // (c) Hare authors <https://harelang.org> 3 4 def U64_BUFSZ = 20; 5 6 fn u64tos(buf: []u8, u: u64) str = { 7 let sl = buf[..0]; 8 if (u == 0) { 9 static append(sl, '0')!; 10 }; 11 for (u > 0) { 12 static append(sl, (u % 10): u8 + '0')!; 13 u /= 10; 14 }; 15 for (let s = 0z, e = len(sl) - 1; s < e) { 16 let tmp = sl[s]; 17 sl[s] = sl[e]; 18 sl[e] = tmp; 19 s += 1; 20 e -= 1; 21 }; 22 return *(&sl: *str); 23 };