Home | History | Annotate | Download | only in src

Lines Matching refs:buffer

103                                     Vector<char> buffer, int* length) {
105 buffer[(*length) + i] = '0' + number % 10;
112 static void FillDigits32(uint32_t number, Vector<char> buffer, int* length) {
118 buffer[(*length) + number_length] = '0' + digit;
125 char tmp = buffer[i];
126 buffer[i] = buffer[j];
127 buffer[j] = tmp;
136 Vector<char> buffer, int* length) {
144 FillDigits32FixedLength(part0, 3, buffer, length);
145 FillDigits32FixedLength(part1, 7, buffer, length);
146 FillDigits32FixedLength(part2, 7, buffer, length);
150 static void FillDigits64(uint64_t number, Vector<char> buffer, int* length) {
159 FillDigits32(part0, buffer, length);
160 FillDigits32FixedLength(part1, 7, buffer, length);
161 FillDigits32FixedLength(part2, 7, buffer, length);
163 FillDigits32(part1, buffer, length);
164 FillDigits32FixedLength(part2, 7, buffer, length);
166 FillDigits32(part2, buffer, length);
171 static void RoundUp(Vector<char> buffer, int* length, int* decimal_point) {
172 // An empty buffer represents 0.
174 buffer[0] = '1';
181 buffer[(*length) - 1]++;
183 if (buffer[i] != '0' + 10) {
186 buffer[i] = '0';
187 buffer[i - 1]++;
194 if (buffer[0] == '0' + 10) {
195 buffer[0] = '1';
206 // The buffer holds the result.
209 // might be updated. If this function generates the digits 99 and the buffer
210 // already contained "199" (thus yielding a buffer of "19999") then a
211 // rounding-up will change the contents of the buffer to "20000".
213 int fractional_count, Vector<char> buffer,
238 buffer[*length] = '0' + digit;
244 RoundUp(buffer, length, decimal_point);
259 buffer[*length] = '0' + digit;
263 RoundUp(buffer, length, decimal_point);
271 static void TrimZeros(Vector<char> buffer, int* length, int* decimal_point) {
272 while (*length > 0 && buffer[(*length) - 1] == '0') {
276 while (first_non_zero < *length && buffer[first_non_zero] == '0') {
281 buffer[i - first_non_zero] = buffer[i];
291 Vector<char> buffer,
342 FillDigits32(quotient, buffer, length);
343 FillDigits64FixedLength(remainder, divisor_power, buffer, length);
348 FillDigits64(significand, buffer, length);
355 FillDigits64(integrals, buffer, length);
357 FillDigits32(static_cast<uint32_t>(integrals), buffer, length);
361 buffer, length, decimal_point);
366 buffer[0] = '\0';
372 buffer, length, decimal_point);
374 TrimZeros(buffer, length, decimal_point);
375 buffer[*length] = '\0';