///
/// -DUSE_POPCNT | Add runtime support for use of popcnt asm-instruction. Works
/// | only in 64-bit mode and requires hardware with popcnt support.
+///
+/// -DUSE_PEXT | Add runtime support for use of pext asm-instruction. Works
+/// | only in 64-bit mode and requires hardware with pext support.
#include <cassert>
#include <cctype>
# define pext(b, m) (0)
#endif
-#ifdef _MSC_VER
-# define FORCE_INLINE __forceinline
-#elif defined(__GNUC__)
-# define FORCE_INLINE inline __attribute__((always_inline))
-#else
-# define FORCE_INLINE inline
-#endif
-
#ifdef USE_POPCNT
const bool HasPopCnt = true;
#else
PawnValueMg = 198, PawnValueEg = 258,
KnightValueMg = 817, KnightValueEg = 846,
BishopValueMg = 836, BishopValueEg = 857,
- RookValueMg = 1270, RookValueEg = 1278,
+ RookValueMg = 1270, RookValueEg = 1281,
QueenValueMg = 2521, QueenValueEg = 2558,
MidgameLimit = 15581, EndgameLimit = 3998
}
inline PieceType promotion_type(Move m) {
- return PieceType(((m >> 12) & 3) + 2);
+ return PieceType(((m >> 12) & 3) + KNIGHT);
}
inline Move make_move(Square from, Square to) {