From 696e849a306f321a4ea98e827ada5cdfd8665b38 Mon Sep 17 00:00:00 2001 From: Tomasz Sobczyk Date: Sun, 18 Apr 2021 19:18:41 +0200 Subject: [PATCH] learn -> tools --- src/Makefile | 16 ++++++++-------- src/position.cpp | 12 ++++++------ src/position.h | 10 +++++----- src/search.cpp | 4 ++-- src/search.h | 2 +- src/{learn => tools}/convert.cpp | 2 +- src/{learn => tools}/convert.h | 2 +- src/{learn => tools}/gensfen.cpp | 4 ++-- src/{learn => tools}/gensfen.h | 2 +- src/{learn => tools}/gensfen_nonpv.cpp | 4 ++-- src/{learn => tools}/gensfen_nonpv.h | 2 +- src/{learn => tools}/opening_book.cpp | 2 +- src/{learn => tools}/opening_book.h | 2 +- src/{learn => tools}/packed_sfen.h | 4 ++-- src/{learn => tools}/sfen_packer.cpp | 2 +- src/{learn => tools}/sfen_packer.h | 4 ++-- src/{learn => tools}/sfen_reader.h | 2 +- src/{learn => tools}/sfen_stream.h | 2 +- src/{learn => tools}/sfen_writer.h | 2 +- src/{learn => tools}/stats.cpp | 4 ++-- src/{learn => tools}/stats.h | 2 +- src/{learn => tools}/transform.cpp | 14 +++++++------- src/{learn => tools}/transform.h | 2 +- src/uci.cpp | 26 +++++++++++++------------- 24 files changed, 64 insertions(+), 64 deletions(-) rename src/{learn => tools}/convert.cpp (99%) rename src/{learn => tools}/convert.h (93%) rename src/{learn => tools}/gensfen.cpp (99%) rename src/{learn => tools}/gensfen.h (90%) rename src/{learn => tools}/gensfen_nonpv.cpp (99%) rename src/{learn => tools}/gensfen_nonpv.h (89%) rename src/{learn => tools}/opening_book.cpp (97%) rename src/{learn => tools}/opening_book.h (98%) rename src/{learn => tools}/packed_sfen.h (94%) rename src/{learn => tools}/sfen_packer.cpp (99%) rename src/{learn => tools}/sfen_packer.h (84%) rename src/{learn => tools}/sfen_reader.h (99%) rename src/{learn => tools}/sfen_stream.h (99%) rename src/{learn => tools}/sfen_writer.h (99%) rename src/{learn => tools}/stats.cpp (99%) rename src/{learn => tools}/stats.h (81%) rename src/{learn => tools}/transform.cpp (97%) rename src/{learn => tools}/transform.h (85%) diff --git a/src/Makefile b/src/Makefile index 19927ce5..8f30fff6 100644 --- a/src/Makefile +++ b/src/Makefile @@ -57,17 +57,17 @@ SRCS = benchmark.cpp bitbase.cpp bitboard.cpp endgame.cpp evaluate.cpp main.cpp nnue/features/a.cpp \ nnue/features/castling_right.cpp \ nnue/features/enpassant.cpp \ - learn/sfen_packer.cpp \ - learn/gensfen.cpp \ - learn/gensfen_nonpv.cpp \ - learn/opening_book.cpp \ - learn/convert.cpp \ - learn/transform.cpp \ - learn/stats.cpp + tools/sfen_packer.cpp \ + tools/gensfen.cpp \ + tools/gensfen_nonpv.cpp \ + tools/opening_book.cpp \ + tools/convert.cpp \ + tools/transform.cpp \ + tools/stats.cpp OBJS = $(notdir $(SRCS:.cpp=.o)) -VPATH = syzygy:nnue:nnue/features:eval:extra:learn +VPATH = syzygy:nnue:nnue/features:eval:extra:tools ### ========================================================================== ### Section 2. High-level Configuration diff --git a/src/position.cpp b/src/position.cpp index 1b5ff222..2fb5f4f7 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -34,8 +34,8 @@ #include "uci.h" #include "syzygy/tbprobe.h" -#include "learn/packed_sfen.h" -#include "learn/sfen_packer.h" +#include "tools/packed_sfen.h" +#include "tools/sfen_packer.h" using std::string; @@ -1373,13 +1373,13 @@ bool Position::pos_is_ok() const { // Add a function that directly unpacks for speed. It's pretty tough. // Write it by combining packer::unpack() and Position::set(). // If there is a problem with the passed phase and there is an error, non-zero is returned. -int Position::set_from_packed_sfen(const Learner::PackedSfen& sfen , StateInfo* si, Thread* th) +int Position::set_from_packed_sfen(const Tools::PackedSfen& sfen , StateInfo* si, Thread* th) { - return Learner::set_from_packed_sfen(*this, sfen, si, th); + return Tools::set_from_packed_sfen(*this, sfen, si, th); } // Get the packed sfen. Returns to the buffer specified in the argument. -void Position::sfen_pack(Learner::PackedSfen& sfen) +void Position::sfen_pack(Tools::PackedSfen& sfen) { - sfen = Learner::sfen_pack(*this); + sfen = Tools::sfen_pack(*this); } diff --git a/src/position.h b/src/position.h index fe5be374..9e979914 100644 --- a/src/position.h +++ b/src/position.h @@ -30,8 +30,8 @@ #include "nnue/nnue_accumulator.h" -#include "learn/packed_sfen.h" -#include "learn/sfen_packer.h" +#include "tools/packed_sfen.h" +#include "tools/sfen_packer.h" /// StateInfo struct stores information needed to restore a Position object to @@ -179,17 +179,17 @@ public: // --sfenization helper - friend int Learner::set_from_packed_sfen(Position& pos, const Learner::PackedSfen& sfen, StateInfo* si, Thread* th); + friend int Tools::set_from_packed_sfen(Position& pos, const Tools::PackedSfen& sfen, StateInfo* si, Thread* th); // Get the packed sfen. Returns to the buffer specified in the argument. // Do not include gamePly in pack. - void sfen_pack(Learner::PackedSfen& sfen); + void sfen_pack(Tools::PackedSfen& sfen); // It is slow to go through sfen, so I made a function to set packed sfen directly. // Equivalent to pos.set(sfen_unpack(data),si,th);. // If there is a problem with the passed phase and there is an error, non-zero is returned. // PackedSfen does not include gamePly so it cannot be restored. If you want to set it, specify it with an argument. - int set_from_packed_sfen(const Learner::PackedSfen& sfen, StateInfo* si, Thread* th); + int set_from_packed_sfen(const Tools::PackedSfen& sfen, StateInfo* si, Thread* th); void clear() { std::memset(this, 0, sizeof(Position)); } diff --git a/src/search.cpp b/src/search.cpp index 8fe35000..a5e5ee24 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -311,7 +311,7 @@ void Thread::search() { if (!this->rootMoves.empty()) Tablebases::rank_root_moves(this->rootPos, this->rootMoves); - + if (mainThread) { if (mainThread->bestPreviousScore == VALUE_INFINITE) @@ -1995,7 +1995,7 @@ namespace Search // It might have been good. // Initialization for learning. - // Called from Learner::search(),Learner::qsearch(). + // Called from Tools::search(),Tools::qsearch(). static bool init_for_search(Position& pos, Stack* ss) { diff --git a/src/search.h b/src/search.h index 13123323..b9036f56 100644 --- a/src/search.h +++ b/src/search.h @@ -110,7 +110,7 @@ extern LimitsType Limits; void init(); void clear(); -// A pair of reader and evaluation value. Returned by Learner::search(),Learner::qsearch(). +// A pair of reader and evaluation value. Returned by Tools::search(),Tools::qsearch(). using ValueAndPV = std::pair>; ValueAndPV qsearch(Position& pos); diff --git a/src/learn/convert.cpp b/src/tools/convert.cpp similarity index 99% rename from src/learn/convert.cpp rename to src/tools/convert.cpp index 47f56f02..8d8af4bb 100644 --- a/src/learn/convert.cpp +++ b/src/tools/convert.cpp @@ -28,7 +28,7 @@ using namespace std; -namespace Learner +namespace Tools { bool fen_is_ok(Position& pos, std::string input_fen) { std::string pos_fen = pos.fen(); diff --git a/src/learn/convert.h b/src/tools/convert.h similarity index 93% rename from src/learn/convert.h rename to src/tools/convert.h index 227f0799..9d628540 100644 --- a/src/learn/convert.h +++ b/src/tools/convert.h @@ -5,7 +5,7 @@ #include #include -namespace Learner { +namespace Tools { void convert(std::istringstream& is); void convert_bin_from_pgn_extract(std::istringstream& is); diff --git a/src/learn/gensfen.cpp b/src/tools/gensfen.cpp similarity index 99% rename from src/learn/gensfen.cpp rename to src/tools/gensfen.cpp index e5ddd6aa..7021648a 100644 --- a/src/learn/gensfen.cpp +++ b/src/tools/gensfen.cpp @@ -34,7 +34,7 @@ using namespace std; -namespace Learner +namespace Tools { // Class to generate sfen with multiple threads struct Gensfen @@ -220,7 +220,7 @@ namespace Learner // If you use this, it will be compared with the accumulated nodes of each thread. Therefore, do not use it. limits.nodes = 0; - // depth is also processed by the one passed as an argument of Learner::search(). + // depth is also processed by the one passed as an argument of Tools::search(). limits.depth = 0; } diff --git a/src/learn/gensfen.h b/src/tools/gensfen.h similarity index 90% rename from src/learn/gensfen.h rename to src/tools/gensfen.h index c0a7c978..13eb0880 100644 --- a/src/learn/gensfen.h +++ b/src/tools/gensfen.h @@ -5,7 +5,7 @@ #include -namespace Learner { +namespace Tools { // Automatic generation of teacher position void gensfen(std::istringstream& is); diff --git a/src/learn/gensfen_nonpv.cpp b/src/tools/gensfen_nonpv.cpp similarity index 99% rename from src/learn/gensfen_nonpv.cpp rename to src/tools/gensfen_nonpv.cpp index 098511fe..7edf9a33 100644 --- a/src/learn/gensfen_nonpv.cpp +++ b/src/tools/gensfen_nonpv.cpp @@ -34,7 +34,7 @@ using namespace std; -namespace Learner +namespace Tools { // Class to generate sfen with multiple threads struct GensfenNonPv @@ -163,7 +163,7 @@ namespace Learner // If you use this, it will be compared with the accumulated nodes of each thread. Therefore, do not use it. limits.nodes = 0; - // depth is also processed by the one passed as an argument of Learner::search(). + // depth is also processed by the one passed as an argument of Tools::search(). limits.depth = 0; } diff --git a/src/learn/gensfen_nonpv.h b/src/tools/gensfen_nonpv.h similarity index 89% rename from src/learn/gensfen_nonpv.h rename to src/tools/gensfen_nonpv.h index 38ccaa60..31229d5e 100644 --- a/src/learn/gensfen_nonpv.h +++ b/src/tools/gensfen_nonpv.h @@ -3,7 +3,7 @@ #include -namespace Learner { +namespace Tools { // Automatic generation of teacher position void gensfen_nonpv(std::istringstream& is); diff --git a/src/learn/opening_book.cpp b/src/tools/opening_book.cpp similarity index 97% rename from src/learn/opening_book.cpp rename to src/tools/opening_book.cpp index fb569bda..3d3842ef 100644 --- a/src/learn/opening_book.cpp +++ b/src/tools/opening_book.cpp @@ -2,7 +2,7 @@ #include -namespace Learner { +namespace Tools { EpdOpeningBook::EpdOpeningBook(const std::string& file, PRNG& prng) : OpeningBook(file) diff --git a/src/learn/opening_book.h b/src/tools/opening_book.h similarity index 98% rename from src/learn/opening_book.h rename to src/tools/opening_book.h index d07fc58b..562be0f9 100644 --- a/src/learn/opening_book.h +++ b/src/tools/opening_book.h @@ -13,7 +13,7 @@ #include #include -namespace Learner { +namespace Tools { struct OpeningBook { diff --git a/src/learn/packed_sfen.h b/src/tools/packed_sfen.h similarity index 94% rename from src/learn/packed_sfen.h rename to src/tools/packed_sfen.h index 3aa4fcac..8080200f 100644 --- a/src/learn/packed_sfen.h +++ b/src/tools/packed_sfen.h @@ -4,7 +4,7 @@ #include #include -namespace Learner { +namespace Tools { // packed sfen struct PackedSfen { std::uint8_t data[32]; }; @@ -17,7 +17,7 @@ namespace Learner { // phase PackedSfen sfen; - // Evaluation value returned from Learner::search() + // Evaluation value returned from Tools::search() std::int16_t score; // PV first move diff --git a/src/learn/sfen_packer.cpp b/src/tools/sfen_packer.cpp similarity index 99% rename from src/learn/sfen_packer.cpp rename to src/tools/sfen_packer.cpp index 777b5943..a51fd193 100644 --- a/src/learn/sfen_packer.cpp +++ b/src/tools/sfen_packer.cpp @@ -11,7 +11,7 @@ using namespace std; -namespace Learner { +namespace Tools { // Class that handles bitstream // useful when doing aspect encoding diff --git a/src/learn/sfen_packer.h b/src/tools/sfen_packer.h similarity index 84% rename from src/learn/sfen_packer.h rename to src/tools/sfen_packer.h index 5f232fed..c99d7985 100644 --- a/src/learn/sfen_packer.h +++ b/src/tools/sfen_packer.h @@ -3,7 +3,7 @@ #include "types.h" -#include "learn/packed_sfen.h" +#include "packed_sfen.h" #include @@ -11,7 +11,7 @@ class Position; struct StateInfo; class Thread; -namespace Learner { +namespace Tools { int set_from_packed_sfen(Position& pos, const PackedSfen& sfen, StateInfo* si, Thread* th); PackedSfen sfen_pack(Position& pos); diff --git a/src/learn/sfen_reader.h b/src/tools/sfen_reader.h similarity index 99% rename from src/learn/sfen_reader.h rename to src/tools/sfen_reader.h index e36efcc6..064efe53 100644 --- a/src/learn/sfen_reader.h +++ b/src/tools/sfen_reader.h @@ -17,7 +17,7 @@ #include #include -namespace Learner{ +namespace Tools{ enum struct SfenReaderMode { diff --git a/src/learn/sfen_stream.h b/src/tools/sfen_stream.h similarity index 99% rename from src/learn/sfen_stream.h rename to src/tools/sfen_stream.h index da411346..bb731457 100644 --- a/src/learn/sfen_stream.h +++ b/src/tools/sfen_stream.h @@ -10,7 +10,7 @@ #include #include -namespace Learner { +namespace Tools { enum struct SfenOutputType { diff --git a/src/learn/sfen_writer.h b/src/tools/sfen_writer.h similarity index 99% rename from src/learn/sfen_writer.h rename to src/tools/sfen_writer.h index b1c3ed5f..37c36491 100644 --- a/src/learn/sfen_writer.h +++ b/src/tools/sfen_writer.h @@ -19,7 +19,7 @@ using namespace std; -namespace Learner { +namespace Tools { // Helper class for exporting Sfen struct SfenWriter diff --git a/src/learn/stats.cpp b/src/tools/stats.cpp similarity index 99% rename from src/learn/stats.cpp rename to src/tools/stats.cpp index c0e2c0a1..c40411b9 100644 --- a/src/learn/stats.cpp +++ b/src/tools/stats.cpp @@ -25,7 +25,7 @@ #include #include -namespace Learner::Stats +namespace Tools::Stats { struct StatisticGathererBase { @@ -566,7 +566,7 @@ namespace Learner::Stats Position& pos = th->rootPos; StateInfo si; - auto in = Learner::open_sfen_input_file(filename); + auto in = Tools::open_sfen_input_file(filename); auto on_move = [&](const Position& position, const Move& move) { statistic_gatherers.on_move(position, move); diff --git a/src/learn/stats.h b/src/tools/stats.h similarity index 81% rename from src/learn/stats.h rename to src/tools/stats.h index c9a71e5a..c4a13d19 100644 --- a/src/learn/stats.h +++ b/src/tools/stats.h @@ -3,7 +3,7 @@ #include -namespace Learner::Stats { +namespace Tools::Stats { void gather_statistics(std::istringstream& is); diff --git a/src/learn/transform.cpp b/src/tools/transform.cpp similarity index 97% rename from src/learn/transform.cpp rename to src/tools/transform.cpp index 8991b9f1..b3d1f94b 100644 --- a/src/learn/transform.cpp +++ b/src/tools/transform.cpp @@ -21,7 +21,7 @@ #include #include -namespace Learner +namespace Tools { using CommandFunc = void(*)(std::istringstream&); @@ -120,8 +120,8 @@ namespace Learner Position& pos = th->rootPos; StateInfo si; - auto in = Learner::open_sfen_input_file(params.input_filename); - auto out = Learner::create_new_sfen_output(params.output_filename); + auto in = Tools::open_sfen_input_file(params.input_filename); + auto out = Tools::create_new_sfen_output(params.output_filename); if (in == nullptr) { @@ -261,7 +261,7 @@ namespace Learner buffer.reserve(batch_size); - auto out = Learner::create_new_sfen_output(params.output_filename); + auto out = Tools::create_new_sfen_output(params.output_filename); std::mutex mutex; uint64_t num_processed = 0; @@ -279,7 +279,7 @@ namespace Learner // If you use this, it will be compared with the accumulated nodes of each thread. Therefore, do not use it. limits.nodes = 0; - // depth is also processed by the one passed as an argument of Learner::search(). + // depth is also processed by the one passed as an argument of Tools::search(). limits.depth = 0; Threads.execute_with_workers([&](auto& th){ @@ -343,7 +343,7 @@ namespace Learner void do_rescore_data(RescoreParams& params) { // TODO: Use SfenReader once it works correctly in sequential mode. See issue #271 - auto in = Learner::open_sfen_input_file(params.input_filename); + auto in = Tools::open_sfen_input_file(params.input_filename); auto readsome = [&in, mutex = std::mutex{}](int n) mutable -> PSVector { PSVector psv; @@ -388,7 +388,7 @@ namespace Learner // If you use this, it will be compared with the accumulated nodes of each thread. Therefore, do not use it. limits.nodes = 0; - // depth is also processed by the one passed as an argument of Learner::search(). + // depth is also processed by the one passed as an argument of Tools::search(). limits.depth = 0; std::atomic num_processed = 0; diff --git a/src/learn/transform.h b/src/tools/transform.h similarity index 85% rename from src/learn/transform.h rename to src/tools/transform.h index 8a6921a0..f202b55c 100644 --- a/src/learn/transform.h +++ b/src/tools/transform.h @@ -3,7 +3,7 @@ #include -namespace Learner { +namespace Tools { void transform(std::istringstream& is); diff --git a/src/uci.cpp b/src/uci.cpp index 9a9a9e3c..ecf4d86d 100644 --- a/src/uci.cpp +++ b/src/uci.cpp @@ -33,11 +33,11 @@ #include "tt.h" #include "uci.h" -#include "learn/gensfen.h" -#include "learn/gensfen_nonpv.h" -#include "learn/convert.h" -#include "learn/transform.h" -#include "learn/stats.h" +#include "tools/gensfen.h" +#include "tools/gensfen_nonpv.h" +#include "tools/convert.h" +#include "tools/transform.h" +#include "tools/stats.h" using namespace std; @@ -328,14 +328,14 @@ void UCI::loop(int argc, char* argv[]) { else if (token == "eval") trace_eval(pos); else if (token == "compiler") sync_cout << compiler_info() << sync_endl; - else if (token == "gensfen") Learner::gensfen(is); - else if (token == "gensfen_nonpv") Learner::gensfen_nonpv(is); - else if (token == "convert") Learner::convert(is); - else if (token == "convert_bin") Learner::convert_bin(is); - else if (token == "convert_plain") Learner::convert_plain(is); - else if (token == "convert_bin_from_pgn_extract") Learner::convert_bin_from_pgn_extract(is); - else if (token == "transform") Learner::transform(is); - else if (token == "gather_statistics") Learner::Stats::gather_statistics(is); + else if (token == "gensfen") Tools::gensfen(is); + else if (token == "gensfen_nonpv") Tools::gensfen_nonpv(is); + else if (token == "convert") Tools::convert(is); + else if (token == "convert_bin") Tools::convert_bin(is); + else if (token == "convert_plain") Tools::convert_plain(is); + else if (token == "convert_bin_from_pgn_extract") Tools::convert_bin_from_pgn_extract(is); + else if (token == "transform") Tools::transform(is); + else if (token == "gather_statistics") Tools::Stats::gather_statistics(is); // Command to call qsearch(),search() directly for testing else if (token == "qsearch") qsearch_cmd(pos);