Add examples section which demonstrates the behaviour (specifically the sign positive aspect)

This commit is contained in:
bmoxb 2023-03-09 20:44:11 +00:00
parent 8d2bdb89c6
commit b439189236

View file

@ -174,6 +174,16 @@ impl_from! { f32, f64, #[stable(feature = "lossless_float_conv", since = "1.6.0"
impl const From<bool> for f32 {
/// Converts `bool` to `f32` losslessly. The resulting value is positive
/// `0.0` for `false` and `1.0` for `true` values.
///
/// # Examples
/// ```
/// let x: f32 = false.into();
/// assert_eq!(x, 0.0);
/// assert!(x.is_sign_positive());
///
/// let y: f32 = true.into();
/// assert_eq!(y, 1.0);
/// ```
#[inline]
fn from(small: bool) -> Self {
small as u8 as Self
@ -184,6 +194,16 @@ impl const From<bool> for f32 {
impl const From<bool> for f64 {
/// Converts `bool` to `f64` losslessly. The resulting value is positive
/// `0.0` for `false` and `1.0` for `true` values.
///
/// # Examples
/// ```
/// let x: f64 = false.into();
/// assert_eq!(x, 0.0);
/// assert!(x.is_sign_positive());
///
/// let y: f64 = true.into();
/// assert_eq!(y, 1.0);
/// ```
#[inline]
fn from(small: bool) -> Self {
small as u8 as Self