1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-07-11 19:49:14 +00:00

Fix KingDanger[] array initialization

Use integer arithmetic instead of floating point arithmetic.
Floating point arithmetic was causing different results for some 32-bit compiles

No functional change

Resolves #249
Resolves #250
This commit is contained in:
hxim 2015-02-09 19:12:04 +01:00 committed by Joona Kiiski
parent e118570038
commit 44a571c1c7

View file

@ -912,14 +912,14 @@ namespace Eval {
void init() {
const double MaxSlope = 8.7;
const double Peak = 1280;
double t = 0.0;
const int MaxSlope = 87;
const int Peak = 12800;
int t = 0;
for (int i = 1; i < 400; ++i)
for (int i = 0; i < 400; ++i)
{
t = std::min(Peak, std::min(0.027 * i * i, t + MaxSlope));
KingDanger[i] = apply_weight(make_score(int(t), 0), Weights[KingSafety]);
t = std::min(Peak, std::min(i * i * 27 / 100, t + MaxSlope));
KingDanger[i] = apply_weight(make_score(t / 10, 0), Weights[KingSafety]);
}
}