mirror of
https://github.com/fmtlib/fmt.git
synced 2025-11-28 05:09:44 +01:00
More fixed precision tests
This commit is contained in:
@@ -588,7 +588,7 @@ struct fixed_handler {
|
||||
}
|
||||
|
||||
digits::result on_digit(char digit, uint64_t divisor, uint64_t remainder,
|
||||
uint64_t error, int& exp, bool integral) {
|
||||
uint64_t error, int, bool integral) {
|
||||
FMT_ASSERT(remainder < divisor, "");
|
||||
buf[size++] = digit;
|
||||
if (size != precision) return digits::more;
|
||||
@@ -601,7 +601,6 @@ struct fixed_handler {
|
||||
FMT_ASSERT(error == 1 && divisor > 2, "");
|
||||
}
|
||||
auto dir = get_round_direction(divisor, remainder, error);
|
||||
// TODO: test rounding
|
||||
if (dir != up) return dir == down ? digits::done : digits::error;
|
||||
++buf[size - 1];
|
||||
for (int i = size - 1; i > 0 && buf[i] > '9'; --i) {
|
||||
@@ -610,7 +609,7 @@ struct fixed_handler {
|
||||
}
|
||||
if (buf[0] > '9') {
|
||||
buf[0] = '1';
|
||||
++exp;
|
||||
buf[size++] = '0';
|
||||
}
|
||||
return digits::done;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user