Skip to content

Commit

Permalink
- USE_DIFF_EVALいらんか。evaluate_with_no_return()を実装しなければいいだけか。
Browse files Browse the repository at this point in the history
  • Loading branch information
yaneurao committed Nov 28, 2024
1 parent 0056b40 commit b0c6743
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 11 deletions.
8 changes: 0 additions & 8 deletions source/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -394,9 +394,6 @@
// 検討目的なら、これをオンにするのは好ましくない。)
// #define ENABLE_QUICK_DRAW

// 差分計算型評価関数であるか?(次のnodeに行く前に必ずevaluate()が必要である場合にdefineする)
// #define USE_DIFF_EVAL

// ===============================================================
// ここ以降では、↑↑↑で設定した内容に基づき必要なdefineを行う。
// ===============================================================
Expand Down Expand Up @@ -440,11 +437,6 @@ constexpr int MAX_PLY_NUM = 246;
#define USE_SHARED_MEMORY_IN_EVAL
#endif

#if defined(YANEURAOU_ENGINE_KPPT) || defined(YANEURAOU_ENGINE_KPP_KKPT) || defined(YANEURAOU_ENGINE_NNUE)
// 差分計算型評価関数である場合、次のnodeに行く前に必ずevaluate()が必要である。
#define USE_DIFF_EVAL
#endif

// 学習機能を有効にするオプション。
// 教師局面の生成、定跡コマンド(makebook thinkなど)を用いる時には、これを
// 有効化してコンパイルしなければならない。
Expand Down
8 changes: 6 additions & 2 deletions source/engine/yaneuraou-engine/yaneuraou-search.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2031,7 +2031,7 @@ Value search(Position& pos, Stack* ss, Value alpha, Value beta, Depth depth, boo
bool evaluated = false;
auto evaluate = [&](Position& pos) { evaluated = true; return ::evaluate(pos); };
auto lazy_evaluate = [&](Position& pos) {
#if defined(USE_LAZY_EVALUATE) && defined(USE_DIFF_EVAL)
#if defined(USE_LAZY_EVALUATE)
// まだこのnodeでevaluate()が呼び出されていなかったのであれば呼び出す。
if (!evaluated)
{
Expand Down Expand Up @@ -2122,6 +2122,10 @@ Value search(Position& pos, Stack* ss, Value alpha, Value beta, Depth depth, boo
else if (PvNode) {
// Eval::NNUE::hint_common_parent_position(pos, networks[numaAccessToken], refreshTable);
// → TODO : hint_common_parent_position()実装するか検討する。
unadjustedStaticEval = evaluate(pos);
// TODO : ここでevaluate()が必須な理由がよくわからない。
// Stockfishには無いのに…。なぜなのか…。
// 次nodeに行くまでにどこかでevaluate()されないpathがあるのではないか。
}
#else
unadjustedStaticEval = evaluate(pos);
Expand Down Expand Up @@ -3741,7 +3745,7 @@ Value qsearch(Position& pos, Stack* ss, Value alpha, Value beta, Depth depth)
bool evaluated = false;
auto evaluate = [&](Position& pos) { evaluated = true; return ::evaluate(pos); };
auto lazy_evaluate = [&](Position& pos) {
#if defined(USE_LAZY_EVALUATE) && defined(USE_DIFF_EVAL)
#if defined(USE_LAZY_EVALUATE)
// まだこのnodeでevaluate()が呼び出されていなかったのであれば呼び出す。
if (!evaluated)
{
Expand Down
2 changes: 1 addition & 1 deletion source/extra/macros.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ inline T& operator--(T& d) { return d = T(int(d) - 1); }

ENABLE_FULL_OPERATORS_ON(Color)

// StockfishではFileとRankはINCR_OPERATORだが、やねうら王では File同士の加算などができてほしいのでFULL_OPERATORに変うする
// StockfishではFileとRankはINCR_OPERATORだが、やねうら王では File同士の加算などができてほしいのでFULL_OPERATORに変更する
ENABLE_FULL_OPERATORS_ON(File)
ENABLE_FULL_OPERATORS_ON(Rank)

Expand Down

0 comments on commit b0c6743

Please sign in to comment.