X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Ftypes.h;h=0d2cdd3bc8cd20d4479b2cf2d5c6ba5ab0217d2e;hp=5c9fed8877a4f8187e18d4d50738db7ac472dacb;hb=4a4513d126233ce639b413877d155e870cc4cf5c;hpb=fb4b4f772e270033560e429a694376caa03a3f52 diff --git a/src/types.h b/src/types.h index 5c9fed88..0d2cdd3b 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 @@ -339,6 +334,14 @@ extern const Value PieceValueMidgame[17]; extern const Value PieceValueEndgame[17]; extern int SquareDistance[64][64]; +inline Color operator~(Color c) { + return Color(c ^ 1); +} + +inline Square operator~(Square s) { + return Square(s ^ 56); +} + inline Value mate_in(int ply) { return VALUE_MATE - ply; } @@ -359,10 +362,6 @@ inline Color color_of(Piece p) { return Color(p >> 3); } -inline Color flip(Color c) { - return Color(c ^ 1); -} - inline Square make_square(File f, Rank r) { return Square((r << 3) | f); } @@ -379,10 +378,6 @@ inline Rank rank_of(Square s) { return Rank(s >> 3); } -inline Square flip(Square s) { - return Square(s ^ 56); -} - inline Square mirror(Square s) { return Square(s ^ 7); } @@ -432,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); } @@ -464,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