X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Ftypes.h;h=0915d685ada89f872d8c91b2871a939384c442ba;hb=9b43fd79372946128924ab3d42c64559e95d29d6;hp=90793806e7dba324ac51f34b682d16074be57dbf;hpb=f4dadee5e2fd27a32e64179f737c1c3825098ea5;p=stockfish diff --git a/src/types.h b/src/types.h index 90793806..0915d685 100644 --- a/src/types.h +++ b/src/types.h @@ -34,11 +34,6 @@ /// -DUSE_POPCNT | Add runtime support for use of popcnt asm-instruction. Works /// | only in 64-bit mode. For compiling requires hardware with /// | popcnt support. -/// -/// -DOLD_LOCKS | Under Windows are used the fast Slim Reader/Writer (SRW) -/// | Locks and Condition Variables: these are not supported by -/// | Windows XP and older, to compile for those platforms you -/// | should enable OLD_LOCKS. #include #include @@ -65,6 +60,7 @@ typedef unsigned __int64 uint64_t; #endif #if defined(_WIN64) +# include // MSVC popcnt and bsfq instrinsics # define IS_64BIT # define USE_BSFQ #endif @@ -431,11 +427,11 @@ inline Square pawn_push(Color c) { return c == WHITE ? DELTA_N : DELTA_S; } -inline Square move_from(Move m) { +inline Square from_sq(Move m) { return Square((m >> 6) & 0x3F); } -inline Square move_to(Move m) { +inline Square to_sq(Move m) { return Square(m & 0x3F); } @@ -463,20 +459,20 @@ inline Move make_move(Square from, Square to) { return Move(to | (from << 6)); } -inline Move make_promotion_move(Square from, Square to, PieceType promotion) { - return Move(to | (from << 6) | (1 << 14) | ((promotion - 2) << 12)) ; +inline Move make_promotion(Square from, Square to, PieceType pt) { + return Move(to | (from << 6) | (1 << 14) | ((pt - 2) << 12)) ; } -inline Move make_enpassant_move(Square from, Square to) { +inline Move make_enpassant(Square from, Square to) { return Move(to | (from << 6) | (2 << 14)); } -inline Move make_castle_move(Square from, Square to) { +inline Move make_castle(Square from, Square to) { return Move(to | (from << 6) | (3 << 14)); } inline bool is_ok(Move m) { - return move_from(m) != move_to(m); // Catches also MOVE_NULL and MOVE_NONE + return from_sq(m) != to_sq(m); // Catches also MOVE_NULL and MOVE_NONE } #include