bullet 0.1.2

Supersonic Math
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use std::iter::IntoIterator;
use std::time::Duration;

pub fn try_fold<T, I, F, E>(iter: I, mut init: T, func: F) -> Result<T, E>
    where I: IntoIterator<Item=Result<T, E>>, F: Fn(T, T) -> Result<T, E>
{
    for i in iter.into_iter() {
        init = func(init, i?)?;
    }
    Ok(init)
}

pub fn duration_as_seconds(dt: Duration) -> f64 {
    dt.as_secs() as f64 + dt.subsec_nanos() as f64 * 1e-9
}