Unify move generation

Functional change due only to moves reorder. Anyhow after
5242 games at 15"+0.1 TC verified we have no regression.

Mod vs Orig 994 - 958 - 3290 +2 ELO

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba
2011-01-05 19:47:01 +01:00
parent 12f4bbc8f2
commit 57b3ca916f
7 changed files with 92 additions and 109 deletions

View File

@@ -23,21 +23,21 @@
#include "position.h"
enum MoveGeneration {
CAPTURES,
NON_CAPTURES,
NON_CAPTURE_CHECKS,
EVASIONS,
NON_EVASIONS,
ALL_MOVES
enum MoveType {
MV_CAPTURE,
MV_NON_CAPTURE,
MV_CHECK,
MV_NON_CAPTURE_CHECK,
MV_EVASION,
MV_NON_EVASION,
MV_LEGAL,
MV_PSEUDO_LEGAL
};
template<MoveGeneration T>
template<MoveType T>
MoveStack* generate(const Position& pos, MoveStack* mlist);
extern MoveStack* generate_moves(const Position& pos, MoveStack* mlist, bool pseudoLegal = false);
extern bool move_is_legal(const Position& pos, const Move m, Bitboard pinned);
extern bool move_is_legal(const Position& pos, const Move m);
#endif // !defined(MOVEGEN_H_INCLUDED)