X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.cpp;h=5b4dba70abc21fb7ad56c37dd0937ecfd24cbf28;hp=0336a832a363291d4c07d5ade63899db790a9bca;hb=3de0bc43a272d1180a1710f5009de8aec450ed02;hpb=e6f2d43b8a02aeb0180466d75be425800ec7c24d diff --git a/src/position.cpp b/src/position.cpp index 0336a832..5b4dba70 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -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-2009 Marco Costalba + Copyright (C) 2008-2010 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 @@ -87,7 +87,7 @@ Position::Position() {} Position::Position(const Position& pos) { - fast_copy(pos); + memcpy(this, &pos, sizeof(Position)); detach(); // Always detach() in copy c'tor to avoid surprises } @@ -97,19 +97,6 @@ Position::Position(const string& fen) { } -/// Position::fast_copy() creates a partial copy of the given position, -/// only data that changes with a do_move() / undo_move() cycle is copied, -/// in particular for stateInfo are copied only the pointers, so that the -/// actual data remains stored in the parent Position. This is not a problem -/// if the parent Position is known not to be destroyed while we are still alive, -/// as is the common case, see detach() otherwise. - -void Position::fast_copy(const Position& pos) { - - memcpy(this, &pos, sizeof(Position)); -} - - /// Position::detach() copies the content of the current state and castling /// masks inside the position itself. This is needed when the st pointee could /// become stale, as example because the caller is about to going out of scope. @@ -1301,11 +1288,6 @@ void Position::undo_null_move() { } -/// -PieceType Position::captured_piece() const { - return st->capture; -} - /// Position::see() is a static exchange evaluator: It tries to estimate the /// material gain or loss resulting from a move. There are three versions of /// this function: One which takes a destination square as input, one takes a