… | |
… | |
204 | } |
204 | } |
205 | |
205 | |
206 | void |
206 | void |
207 | dynbuf_text::add (sint32 i) |
207 | dynbuf_text::add (sint32 i) |
208 | { |
208 | { |
209 | force (11); // 10 digits + '-' |
209 | force (sint32_digits); |
210 | |
210 | |
211 | *ptr = '-'; ptr += i < 0 ? 1 : 0; |
211 | *ptr = '-'; ptr += i < 0 ? 1 : 0; |
212 | uint32 u = i < 0 ? -i : i; |
212 | uint32 u = i < 0 ? -i : i; |
213 | |
213 | |
214 | if (expect_true (u < 10)) // we have a lot of single-digit numbers, so optimise |
214 | if (expect_true (u < 10)) // we have a lot of single-digit numbers, so optimise |
… | |
… | |
226 | } |
226 | } |
227 | |
227 | |
228 | void |
228 | void |
229 | dynbuf_text::add (sint64 i) |
229 | dynbuf_text::add (sint64 i) |
230 | { |
230 | { |
231 | force (20); // 19 digits + '-' |
231 | force (sint64_digits); |
232 | |
232 | |
233 | *ptr = '-'; ptr += i < 0 ? 1 : 0; |
233 | *ptr = '-'; ptr += i < 0 ? 1 : 0; |
234 | uint64 u = i < 0 ? -i : i; |
234 | uint64 u = i < 0 ? -i : i; |
235 | |
235 | |
236 | // split the number into a 1-digit part |
236 | // split the number into a 1-digit part |