From: Marco Costalba Date: Thu, 18 Sep 2008 08:51:24 +0000 (+0100) Subject: MovePicker: simplify move swapping X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=52487c4f043024213c90f6f279d0479e90bce929 MovePicker: simplify move swapping We don't need a full swap here because once found and returned the best move will not be used again. Signed-off-by: Marco Costalba --- diff --git a/src/movepick.cpp b/src/movepick.cpp index 6df070bb..235191af 100644 --- a/src/movepick.cpp +++ b/src/movepick.cpp @@ -335,10 +335,8 @@ Move MovePicker::pick_move_from_list() { } } if(bestIndex != -1) { // Found a good capture - MoveStack tmp = moves[movesPicked]; - moves[movesPicked] = moves[bestIndex]; - moves[bestIndex] = tmp; - move = moves[movesPicked++].move; + move = moves[bestIndex].move; + moves[bestIndex] = moves[movesPicked++]; if(move != ttMove && move != mateKiller && pos->move_is_legal(move, pinned)) return move; @@ -368,10 +366,8 @@ Move MovePicker::pick_move_from_list() { bestIndex = movesPicked; if(bestIndex != -1) { - MoveStack tmp = moves[movesPicked]; - moves[movesPicked] = moves[bestIndex]; - moves[bestIndex] = tmp; - move = moves[movesPicked++].move; + move = moves[bestIndex].move; + moves[bestIndex] = moves[movesPicked++]; if(move != ttMove && move != mateKiller && pos->move_is_legal(move, pinned)) return move; @@ -392,10 +388,8 @@ Move MovePicker::pick_move_from_list() { } if(bestIndex != -1) { - MoveStack tmp = moves[movesPicked]; - moves[movesPicked] = moves[bestIndex]; - moves[bestIndex] = tmp; - move = moves[movesPicked++].move; + move = moves[bestIndex].move; + moves[bestIndex] = moves[movesPicked++]; return move; } } @@ -431,11 +425,8 @@ Move MovePicker::pick_move_from_list() { bestIndex = movesPicked; if(bestIndex != -1) { - MoveStack tmp = moves[movesPicked]; - moves[movesPicked] = moves[bestIndex]; - moves[bestIndex] = tmp; - - move = moves[movesPicked++].move; + move = moves[bestIndex].move; + moves[bestIndex] = moves[movesPicked++]; // Remember to change the line below if we decide to hash the qsearch! // Maybe also postpone the legality check until after futility pruning? if(/* move != ttMove && */ pos->move_is_legal(move, pinned))