>>>>> "Ranier" == Ranier Vilela <ranier...@gmail.com> writes:
Ranier> Written like that, wouldn't it get better? Ranier> int Ranier> pg_lltoa(int64 value, char *a) Ranier> { Ranier> if (value < 0) Ranier> { Ranier> int len = 0; Ranier> uint64 uvalue = (uint64) 0 - uvalue; Ranier> a[len++] = '-'; Ranier> len += pg_ulltoa_n(uvalue, a + len); Ranier> a[len] = '\0'; Ranier> return len; Ranier> } Ranier> else Ranier> return pg_ulltoa_n(value, a); Ranier> } No. While it doesn't matter so much for pg_lltoa since that's unlikely to inline multiple pg_ulltoa_n calls, if you do pg_ltoa like this it (a) ends up with two copies of pg_ultoa_n inlined into it, and (b) you don't actually save any useful amount of time. Your version is also failing to add the terminating '\0' for the positive case and has other obvious bugs. -- Andrew (irc:RhodiumToad)