X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fmovepick.cpp;h=ab247b7fe2b6a7e4a57ca60f4a9e5d3a3cb0f8e0;hp=15188712e891f041d1c29fb86071191b42135724;hb=b508f9561cc2302c129efe8d60f201ff03ee72c8;hpb=652199d8403bec5e534581715b58b0d11de915a2 diff --git a/src/movepick.cpp b/src/movepick.cpp index 15188712..ab247b7f 100644 --- a/src/movepick.cpp +++ b/src/movepick.cpp @@ -2,7 +2,7 @@ Stockfish, a UCI chess playing engine derived from Glaurung 2.1 Copyright (C) 2004-2008 Tord Romstad (Glaurung author) Copyright (C) 2008-2015 Marco Costalba, Joona Kiiski, Tord Romstad - Copyright (C) 2015-2017 Marco Costalba, Joona Kiiski, Gary Linscott, Tord Romstad + Copyright (C) 2015-2018 Marco Costalba, Joona Kiiski, Gary Linscott, Tord Romstad Stockfish is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -123,7 +123,7 @@ MovePicker::MovePicker(const Position& p, Move ttm, Value th, const CapturePiece /// score() assigns a numerical value to each move in a list, used for sorting. /// Captures are ordered by Most Valuable Victim (MVV), preferring captures -/// near our home rank. Quiets are ordered using the histories. +/// with a good history. Quiets are ordered using the histories. template void MovePicker::score() { @@ -179,12 +179,7 @@ Move MovePicker::next_move(bool skipQuiets) { move = pick_best(cur++, endMoves); if (move != ttMove) { - if (pos.see_ge(move)) - return move; - - if ( type_of(pos.piece_on(to_sq(move))) == KNIGHT - && type_of(pos.moved_piece(move)) == BISHOP - && (cur-1)->value > 1090) + if (pos.see_ge(move, Value(-55 * (cur-1)->value / 1024))) return move; // Losing capture, move it to the beginning of the array