X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.h;h=0951b4669cd28ee61d32771a602d68a484d95de4;hp=235cc8259ff05f83f3d035777453dacd9c04b325;hb=d23454854e72e1311363a8c98cd58a5d44c427f9;hpb=2218a5836a48a764e9b57f5996520b48e0b3d236 diff --git a/src/position.h b/src/position.h index 235cc825..0951b466 100644 --- a/src/position.h +++ b/src/position.h @@ -1,7 +1,7 @@ /* Stockfish, a UCI chess playing engine derived from Glaurung 2.1 Copyright (C) 2004-2008 Tord Romstad (Glaurung author) - Copyright (C) 2008-2012 Marco Costalba, Joona Kiiski, Tord Romstad + Copyright (C) 2008-2013 Marco Costalba, Joona Kiiski, Tord Romstad Stockfish is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -160,6 +160,7 @@ public: // Static exchange evaluation int see(Move m) const; int see_sign(Move m) const; + int see_asymm(Move m, int asymmThreshold) const; // Accessing hash keys Key key() const; @@ -174,12 +175,12 @@ public: // Other properties of the position Color side_to_move() const; - int startpos_ply_counter() const; + int game_ply() const; bool is_chess960() const; Thread* this_thread() const; int64_t nodes_searched() const; void set_nodes_searched(int64_t n); - template bool is_draw() const; + template bool is_draw() const; // Position consistency check, for debugging bool pos_is_ok(int* failedStep = NULL) const; @@ -191,8 +192,9 @@ private: void put_piece(Piece p, Square s); void set_castle_right(Color c, Square rfrom); - // Helper template functions - template void do_castle_move(Move m); + // Helper functions + void do_castle(Square kfrom, Square kto, Square rfrom, Square rto); + template int do_see(Move m, int asymmThreshold) const; template Bitboard hidden_checkers() const; // Computing hash keys from scratch (for initialization and debugging) @@ -218,7 +220,7 @@ private: Bitboard castlePath[COLOR_NB][CASTLING_SIDE_NB]; StateInfo startState; int64_t nodes; - int startPosPly; + int gamePly; Color sideToMove; Thread* thisThread; StateInfo* st; @@ -376,8 +378,8 @@ inline bool Position::is_passed_pawn_push(Move m) const { && pawn_is_passed(sideToMove, to_sq(m)); } -inline int Position::startpos_ply_counter() const { - return startPosPly + st->pliesFromNull; // HACK +inline int Position::game_ply() const { + return gamePly; } inline bool Position::opposite_bishops() const {