48 static constexpr float WDL_SCALE = 1.0f / 0.00368208f;
90 draw_to_win = std::clamp(draw_to_win, 0.0f, 1.0f);
93 float win_adj = win + draw * draw_to_win;
94 float loss_adj =
loss + draw * (1.0f - draw_to_win);
98 float total = win_adj + loss_adj;
102 float win_ratio = win_adj / total;
105 win_ratio = std::clamp(win_ratio, 1e-6f, 1.0f - 1e-6f);
109 static_cast<int>(
WDL_SCALE * std::log(win_ratio / (1.0f - win_ratio)));
Handles conversion between Win-Draw-Loss probabilities and centipawn scores.
Definition WDLConverter.hpp:34
static constexpr int MAX_CP
Definition WDLConverter.hpp:45
float aggression
Definition WDLConverter.hpp:51
int convertWDL(float win, float draw, float loss) const
Definition WDLConverter.hpp:85
static constexpr float WDL_SCALE
Definition WDLConverter.hpp:48
int convert(float win, float draw, float loss) const
Definition WDLConverter.hpp:61
Holds Win, Draw, and Loss probabilities.
Definition WDLConverter.hpp:40
float win
Definition WDLConverter.hpp:41
float draw
Definition WDLConverter.hpp:41