1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-07-12 03:59:15 +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() { void init() {
const double MaxSlope = 8.7; const int MaxSlope = 87;
const double Peak = 1280; const int Peak = 12800;
double t = 0.0; 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)); t = std::min(Peak, std::min(i * i * 27 / 100, t + MaxSlope));
KingDanger[i] = apply_weight(make_score(int(t), 0), Weights[KingSafety]); KingDanger[i] = apply_weight(make_score(t / 10, 0), Weights[KingSafety]);
} }
} }