/// when the UCI parameter "Use Search Log" is "true").
const string pretty_pv(const Position& pos, int time, int depth,
- uint64_t nodes, Value score, Move pv[]) {
+ uint64_t nodes, Value score, ValueType type, Move pv[]) {
std::stringstream s;
// Depth
s << std::setw(2) << depth << " ";
// Score
- s << std::setw(8) << score_string(score);
+ s << ((type == VALUE_TYPE_LOWER)? ">" : ((type == VALUE_TYPE_UPPER)? "<" : " "));
+ s << std::setw(7) << score_string(score);
// Time
s << std::setw(8) << time_string(time) << " ";
extern const std::string move_to_san(const Position& pos, Move m);
extern Move move_from_san(const Position& pos, const std::string& str);
extern const std::string line_to_san(const Position& pos, Move line[], int startColumn, bool breakLines);
-extern const std::string pretty_pv(const Position& pos, int time, int depth, uint64_t nodes, Value score, Move pv[]);
+extern const std::string pretty_pv(const Position& pos, int time, int depth, uint64_t nodes, Value score, ValueType type, Move pv[]);
#endif // !defined(SAN_H_INCLUDED)
std::cout << std::endl;
if (UseLogFile)
- LogFile << pretty_pv(pos, current_search_time(), Iteration, nodes_searched(), value, ss[0].pv)
+ LogFile << pretty_pv(pos, current_search_time(), Iteration, nodes_searched(), value,
+ ((value >= beta)? VALUE_TYPE_LOWER
+ : ((value <= alpha)? VALUE_TYPE_UPPER : VALUE_TYPE_EXACT)),
+ ss[0].pv)
<< std::endl;
if (value > alpha)