#include "bitboard.h"
#include "evaluate.h"
+#include "psqt.h"
#include "types.h"
#include "nnue/nnue_accumulator.h"
// FEN string input/output
Position& set(const std::string& fenStr, bool isChess960, StateInfo* si, Thread* th);
Position& set(const std::string& code, Color c, StateInfo* si);
- const std::string fen() const;
+ std::string fen() const;
// Position representation
Bitboard pieces(PieceType pt) const;
bool chess960;
};
-namespace PSQT {
- extern Score psq[PIECE_NB][SQUARE_NB];
-}
-
extern std::ostream& operator<<(std::ostream& os, const Position& pos);
inline Color Position::side_to_move() const {
}
inline Key Position::key() const {
- return st->key;
+ return st->rule50 < 14 ? st->key
+ : st->key ^ make_key((st->rule50 - 14) / 8);
}
inline Key Position::pawn_key() const {