Lines Matching refs:buffer

584 Generates V = buffer * 10^decimal_exponent, such that M- <= V <= M+.
587 inline void grisu2_digit_gen(char* buffer, int& length, int& decimal_exponent,
594 // number V = buffer * 10^decimal_exponent in the range [M-, M+]. The diyfp's
654 // M+ = buffer * 10^n + (p1 + p2 * 2^e) (buffer = 0 for n = k)
660 // M+ = buffer * 10^n + (d * 10^(n-1) + r) + p2 * 2^e
661 // = (buffer * 10 + d) * 10^(n-1) + (r + p2 * 2^e)
664 buffer[length++] = static_cast<char>('0' + d); // buffer := buffer * 10 + d
666 // M+ = buffer * 10^(n-1) + (r + p2 * 2^e)
671 // M+ = buffer * 10^n + (p1 + p2 * 2^e)
686 // V = buffer * 10^n, with M- <= V <= M+.
690 // We may now just stop. But instead look if the buffer could be
700 grisu2_round(buffer, length, dist, delta, rest, ten_n);
716 // = buffer + p2 * 2^e
744 // M+ = buffer + p2 * 2^e
745 // = buffer + 10^-m * (d + r * 2^e)
746 // = (buffer * 10^m + d) * 10^-m + 10^-m * r * 2^e
756 // M+ = buffer * 10^-m + 10^-m * (d[-m-1] / 10 + d[-m-2] / 10^2 + ...) * 2^e
757 // = buffer * 10^-m + 10^-m * (p2 ) * 2^e
758 // = buffer * 10^-m + 10^-m * (1/10 * (10 * p2) ) * 2^e
759 // = buffer * 10^-m + 10^-m * (1/10 * ((10*p2 div 2^-e) * 2^-e + (10*p2 mod 2^-e)) * 2^e
766 // M+ = buffer * 10^-m + 10^-m * (1/10 * (d * 2^-e + r) * 2^e
767 // = buffer * 10^-m + 10^-m * (1/10 * (d + r * 2^e))
768 // = (buffer * 10 + d) * 10^(-m-1) + 10^(-m-1) * r * 2^e
771 buffer[length++] = static_cast<char>('0' + d); // buffer := buffer * 10 + d
773 // M+ = buffer * 10^(-m-1) + 10^(-m-1) * r * 2^e
778 // M+ = buffer * 10^-m + 10^-m * p2 * 2^e
794 // V = buffer * 10^-m, with M- <= V <= M+.
805 grisu2_round(buffer, length, dist, delta, p2, ten_m);
824 len is the length of the buffer (number of decimal digits)
825 The buffer must be large enough, i.e. >= max_digits10.
883 len is the length of the buffer (number of decimal digits)
884 The buffer must be large enough, i.e. >= max_digits10.
990 // k is the length of the buffer (number of decimal digits)
991 // n is the position of the decimal point relative to the start of the buffer.
1059 @note The buffer must be large enough.
1095 // Compute v = buffer * 10^decimal_exponent.
1096 // The decimal digits are stored in the buffer, which needs to be interpreted
1098 // len is the length of the buffer, i.e. the number of decimal digits.
1105 // Format the buffer like printf("%.*g", prec, value)