mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 08:43:09 +00:00
Convert to sync_cout and sync_endl
Serialize access to std::cout all over the code. No functional change. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
parent
92e759a676
commit
0a003d3ba1
4 changed files with 28 additions and 25 deletions
|
@ -23,6 +23,7 @@
|
|||
|
||||
#include "bitboard.h"
|
||||
#include "bitcount.h"
|
||||
#include "misc.h"
|
||||
#include "rkiss.h"
|
||||
|
||||
CACHE_LINE_ALIGNMENT
|
||||
|
@ -137,6 +138,8 @@ Square msb(Bitboard b) {
|
|||
|
||||
void Bitboards::print(Bitboard b) {
|
||||
|
||||
sync_cout;
|
||||
|
||||
for (Rank rank = RANK_8; rank >= RANK_1; rank--)
|
||||
{
|
||||
std::cout << "+---+---+---+---+---+---+---+---+" << '\n';
|
||||
|
@ -146,7 +149,7 @@ void Bitboards::print(Bitboard b) {
|
|||
|
||||
std::cout << "|\n";
|
||||
}
|
||||
std::cout << "+---+---+---+---+---+---+---+---+" << std::endl;
|
||||
std::cout << "+---+---+---+---+---+---+---+---+" << sync_endl;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -363,6 +363,8 @@ void Position::print(Move move) const {
|
|||
|
||||
string brd = twoRows + twoRows + twoRows + twoRows + dottedLine;
|
||||
|
||||
sync_cout;
|
||||
|
||||
if (move)
|
||||
{
|
||||
Position p(*this);
|
||||
|
@ -373,7 +375,7 @@ void Position::print(Move move) const {
|
|||
if (piece_on(sq) != NO_PIECE)
|
||||
brd[513 - 68*rank_of(sq) + 4*file_of(sq)] = PieceToChar[piece_on(sq)];
|
||||
|
||||
cout << brd << "\nFen is: " << to_fen() << "\nKey is: " << st->key << endl;
|
||||
cout << brd << "\nFen is: " << to_fen() << "\nKey is: " << st->key << sync_endl;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -47,8 +47,6 @@ namespace Search {
|
|||
}
|
||||
|
||||
using std::string;
|
||||
using std::cout;
|
||||
using std::endl;
|
||||
using Eval::evaluate;
|
||||
using namespace Search;
|
||||
|
||||
|
@ -237,8 +235,8 @@ void Search::think() {
|
|||
|
||||
if (RootMoves.empty())
|
||||
{
|
||||
cout << "info depth 0 score "
|
||||
<< score_to_uci(pos.in_check() ? -VALUE_MATE : VALUE_DRAW) << endl;
|
||||
sync_cout << "info depth 0 score "
|
||||
<< score_to_uci(pos.in_check() ? -VALUE_MATE : VALUE_DRAW) << sync_endl;
|
||||
|
||||
RootMoves.push_back(MOVE_NONE);
|
||||
goto finalize;
|
||||
|
@ -272,7 +270,7 @@ void Search::think() {
|
|||
<< " time: " << Limits.time[pos.side_to_move()]
|
||||
<< " increment: " << Limits.inc[pos.side_to_move()]
|
||||
<< " moves to go: " << Limits.movestogo
|
||||
<< endl;
|
||||
<< std::endl;
|
||||
}
|
||||
|
||||
Threads.wake_up();
|
||||
|
@ -301,7 +299,7 @@ void Search::think() {
|
|||
|
||||
StateInfo st;
|
||||
pos.do_move(RootMoves[0].pv[0], st);
|
||||
log << "\nPonder move: " << move_to_san(pos, RootMoves[0].pv[1]) << endl;
|
||||
log << "\nPonder move: " << move_to_san(pos, RootMoves[0].pv[1]) << std::endl;
|
||||
pos.undo_move(RootMoves[0].pv[0]);
|
||||
}
|
||||
|
||||
|
@ -314,8 +312,8 @@ finalize:
|
|||
pos.this_thread()->wait_for_stop_or_ponderhit();
|
||||
|
||||
// Best move could be MOVE_NONE when searching on a stalemate position
|
||||
cout << "bestmove " << move_to_uci(RootMoves[0].pv[0], Chess960)
|
||||
<< " ponder " << move_to_uci(RootMoves[0].pv[1], Chess960) << endl;
|
||||
sync_cout << "bestmove " << move_to_uci(RootMoves[0].pv[0], Chess960)
|
||||
<< " ponder " << move_to_uci(RootMoves[0].pv[1], Chess960) << sync_endl;
|
||||
}
|
||||
|
||||
|
||||
|
@ -401,7 +399,7 @@ namespace {
|
|||
// Send full PV info to GUI if we are going to leave the loop or
|
||||
// if we have a fail high/low and we are deep in the search.
|
||||
if ((bestValue > alpha && bestValue < beta) || SearchTime.elapsed() > 2000)
|
||||
cout << uci_pv(pos, depth, alpha, beta) << endl;
|
||||
sync_cout << uci_pv(pos, depth, alpha, beta) << sync_endl;
|
||||
|
||||
// In case of failing high/low increase aspiration window and
|
||||
// research, otherwise exit the fail high/low loop.
|
||||
|
@ -434,7 +432,7 @@ namespace {
|
|||
{
|
||||
Log log(Options["Search Log Filename"]);
|
||||
log << pretty_pv(pos, depth, bestValue, SearchTime.elapsed(), &RootMoves[0].pv[0])
|
||||
<< endl;
|
||||
<< std::endl;
|
||||
}
|
||||
|
||||
// Filter out startup noise when monitoring best move stability
|
||||
|
@ -830,9 +828,9 @@ split_point_start: // At split points actual search starts from here
|
|||
Signals.firstRootMove = (moveCount == 1);
|
||||
|
||||
if (thisThread == Threads.main_thread() && SearchTime.elapsed() > 2000)
|
||||
cout << "info depth " << depth / ONE_PLY
|
||||
sync_cout << "info depth " << depth / ONE_PLY
|
||||
<< " currmove " << move_to_uci(move, Chess960)
|
||||
<< " currmovenumber " << moveCount + PVIdx << endl;
|
||||
<< " currmovenumber " << moveCount + PVIdx << sync_endl;
|
||||
}
|
||||
|
||||
isPvMove = (PvNode && moveCount <= 1);
|
||||
|
|
16
src/uci.cpp
16
src/uci.cpp
|
@ -97,7 +97,7 @@ void UCI::loop(const string& args) {
|
|||
TT.clear();
|
||||
|
||||
else if (token == "isready")
|
||||
cout << "readyok" << endl;
|
||||
sync_cout << "readyok" << sync_endl;
|
||||
|
||||
else if (token == "position")
|
||||
set_position(pos, is);
|
||||
|
@ -112,20 +112,20 @@ void UCI::loop(const string& args) {
|
|||
pos.flip();
|
||||
|
||||
else if (token == "eval")
|
||||
cout << Eval::trace(pos) << endl;
|
||||
sync_cout << Eval::trace(pos) << sync_endl;
|
||||
|
||||
else if (token == "bench")
|
||||
benchmark(pos, is);
|
||||
|
||||
else if (token == "key")
|
||||
cout << "key: " << hex << pos.key()
|
||||
sync_cout << "key: " << hex << pos.key()
|
||||
<< "\nmaterial key: " << pos.material_key()
|
||||
<< "\npawn key: " << pos.pawn_key() << endl;
|
||||
<< "\npawn key: " << pos.pawn_key() << sync_endl;
|
||||
|
||||
else if (token == "uci")
|
||||
cout << "id name " << engine_info(true)
|
||||
sync_cout << "id name " << engine_info(true)
|
||||
<< "\n" << Options
|
||||
<< "\nuciok" << endl;
|
||||
<< "\nuciok" << sync_endl;
|
||||
|
||||
else if (token == "perft" && (is >> token)) // Read depth
|
||||
{
|
||||
|
@ -138,7 +138,7 @@ void UCI::loop(const string& args) {
|
|||
}
|
||||
|
||||
else
|
||||
cout << "Unknown command: " << cmd << endl;
|
||||
sync_cout << "Unknown command: " << cmd << sync_endl;
|
||||
|
||||
if (!args.empty()) // Command line arguments have one-shot behaviour
|
||||
{
|
||||
|
@ -206,7 +206,7 @@ namespace {
|
|||
if (Options.count(name))
|
||||
Options[name] = value;
|
||||
else
|
||||
cout << "No such option: " << name << endl;
|
||||
sync_cout << "No such option: " << name << sync_endl;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue