Join common code in the stages of next_move()
authorJoost VandeVondele <Joost.VandeVondele@gmail.com>
Sun, 18 Mar 2018 23:56:19 +0000 (00:56 +0100)
committerStéphane Nicolet <cassio@free.fr>
Sun, 18 Mar 2018 23:59:30 +0000 (00:59 +0100)
commitbd59560480cc4f43a4ba75dc827ba27bcebb92dd
treef68661f5c85e35765ec5216fd55687d7fc15a7f2
parent194048503020ad35e221c36fd8817f569b728310
Join common code in the stages of next_move()

Rewrite the MovePicker class using lambda expressions for move filtering.
Includes code style changes by @mcostalba.

Verified for speed, passed STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 43191 W: 9391 L: 9312 D: 24488
http://tests.stockfishchess.org/tests/view/5a99b9df0ebc590297cc8f04

This rewrite of MovePicker.cpp seems to trigger less random crashes on Ryzen
machines than the version in previous master (reported by Bojun Guo).

Closes https://github.com/official-stockfish/Stockfish/pull/1454

No functional change.
src/movepick.cpp
src/movepick.h