Lines Matching refs:buffer

66 void DtoaHelper::GrisuRound(char *buffer, int len, uint64_t delta, uint64_t rest, uint64_t tenKappa, uint64_t distance)
70 buffer[len - 1]--;
98 void DtoaHelper::DigitGen(const DiyFp &W, const DiyFp &Mp, uint64_t delta, char *buffer, int *len, int *K)
149 buffer[localLen++] = static_cast<char>('0' + static_cast<char>(d));
155 GrisuRound(buffer, localLen, delta, tmp, POW10[kappa] << -one.e, distance.f);
167 buffer[localLen++] = static_cast<char>('0' + d);
176 GrisuRound(buffer, localLen, delta, p2, one.f, distance.f * POW10[index]);
185 void DtoaHelper::Grisu(double value, char *buffer, int *length, int *K)
198 DigitGen(W, wPlus, wPlus.f - wMinus.f, buffer, length, K);
201 void DtoaHelper::Dtoa(double value, char *buffer, int *point, int *length)
207 Grisu(value, buffer, length, &k);
212 BufferVector<char> buffer, int* length)
215 buffer[(*length) + i] = '0' + number % TEN;
221 void DtoaHelper::FillDigits32(uint32_t number, BufferVector<char> buffer, int* length)
228 buffer[(*length) + number_length] = '0' + digit;
235 char tmp = buffer[i];
236 buffer[i] = buffer[j];
237 buffer[j] = tmp;
245 BufferVector<char> buffer, int* length)
252 FillDigits32FixedLength(part0, 3, buffer, length); // 3: parameter
253 FillDigits32FixedLength(part1, 7, buffer, length); // 7: parameter
254 FillDigits32FixedLength(part2, 7, buffer, length); // 7: parameter
257 void DtoaHelper::FillDigits64(uint64_t number, BufferVector<char> buffer, int* length)
265 FillDigits32(part0, buffer, length);
266 FillDigits32FixedLength(part1, 7, buffer, length); // 7: means the decimal digit
267 FillDigits32FixedLength(part2, 7, buffer, length); // 7: means the decimal digit
269 FillDigits32(part1, buffer, length);
270 FillDigits32FixedLength(part2, 7, buffer, length); // 7: means the decimal digit
272 FillDigits32(part2, buffer, length);
276 void DtoaHelper::RoundUp(BufferVector<char> buffer, int* length, int* decimal_point)
278 // An empty buffer represents 0.
280 buffer[0] = '1';
285 buffer[(*length) - 1]++;
287 if (buffer[i] != '0' + 10) { // 10: means the decimal digit
290 buffer[i] = '0';
291 buffer[i - 1]++;
293 if (buffer[0] == '0' + 10) { // 10: means the decimal digit
294 buffer[0] = '1';
300 BufferVector<char> buffer, int* length, int* decimal_point)
315 buffer[*length] = '0' + digit;
321 RoundUp(buffer, length, decimal_point);
336 buffer[*length] = '0' + digit;
340 RoundUp(buffer, length, decimal_point);
347 void DtoaHelper::TrimZeros(BufferVector<char> buffer, int* length, int* decimal_point)
349 while (*length > 0 && buffer[(*length) - 1] == '0') {
353 while (first_non_zero < *length && buffer[first_non_zero] == '0') {
358 buffer[i - first_non_zero] = buffer[i];
365 bool DtoaHelper::FixedDtoa(double v, int fractional_count, BufferVector<char> buffer,
369 buffer[0] = '0';
370 buffer[1] = '\0';
397 FillDigits32(quotient, buffer, length);
398 FillDigits64FixedLength(remainder, divisor_power, buffer, length);
403 FillDigits64(significand, buffer, length);
410 FillDigits64(integrals, buffer, length);
412 FillDigits32(static_cast<uint32_t>(integrals), buffer, length);
416 buffer, length, decimal_point);
419 buffer[0] = '\0';
425 buffer, length, decimal_point);
427 TrimZeros(buffer, length, decimal_point);
428 buffer[*length] = '\0';