[−][src]Trait fixed::traits::FromFixed
This trait provides checked conversions from fixed-point numbers.
This trait is implemented for conversions between integer primitives, floating-point primitives and fixed-point numbers.
Examples
use fixed::traits::FromFixed; use fixed::types::U8F8; // 0x87.65 let f = U8F8::from_bits(0x8765); assert_eq!(f32::from_fixed(f), f32::from(0x8765u16) / 256.0); assert_eq!(i32::checked_from_fixed(f), Some(0x87)); assert_eq!(u8::saturating_from_fixed(f), 0x87); // no fit assert_eq!(i8::checked_from_fixed(f), None); assert_eq!(i8::saturating_from_fixed(f), i8::max_value()); assert_eq!(i8::wrapping_from_fixed(f), 0x87u8 as i8); assert_eq!(i8::overflowing_from_fixed(f), (0x87u8 as i8, true));
Required methods
fn from_fixed<F: Fixed>(src: F) -> Self
Converts from a fixed-point number.
Any extra fractional bits are truncated.
Panics
When debug assertions are enabled, panics if the value does
not fit. When debug assertions are not enabled, the wrapped
value can be returned, but it is not considered a breaking
change if in the future it panics; if wrapping is required use
wrapping_from_fixed
instead.
fn checked_from_fixed<F: Fixed>(src: F) -> Option<Self> where
Self: Sized,
Self: Sized,
Converts from a fixed-point number if it fits, otherwise returns None
.
Any extra fractional bits are truncated.
fn saturating_from_fixed<F: Fixed>(src: F) -> Self
Converts from a fixed-point number, saturating if it does not fit.
Any extra fractional bits are truncated.
fn wrapping_from_fixed<F: Fixed>(src: F) -> Self
Converts from a fixed-point number, wrapping if it does not fit.
Any extra fractional bits are truncated.
fn overflowing_from_fixed<F: Fixed>(src: F) -> (Self, bool) where
Self: Sized,
Self: Sized,