about summary refs log tree commit diff
path: root/library/std/src
diff options
context:
space:
mode:
authorJubilee Young <workingjubilee@gmail.com>2020-11-01 10:31:08 -0800
committerJubilee Young <workingjubilee@gmail.com>2021-03-22 17:02:09 -0700
commite8dfbaca76616a32cabba30ec343cd4fcb28bda9 (patch)
tree35f7004871755a392c66f5795e45160337dc9970 /library/std/src
parent6fdb8d8b360b91a10045fe74467b98d218b7ffe9 (diff)
downloadrust-e8dfbaca76616a32cabba30ec343cd4fcb28bda9.tar.gz
rust-e8dfbaca76616a32cabba30ec343cd4fcb28bda9.zip
Rephrase -0.0 docs
Diffstat (limited to 'library/std/src')
-rw-r--r--library/std/src/primitive_docs.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/library/std/src/primitive_docs.rs b/library/std/src/primitive_docs.rs
index b48718df31c..64b22b64f4b 100644
--- a/library/std/src/primitive_docs.rs
+++ b/library/std/src/primitive_docs.rs
@@ -807,10 +807,10 @@ mod prim_tuple {}
 ///
 /// Additionally, `f32` can represent some special values:
 ///
-/// - `-0`: this value exists due to how floats are encoded. -0 == 0 is true, but for other
-///   operations they are not equal and the difference can be useful to certain algorithms.
-///   For example, operations on negative numbers that underflow to 0 will usually generate -0
-///   instead of +0.
+/// - -0.0: IEEE 754 floating point numbers have a bit that indicates their sign, so -0.0 is a
+///   possible value. For comparison `-0.0 == +0.0` is true but floating point operations can
+///   carry the sign bit through arithmetic operations. This means `-1.0 * 0.0` produces -0.0 and
+///   a negative number rounded to a value smaller than a float can represent also produces -0.0.
 /// - [∞](#associatedconstant.INFINITY) and
 ///   [−∞](#associatedconstant.NEG_INFINITY): these result from calculations
 ///   like `1.0 / 0.0`.