diff --git a/src/libcore/fmt/float.rs b/src/libcore/fmt/float.rs index 87def375b202b..4825c2aa13264 100644 --- a/src/libcore/fmt/float.rs +++ b/src/libcore/fmt/float.rs @@ -21,7 +21,7 @@ fn float_to_decimal_common_exact(fmt: &mut Formatter, num: &T, { unsafe { let mut buf: [u8; 1024] = mem::uninitialized(); // enough for f32 and f64 - let mut parts: [flt2dec::Part; 5] = mem::uninitialized(); + let mut parts: [flt2dec::Part; 4] = mem::uninitialized(); let formatted = flt2dec::to_exact_fixed_str(flt2dec::strategy::grisu::format_exact, *num, sign, precision, false, &mut buf, &mut parts); @@ -39,7 +39,7 @@ fn float_to_decimal_common_shortest(fmt: &mut Formatter, unsafe { // enough for f32 and f64 let mut buf: [u8; flt2dec::MAX_SIG_DIGITS] = mem::uninitialized(); - let mut parts: [flt2dec::Part; 5] = mem::uninitialized(); + let mut parts: [flt2dec::Part; 4] = mem::uninitialized(); let formatted = flt2dec::to_shortest_str(flt2dec::strategy::grisu::format_shortest, *num, sign, 0, false, &mut buf, &mut parts); fmt.pad_formatted_parts(&formatted) @@ -75,7 +75,7 @@ fn float_to_exponential_common_exact(fmt: &mut Formatter, num: &T, { unsafe { let mut buf: [u8; 1024] = mem::uninitialized(); // enough for f32 and f64 - let mut parts: [flt2dec::Part; 7] = mem::uninitialized(); + let mut parts: [flt2dec::Part; 6] = mem::uninitialized(); let formatted = flt2dec::to_exact_exp_str(flt2dec::strategy::grisu::format_exact, *num, sign, precision, upper, &mut buf, &mut parts); @@ -94,7 +94,7 @@ fn float_to_exponential_common_shortest(fmt: &mut Formatter, unsafe { // enough for f32 and f64 let mut buf: [u8; flt2dec::MAX_SIG_DIGITS] = mem::uninitialized(); - let mut parts: [flt2dec::Part; 7] = mem::uninitialized(); + let mut parts: [flt2dec::Part; 6] = mem::uninitialized(); let formatted = flt2dec::to_shortest_exp_str(flt2dec::strategy::grisu::format_shortest, *num, sign, (0, 0), upper, &mut buf, &mut parts); diff --git a/src/libcore/num/flt2dec/mod.rs b/src/libcore/num/flt2dec/mod.rs index 5123e42df61ca..74b9e7bf37d51 100644 --- a/src/libcore/num/flt2dec/mod.rs +++ b/src/libcore/num/flt2dec/mod.rs @@ -410,8 +410,8 @@ fn determine_sign(sign: Sign, decoded: &FullDecoded, negative: bool) -> &'static /// it will only print given digits and nothing else. /// /// The byte buffer should be at least `MAX_SIG_DIGITS` bytes long. -/// There should be at least 5 parts available, due to the worst case like -/// `[+][0.][0000][45][0000]` with `frac_digits = 10`. +/// There should be at least 4 parts available, due to the worst case like +/// `[+][0.][0000][2][0000]` with `frac_digits = 10`. pub fn to_shortest_str<'a, T, F>(mut format_shortest: F, v: T, sign: Sign, frac_digits: usize, _upper: bool, buf: &'a mut [u8], parts: &'a mut [Part<'a>]) -> Formatted<'a> @@ -465,8 +465,8 @@ pub fn to_shortest_str<'a, T, F>(mut format_shortest: F, v: T, /// cannot be in this range, avoiding any confusion. /// /// The byte buffer should be at least `MAX_SIG_DIGITS` bytes long. -/// There should be at least 7 parts available, due to the worst case like -/// `[+][1][.][2345][e][-][67]`. +/// There should be at least 6 parts available, due to the worst case like +/// `[+][1][.][2345][e][-][6]`. pub fn to_shortest_exp_str<'a, T, F>(mut format_shortest: F, v: T, sign: Sign, dec_bounds: (i16, i16), upper: bool, buf: &'a mut [u8], parts: &'a mut [Part<'a>]) -> Formatted<'a> @@ -544,8 +544,8 @@ fn estimate_max_buf_len(exp: i16) -> usize { /// The byte buffer should be at least `ndigits` bytes long unless `ndigits` is /// so large that only the fixed number of digits will be ever written. /// (The tipping point for `f64` is about 800, so 1000 bytes should be enough.) -/// There should be at least 7 parts available, due to the worst case like -/// `[+][1][.][2345][e][-][67]`. +/// There should be at least 6 parts available, due to the worst case like +/// `[+][1][.][2345][e][-][6]`. pub fn to_exact_exp_str<'a, T, F>(mut format_exact: F, v: T, sign: Sign, ndigits: usize, upper: bool, buf: &'a mut [u8], parts: &'a mut [Part<'a>]) -> Formatted<'a> @@ -600,8 +600,8 @@ pub fn to_exact_exp_str<'a, T, F>(mut format_exact: F, v: T, /// The byte buffer should be enough for the output unless `frac_digits` is /// so large that only the fixed number of digits will be ever written. /// (The tipping point for `f64` is about 800, and 1000 bytes should be enough.) -/// There should be at least 5 parts available, due to the worst case like -/// `[+][0.][0000][45][0000]` with `frac_digits = 10`. +/// There should be at least 4 parts available, due to the worst case like +/// `[+][0.][0000][2][0000]` with `frac_digits = 10`. pub fn to_exact_fixed_str<'a, T, F>(mut format_exact: F, v: T, sign: Sign, frac_digits: usize, _upper: bool, buf: &'a mut [u8], parts: &'a mut [Part<'a>]) -> Formatted<'a>