pub fn round_down(origin: u64, align: u64) -> Option<u64> {
    match origin % align {
        0 => Some(origin),
        diff => origin.checked_sub(diff),
    }
}
/// Calculate the aligned-down u64 value.
///
/// # Arguments
///
/// * `origin` - the origin value.
/// * `align` - the alignment.
///
/// # Examples
///
/// ```rust
/// extern crate util;
/// use util::num_ops::round_down;
///
/// let value = round_down(1003 as u64, 4 as u64);
/// assert!(value == Some(1000));
/// ```
Calculate the aligned-down u64 value.
Calculate the aligned - down u64 value .
pub fn round_down(origin: u64, align: u64) -> Option<u64> {
    match origin % align {
        0 => Some(origin),
        diff => origin.checked_sub(diff),
    }
}
pub fn round_down ( origin : u64 , align : u64 ) -> Option < u64 > { match origin % align { 0 => Some ( origin ) , diff => origin . checked_sub ( diff ) , } }
Calculate the aligned-down u64 value.
Calculate the aligned - down u64 value .
origin
u64
align
u64
origin
u64
align
u64
examples
```rust
extern crate util;
use util::num_ops::round_down.


` ` ` rust extern crate util ; use util :: num_ops :: round_down .