Reword docs for f32 and f64 · model-checking/verify-rust-std@36a20f7 (original) (raw)

Original file line number Diff line number Diff line change
@@ -796,8 +796,9 @@ impl f32 {
796 796 #[unstable(feature = "float_next_up_down", issue = "91399")]
797 797 #[rustc_const_unstable(feature = "float_next_up_down", issue = "91399")]
798 798 pub const fn next_up(self) -> Self {
799 -// We must use strictly integer arithmetic to prevent denormals from
800 -// flushing to zero after an arithmetic operation on some platforms.
799 +// Some targets violate Rust's assumption of IEEE semantics, e.g. by flushing
800 +// denormals to zero. This is in general unsound and unsupported, but here
801 +// we do our best to still produce the correct result on such targets.
801 802 let bits = self.to_bits();
802 803 if self.is_nan() |
803 804 return self;
@@ -843,8 +844,9 @@ impl f32 {
843 844 #[unstable(feature = "float_next_up_down", issue = "91399")]
844 845 #[rustc_const_unstable(feature = "float_next_up_down", issue = "91399")]
845 846 pub const fn next_down(self) -> Self {
846 -// We must use strictly integer arithmetic to prevent denormals from
847 -// flushing to zero after an arithmetic operation on some platforms.
847 +// Some targets violate Rust's assumption of IEEE semantics, e.g. by flushing
848 +// denormals to zero. This is in general unsound and unsupported, but here
849 +// we do our best to still produce the correct result on such targets.
848 850 let bits = self.to_bits();
849 851 if self.is_nan() |
850 852 return self;