[][src]Trait kernel::hil::time::Ticks

pub trait Ticks: Clone + Copy + From<u32> + Debug + Ord + PartialOrd + Eq {
    pub fn into_usize(self) -> usize;
pub fn into_u32(self) -> u32;
pub fn wrapping_add(self, other: Self) -> Self;
pub fn wrapping_sub(self, other: Self) -> Self;
pub fn within_range(self, start: Self, end: Self) -> bool;
pub fn max_value() -> Self; }

An integer type defining the width of a time value, which allows clients to know when wraparound will occur.

Required methods

pub fn into_usize(self) -> usize[src]

Converts the type into a usize, stripping the higher bits it if it is larger than usize and filling the higher bits with 0 if it is smaller than usize.

pub fn into_u32(self) -> u32[src]

Converts the type into a u32, stripping the higher bits it if it is larger than u32 and filling the higher bits with 0 if it is smaller than u32. Included as a simple helper since Tock uses u32 pervasively and most platforms are 32 bits.

pub fn wrapping_add(self, other: Self) -> Self[src]

Add two values, wrapping around on overflow using standard unsigned arithmetic.

pub fn wrapping_sub(self, other: Self) -> Self[src]

Subtract two values, wrapping around on underflow using standard unsigned arithmetic.

pub fn within_range(self, start: Self, end: Self) -> bool[src]

Returns whether the value is in the range of [start, end) using unsigned arithmetic and considering wraparound. It returns trueif, incrementing fromstart, the value will be reached before end. Put another way, it returns (self - start) < (end - start)` in unsigned arithmetic.

pub fn max_value() -> Self[src]

Returns the maximum value of this type, which should be (2^width)-1.

Loading content...

Implementors

impl Ticks for Ticks16[src]

pub fn max_value() -> Self[src]

Returns the maximum value of this type, which should be (2^width)-1.

impl Ticks for Ticks24[src]

pub fn max_value() -> Self[src]

Returns the maximum value of this type, which should be (2^width)-1.

impl Ticks for Ticks32[src]

pub fn max_value() -> Self[src]

Returns the maximum value of this type, which should be (2^width)-1.

impl Ticks for Ticks64[src]

pub fn max_value() -> Self[src]

Returns the maximum value of this type, which should be (2^width)-1.

Loading content...