1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-30 16:53:09 +00:00

Rename Tracing methods

Easier to understand and more in line with
standard Trace classes naming like:

http://msdn.microsoft.com/en-us/library/system.diagnostics.trace.aspx

No functional change.
This commit is contained in:
Marco Costalba 2014-10-11 09:52:16 +02:00 committed by Joona Kiiski
parent 907f912463
commit 89d9db2979

View file

@ -79,13 +79,14 @@ namespace {
MATERIAL = 8, IMBALANCE, MOBILITY, THREAT, PASSED, SPACE, TOTAL, TERMS_NB
};
Score terms[COLOR_NB][TERMS_NB];
Score scores[COLOR_NB][TERMS_NB];
EvalInfo ei;
ScaleFactor sf;
double to_cp(Value v);
void add_term(int idx, Score term_w, Score term_b = SCORE_ZERO);
void format_row(std::stringstream& ss, const char* name, int idx);
void write(int idx, Color c, Score s);
void write(int idx, Score w, Score b = SCORE_ZERO);
void print(std::stringstream& ss, const char* name, int idx);
std::string do_trace(const Position& pos);
}
@ -370,7 +371,7 @@ namespace {
}
if (Trace)
Tracing::terms[Us][Pt] = score;
Tracing::write(Pt, Us, score);
return score - evaluate_pieces<NextPt, Them, Trace>(pos, ei, mobility, mobilityArea);
}
@ -484,7 +485,7 @@ namespace {
}
if (Trace)
Tracing::terms[Us][KING] = score;
Tracing::write(KING, Us, score);
return score;
}
@ -536,7 +537,7 @@ namespace {
}
if (Trace)
Tracing::terms[Us][Tracing::THREAT] = score;
Tracing::write(Tracing::THREAT, Us, score);
return score;
}
@ -619,7 +620,7 @@ namespace {
}
if (Trace)
Tracing::terms[Us][Tracing::PASSED] = apply_weight(score, Weights[PassedPawns]);
Tracing::write(Tracing::PASSED, Us, apply_weight(score, Weights[PassedPawns]));
// Add the scores to the middlegame and endgame eval
return apply_weight(score, Weights[PassedPawns]);
@ -780,15 +781,15 @@ namespace {
// In case of tracing add all single evaluation contributions for both white and black
if (Trace)
{
Tracing::add_term(Tracing::MATERIAL, pos.psq_score());
Tracing::add_term(Tracing::IMBALANCE, ei.mi->material_value());
Tracing::add_term(PAWN, ei.pi->pawns_value());
Tracing::add_term(Tracing::MOBILITY, apply_weight(mobility[WHITE], Weights[Mobility])
Tracing::write(Tracing::MATERIAL, pos.psq_score());
Tracing::write(Tracing::IMBALANCE, ei.mi->material_value());
Tracing::write(PAWN, ei.pi->pawns_value());
Tracing::write(Tracing::MOBILITY, apply_weight(mobility[WHITE], Weights[Mobility])
, apply_weight(mobility[BLACK], Weights[Mobility]));
Score w = ei.mi->space_weight() * evaluate_space<WHITE>(pos, ei);
Score b = ei.mi->space_weight() * evaluate_space<BLACK>(pos, ei);
Tracing::add_term(Tracing::SPACE, apply_weight(w, Weights[Space]), apply_weight(b, Weights[Space]));
Tracing::add_term(Tracing::TOTAL, score);
Tracing::write(Tracing::SPACE, apply_weight(w, Weights[Space]), apply_weight(b, Weights[Space]));
Tracing::write(Tracing::TOTAL, score);
Tracing::ei = ei;
Tracing::sf = sf;
}
@ -801,16 +802,18 @@ namespace {
double Tracing::to_cp(Value v) { return double(v) / PawnValueEg; }
void Tracing::add_term(int idx, Score wScore, Score bScore) {
void Tracing::write(int idx, Color c, Score s) { scores[c][idx] = s; }
terms[WHITE][idx] = wScore;
terms[BLACK][idx] = bScore;
void Tracing::write(int idx, Score w, Score b) {
write(idx, WHITE, w);
write(idx, BLACK, b);
}
void Tracing::format_row(std::stringstream& ss, const char* name, int idx) {
void Tracing::print(std::stringstream& ss, const char* name, int idx) {
Score wScore = terms[WHITE][idx];
Score bScore = terms[BLACK][idx];
Score wScore = scores[WHITE][idx];
Score bScore = scores[BLACK][idx];
switch (idx) {
case MATERIAL: case IMBALANCE: case PAWN: case TOTAL:
@ -831,7 +834,7 @@ namespace {
std::string Tracing::do_trace(const Position& pos) {
std::memset(terms, 0, sizeof(terms));
std::memset(scores, 0, sizeof(scores));
Value v = do_evaluate<true>(pos);
v = pos.side_to_move() == WHITE ? v : -v; // White's point of view
@ -842,21 +845,21 @@ namespace {
<< " | MG EG | MG EG | MG EG \n"
<< "----------------+-------------+-------------+-------------\n";
format_row(ss, "Material", MATERIAL);
format_row(ss, "Imbalance", IMBALANCE);
format_row(ss, "Pawns", PAWN);
format_row(ss, "Knights", KNIGHT);
format_row(ss, "Bishops", BISHOP);
format_row(ss, "Rooks", ROOK);
format_row(ss, "Queens", QUEEN);
format_row(ss, "Mobility", MOBILITY);
format_row(ss, "King safety", KING);
format_row(ss, "Threats", THREAT);
format_row(ss, "Passed pawns", PASSED);
format_row(ss, "Space", SPACE);
print(ss, "Material", MATERIAL);
print(ss, "Imbalance", IMBALANCE);
print(ss, "Pawns", PAWN);
print(ss, "Knights", KNIGHT);
print(ss, "Bishops", BISHOP);
print(ss, "Rooks", ROOK);
print(ss, "Queens", QUEEN);
print(ss, "Mobility", MOBILITY);
print(ss, "King safety", KING);
print(ss, "Threats", THREAT);
print(ss, "Passed pawns", PASSED);
print(ss, "Space", SPACE);
ss << "----------------+-------------+-------------+-------------\n";
format_row(ss, "Total", TOTAL);
print(ss, "Total", TOTAL);
ss << "\nTotal Evaluation: " << to_cp(v) << " (white side)\n";