mirror of
https://github.com/avitex/elixir-glicko
synced 2024-11-22 03:09:57 +00:00
More documentation, final preparation
This commit is contained in:
parent
48645e1298
commit
168ec234dc
@ -1,8 +1,9 @@
|
|||||||
[![Build Status](https://travis-ci.org/avitex/elixir-glicko.svg)](https://travis-ci.org/avitex/elixir-glicko)
|
[![Build Status](https://travis-ci.org/avitex/elixir-glicko.svg)](https://travis-ci.org/avitex/elixir-glicko)
|
||||||
[![Hex.pm](https://img.shields.io/hexpm/v/glicko.svg)](https://hex.pm/packages/glicko)
|
[![Hex.pm](https://img.shields.io/hexpm/v/glicko.svg)](https://hex.pm/packages/glicko)
|
||||||
[![Hex Docs](https://img.shields.io/badge/hex-docs-blue.svg)](https://hexdocs.pm/glicko)
|
[![Hex Docs](https://img.shields.io/badge/hex-docs-blue.svg)](https://hexdocs.pm/glicko)
|
||||||
|
[![Inline docs](http://inch-ci.org/github/avitex/elixir-glicko.svg)](http://inch-ci.org/github/avitex/elixir-glicko)
|
||||||
|
|
||||||
# Glicko (IN-PROGRESS)
|
# Glicko
|
||||||
|
|
||||||
**Implementation of the [Glicko rating system](http://www.glicko.net/glicko.html).**
|
**Implementation of the [Glicko rating system](http://www.glicko.net/glicko.html).**
|
||||||
Documentation hosted on [hexdocs](https://hexdocs.pm/glicko).
|
Documentation hosted on [hexdocs](https://hexdocs.pm/glicko).
|
||||||
|
@ -1,4 +1,27 @@
|
|||||||
defmodule Glicko do
|
defmodule Glicko do
|
||||||
|
@moduledoc """
|
||||||
|
Provides the implementation of the Glicko rating system.
|
||||||
|
|
||||||
|
See the [specification](http://www.glicko.net/glicko/glicko2.pdf) for implementation details.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
Get a players new rating after a series of matches in a rating period.
|
||||||
|
|
||||||
|
iex> results = [GameResult.new(Player.new_v1([rating: 1400, rating_deviation: 30]), :win),
|
||||||
|
...> GameResult.new(Player.new_v1([rating: 1550, rating_deviation: 100]), :loss),
|
||||||
|
...> GameResult.new(Player.new_v1([rating: 1700, rating_deviation: 300]), :loss)]
|
||||||
|
iex> player = Player.new_v1([rating: 1500, rating_deviation: 200])
|
||||||
|
iex> Glicko.new_rating(player, results, [system_constant: 0.5])
|
||||||
|
%Glicko.Player{version: :v1, rating: 1464.0506705393013, rating_deviation: 151.51652412385727, volatility: nil}
|
||||||
|
|
||||||
|
Get a players new rating when they haven't played within a rating period.
|
||||||
|
|
||||||
|
iex> player = Player.new_v1([rating: 1500, rating_deviation: 200])
|
||||||
|
iex> Glicko.new_rating(player, [], [system_constant: 0.5])
|
||||||
|
%Glicko.Player{version: :v1, rating: 1.5e3, rating_deviation: 200.27141669877065, volatility: nil}
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
alias __MODULE__.{
|
alias __MODULE__.{
|
||||||
Player,
|
Player,
|
||||||
@ -11,7 +34,9 @@ defmodule Glicko do
|
|||||||
@type new_rating_opts_t :: [system_constant: float, convergence_tolerance: float]
|
@type new_rating_opts_t :: [system_constant: float, convergence_tolerance: float]
|
||||||
|
|
||||||
@doc """
|
@doc """
|
||||||
Generate a new Rating from an existing rating and a series of results.
|
Generate a new rating from an existing rating and a series (or lack) of results.
|
||||||
|
|
||||||
|
Returns the updated player with the same version given to the function.
|
||||||
"""
|
"""
|
||||||
@spec new_rating(player :: Player.t, results :: list(GameResult.t), opts :: new_rating_opts_t) :: Player.t
|
@spec new_rating(player :: Player.t, results :: list(GameResult.t), opts :: new_rating_opts_t) :: Player.t
|
||||||
def new_rating(player, results, opts \\ [])
|
def new_rating(player, results, opts \\ [])
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
defmodule Glicko.GameResult do
|
defmodule Glicko.GameResult do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
This module provides a representation of a game result against an opponent.
|
Provides a representation of a game result against an opponent.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user