Lines Matching refs:length
99 Vector<char> buffer, int* length) {
101 buffer[(*length) + i] = '0' + number % 10;
104 *length += requested_length;
107 static void FillDigits32(uint32_t number, Vector<char> buffer, int* length) {
113 buffer[(*length) + number_length] = '0' + digit;
117 int i = *length;
118 int j = *length + number_length - 1;
126 *length += number_length;
130 Vector<char> buffer, int* length) {
138 FillDigits32FixedLength(part0, 3, buffer, length);
139 FillDigits32FixedLength(part1, 7, buffer, length);
140 FillDigits32FixedLength(part2, 7, buffer, length);
143 static void FillDigits64(uint64_t number, Vector<char> buffer, int* length) {
152 FillDigits32(part0, buffer, length);
153 FillDigits32FixedLength(part1, 7, buffer, length);
154 FillDigits32FixedLength(part2, 7, buffer, length);
156 FillDigits32(part1, buffer, length);
157 FillDigits32FixedLength(part2, 7, buffer, length);
159 FillDigits32(part2, buffer, length);
163 static void DtoaRoundUp(Vector<char> buffer, int* length, int* decimal_point) {
165 if (*length == 0) {
168 *length = 1;
173 buffer[(*length) - 1]++;
174 for (int i = (*length) - 1; i > 0; --i) {
205 int* length, int* decimal_point) {
229 buffer[*length] = '0' + digit;
230 (*length)++;
235 DtoaRoundUp(buffer, length, decimal_point);
250 buffer[*length] = '0' + digit;
251 (*length)++;
254 DtoaRoundUp(buffer, length, decimal_point);
261 static void TrimZeros(Vector<char> buffer, int* length, int* decimal_point) {
262 while (*length > 0 && buffer[(*length) - 1] == '0') {
263 (*length)--;
266 while (first_non_zero < *length && buffer[first_non_zero] == '0') {
270 for (int i = first_non_zero; i < *length; ++i) {
273 *length -= first_non_zero;
279 int* length, int* decimal_point) {
290 *length = 0;
328 FillDigits32(quotient, buffer, length);
329 FillDigits64FixedLength(remainder, divisor_power, buffer, length);
330 *decimal_point = *length;
334 FillDigits64(significand, buffer, length);
335 *decimal_point = *length;
341 FillDigits64(integrals, buffer, length);
343 FillDigits32(static_cast<uint32_t>(integrals), buffer, length);
345 *decimal_point = *length;
346 FillFractionals(fractionals, exponent, fractional_count, buffer, length,
353 *length = 0;
357 FillFractionals(significand, exponent, fractional_count, buffer, length,
360 TrimZeros(buffer, length, decimal_point);
361 buffer[*length] = '\0';
362 if ((*length) == 0) {