[−][src]Struct embedded_time::Period
A fractional time period
Used primarily to define the period of one count of a crate::Duration
type
Implementations
impl<T> Period<T>
[src]
pub const fn new(numerator: T, denominator: T) -> Self
[src]
Construct a new fractional Period
.
A reduction is not performed.
pub const fn numerator(&self) -> &T
[src]
Return the numerator of the fraction
pub const fn denominator(&self) -> &T
[src]
Return the denominator of the fraction
impl<T: TimeInt> Period<T>
[src]
pub fn new_reduce(numerator: T, denominator: T) -> Self
[src]
Construct a new fractional Period
.
A reduction is performed.
pub fn to_frequency(&self) -> Hertz<T>
[src]
Returns a frequency in Hertz
from the Period
pub fn from_frequency(freq: Hertz<T>) -> Self
[src]
Constructs a Period
from a frequency in Hertz
pub fn to_integer(&self) -> T
[src]
Returns an integer approximation of the Period
Any remainder is truncated.
pub fn from_integer(value: T) -> Self
[src]
Constructs a Period
from an integer.
Equivalent to Period::new(value,1)
.
pub fn checked_mul_integer(&self, multiplier: T) -> Option<Self>
[src]
assert_eq!(Period::new(1000, 1).checked_mul_integer(5), Some(Period::new(5_000, 1))); assert_eq!(Period::new(i32::MAX, 1).checked_mul_integer(2), None);
pub fn checked_div_integer(&self, divisor: T) -> Option<Self>
[src]
assert_eq!(Period::new(1000, 1).checked_div_integer(5), Some(Period::new(200, 1))); assert_eq!(Period::new(1, 1000).checked_div_integer(5), Some(Period::new(1, 5000))); assert_eq!(Period::new(1, i32::MAX).checked_div_integer(2), None);
Trait Implementations
impl<T> CheckedDiv for Period<T> where
T: TimeInt,
[src]
T: TimeInt,
fn checked_div(&self, v: &Self) -> Option<Self>
[src]
assert_eq!(<Period as num::CheckedDiv>::checked_div(&Period::new(1000, 1), &Period::new(10, 1000)), Some(Period::new(1_000_000, 10))); assert_eq!(<Period as num::CheckedDiv>::checked_div(&Period::new(1, i32::MAX), &Period::new(2,1)), None);
impl<T> CheckedMul for Period<T> where
T: TimeInt,
[src]
T: TimeInt,
fn checked_mul(&self, v: &Self) -> Option<Self>
[src]
assert_eq!(<Period as num::CheckedMul>::checked_mul(&Period::new(1000, 1), &Period::new(5,5)), Some(Period::new(5_000, 5))); assert_eq!(<Period as num::CheckedMul>::checked_mul(&Period::new(i32::MAX, 1), &Period::new(2,1)), None);
impl<T: Debug> Debug for Period<T>
[src]
impl<T> Div<Period<T>> for Period<T> where
T: TimeInt,
[src]
T: TimeInt,
type Output = Self
The resulting type after applying the /
operator.
fn div(self, rhs: Self) -> Self::Output
[src]
assert_eq!(Period::new(1000, 1) / Period::new(10, 1_000), Period::new(1_000_000, 10));
impl<T> Mul<Period<T>> for Period<T> where
T: TimeInt,
[src]
T: TimeInt,
type Output = Self
The resulting type after applying the *
operator.
fn mul(self, rhs: Self) -> Self::Output
[src]
assert_eq!(Period::new(1000, 1) * Period::new(5,5), Period::new(5_000, 5));
impl<T: TimeInt> PartialEq<Period<T>> for Period<T>
[src]
impl<T: TimeInt> PartialOrd<Period<T>> for Period<T>
[src]
Auto Trait Implementations
impl<T> Send for Period<T> where
T: Send,
T: Send,
impl<T> Sync for Period<T> where
T: Sync,
T: Sync,
impl<T> Unpin for Period<T> where
T: Unpin,
T: Unpin,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,