No functional change.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
#include "bitcount.h"
#include "endgame.h"
#include "bitcount.h"
#include "endgame.h"
//// Inline functions
////
//// Inline functions
////
+inline Square pawn_push(Color c) {
+ return c == WHITE ? DELTA_N : DELTA_S;
+}
+
inline void PawnInfoTable::prefetch(Key key) const {
unsigned index = unsigned(key & (PawnTableSize - 1));
inline void PawnInfoTable::prefetch(Key key) const {
unsigned index = unsigned(key & (PawnTableSize - 1));
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#if !defined(PIECE_H_INCLUDED)
#define PIECE_H_INCLUDED
#if !defined(PIECE_H_INCLUDED)
#define PIECE_H_INCLUDED
-////
-//// Includes
-////
-
-#include <string>
-
-
-////
-//// Types
-////
-
enum PieceType {
PIECE_TYPE_NONE = 0,
PAWN = 1, KNIGHT = 2, BISHOP = 3, ROOK = 4, QUEEN = 5, KING = 6
enum PieceType {
PIECE_TYPE_NONE = 0,
PAWN = 1, KNIGHT = 2, BISHOP = 3, ROOK = 4, QUEEN = 5, KING = 6
ENABLE_OPERATORS_ON(PieceType)
ENABLE_OPERATORS_ON(Piece)
ENABLE_OPERATORS_ON(PieceType)
ENABLE_OPERATORS_ON(Piece)
-
-////
-//// Constants
-////
-
/// Important: If the material values are changed, one must also
/// adjust the piece square tables, and the method game_phase() in the
/// Position class!
/// Important: If the material values are changed, one must also
/// adjust the piece square tables, and the method game_phase() in the
/// Position class!
const Value QueenValueMidgame = Value(0x9D9);
const Value QueenValueEndgame = Value(0x9FE);
const Value QueenValueMidgame = Value(0x9D9);
const Value QueenValueEndgame = Value(0x9FE);
-
-////
-//// Inline functions
-////
-
inline PieceType type_of_piece(Piece p) {
return PieceType(int(p) & 7);
}
inline PieceType type_of_piece(Piece p) {
return PieceType(int(p) & 7);
}
return Piece((int(c) << 3) | int(pt));
}
return Piece((int(c) << 3) | int(pt));
}
-inline Square pawn_push(Color c) {
- return (c == WHITE ? DELTA_N : DELTA_S);
-}
-
inline bool piece_type_is_ok(PieceType pt) {
return pt >= PAWN && pt <= KING;
}
inline bool piece_type_is_ok(PieceType pt) {
return pt >= PAWN && pt <= KING;
}
}
inline char piece_type_to_char(PieceType pt) {
}
inline char piece_type_to_char(PieceType pt) {
- return std::string(" PNBRQK")[pt];
-}
-
-inline PieceType piece_type_from_char(char c) {
- return PieceType(std::string(" PNBRQK").find(c));
+ static const char ch[] = " PNBRQK";
+ return ch[pt];
}
#endif // !defined(PIECE_H_INCLUDED)
}
#endif // !defined(PIECE_H_INCLUDED)