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