about summary refs log tree commit diff
path: root/library/core/src/num/dec2flt
diff options
context:
space:
mode:
authorDylan DPC <99973273+Dylan-DPC@users.noreply.github.com>2022-05-23 15:11:02 +0200
committerGitHub <noreply@github.com>2022-05-23 15:11:02 +0200
commit98a8035bedd2c660912d1e6ecfe86c895e588feb (patch)
treef126f37017f2bc9adf59edfda8d0dc35a73413f5 /library/core/src/num/dec2flt
parent32c8c5df06c025441ad04791d7982d65c79a60e4 (diff)
parent16c81fa9a6b0e5b56320baa7ca569e024425344e (diff)
Rollup merge of #96129 - mattheww:2022-04_float_rounding, r=Dylan-DPC
Document rounding for floating-point primitive operations and string parsing

The docs for floating point don't have much to say at present about either the precision of their results or rounding behaviour.

As I understand it[^1][^2], Rust doesn't support operating with non-default rounding directions, so we need only describe roundTiesToEven.

[^1]: https://github.com/rust-lang/rust/issues/41753#issuecomment-299322887
[^2]: https://github.com/llvm/llvm-project/issues/8472#issuecomment-980888781

This PR makes a start by documenting that for primitive operations and `from_str()`.
Diffstat (limited to 'library/core/src/num/dec2flt')
-rw-r--r--library/core/src/num/dec2flt/mod.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/library/core/src/num/dec2flt/mod.rs b/library/core/src/num/dec2flt/mod.rs
index 541adb69b8e..df0e7431f1f 100644
--- a/library/core/src/num/dec2flt/mod.rs
+++ b/library/core/src/num/dec2flt/mod.rs
@@ -143,8 +143,10 @@ macro_rules! from_str_float_impl {
             /// # Return value
             ///
             /// `Err(ParseFloatError)` if the string did not represent a valid
-            /// number. Otherwise, `Ok(n)` where `n` is the floating-point
-            /// number represented by `src`.
+            /// number. Otherwise, `Ok(n)` where `n` is the closest
+            /// representable floating-point number to the number represented
+            /// by `src` (following the same rules for rounding as for the
+            /// results of primitive operations).
             #[inline]
             fn from_str(src: &str) -> Result<Self, ParseFloatError> {
                 dec2flt(src)