Crates.io | openskill |
lib.rs | openskill |
version | 0.0.1 |
source | src |
created_at | 2023-12-25 12:49:43.420866 |
updated_at | 2023-12-25 12:49:43.420866 |
description | Rust implementation of OpenSkill (license free TrueSkill) |
homepage | |
repository | |
max_upload_size | |
id | 1080222 |
size | 74,365 |
Rust Implementation of the Weng-Lin Rating.
This library is based on the openskill.js library
# TODO
cargo install openskill
use openskill::prelude::*;
fn main() -> Result<(), OpenSkillError> {
let team1 = vec![Rating::default()];
let team2 = vec![Rating::new(35.0, 7.0)];
let teams = vec![team1.clone(), team2.clone()];
let env = Env::default(); // == EnvBuilder::default().model(ModelKind::PlackettLuce).build()
let draw_prob = env.predict_draw(&teams)?;
let win_rate = env.predict_win(&teams)?;
println!("teams: {teams:?}");
println!("draw probability: {draw_prob}, win rate: {win_rate:?}");
let new_rate = env.rate(&GameResult::new(teams.clone(), vec![1, 2]))?;
println!("before: {teams:?}\n after: {new_rate:?}");
Ok(())
}