ga-scheduler 0.1.1

A Genetic Algorithm optimizer designed for scheduling and similar tasks
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
pub fn elo(k: f64, rwinner: usize, rloser: usize) -> (usize, usize) {
    let qw = f64::powf(10.0, rwinner as f64 / 400.0);
    let ql = f64::powf(10.0, rloser as f64 / 400.0);
    let el = ql / (qw + ql);
    (rwinner + (k * el) as usize, rloser - (k * el) as usize)
}

#[cfg(test)]
mod tests {
    use super::*;
    #[test]
    fn test_elo() {
        assert_eq!(elo(200.0, 1000, 1000), (1100, 900));
        assert_eq!(elo(200.0, 1200, 800), (1218, 782));
        assert_eq!(elo(200.0, 800, 1200), (981, 1019));
    }
}