From 969982406ce85e38b88d15768ae2d3ee31fe82bb Mon Sep 17 00:00:00 2001 From: loco-loco Date: Thu, 5 May 2016 20:56:47 -0700 Subject: [PATCH] Merge good and bad quiets STC: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 58613 W: 10779 L: 10723 D: 37111 LTC: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 33608 W: 4539 L: 4436 D: 24633 Bench: 9441294 --- src/movepick.cpp | 22 ++++++++++------------ src/movepick.h | 2 +- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/movepick.cpp b/src/movepick.cpp index e248b729..3e907503 100644 --- a/src/movepick.cpp +++ b/src/movepick.cpp @@ -26,7 +26,7 @@ namespace { enum Stages { - MAIN_SEARCH, GOOD_CAPTURES, KILLERS, GOOD_QUIETS, BAD_QUIETS, BAD_CAPTURES, + MAIN_SEARCH, GOOD_CAPTURES, KILLERS, QUIET, BAD_CAPTURES, EVASION, ALL_EVASIONS, QSEARCH_WITH_CHECKS, QCAPTURES_1, CHECKS, QSEARCH_WITHOUT_CHECKS, QCAPTURES_2, @@ -199,17 +199,15 @@ void MovePicker::generate_next_stage() { endMoves = cur + 2 + (countermove != killers[0] && countermove != killers[1]); break; - case GOOD_QUIETS: - endQuiets = endMoves = generate(pos, moves); + case QUIET: + endMoves = generate(pos, moves); score(); - endMoves = std::partition(cur, endMoves, [](const ExtMove& m) { return m.value > VALUE_ZERO; }); - insertion_sort(cur, endMoves); - break; - - case BAD_QUIETS: - cur = endMoves; - endMoves = endQuiets; - if (depth >= 3 * ONE_PLY) + if (depth < 3 * ONE_PLY) + { + ExtMove* goodQuiet = std::partition(cur, endMoves, [](const ExtMove& m) + { return m.value > VALUE_ZERO; }); + insertion_sort(cur, goodQuiet); + } else insertion_sort(cur, endMoves); break; @@ -282,7 +280,7 @@ Move MovePicker::next_move() { return move; break; - case GOOD_QUIETS: case BAD_QUIETS: + case QUIET: move = *cur++; if ( move != ttMove && move != killers[0] diff --git a/src/movepick.h b/src/movepick.h index fc090d29..fffd4708 100644 --- a/src/movepick.h +++ b/src/movepick.h @@ -100,7 +100,7 @@ private: Square recaptureSquare; Value threshold; int stage; - ExtMove *endQuiets, *endBadCaptures = moves + MAX_MOVES - 1; + ExtMove* endBadCaptures = moves + MAX_MOVES - 1; ExtMove moves[MAX_MOVES], *cur = moves, *endMoves = moves; }; -- 2.39.2