1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
pub use self::Dir::*;
pub use self::FitStatus::*;

#[derive(PartialEq)]
pub enum Dir {
    Right,
    Left,
}

#[derive(Copy, Clone)]
pub enum FitStatus<T> {
    Converged(T),
    Failed,
}

impl<T> FitStatus<T> {
    pub fn ok(self) -> Option<T> {
        if let Converged(val) = self {
            Some(val)
        } else {
            None
        }
    }
}