mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-19 00:26:33 +08:00
Introduce StateInfo instead of UndoInfo
We don't backup anymore but use the renamed StateInfo argument passed in do_move() to store the new position state when doing a move. Backup is now just revert to previous StateInfo that we know because we store a pointer to it. Note that now backing store is up to the caller, Position is stateless in that regard, state is accessed through a pointer. This patch will let us remove all the backup/restore copying, just a pointer switch is now necessary. Note that do_null_move() still uses StateInfo as backup. No functional change. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
@@ -219,12 +219,12 @@ namespace {
|
||||
if (token == "moves")
|
||||
{
|
||||
Move move;
|
||||
UndoInfo u;
|
||||
StateInfo st;
|
||||
while (!uip.eof())
|
||||
{
|
||||
uip >> token;
|
||||
move = move_from_string(RootPosition, token);
|
||||
RootPosition.do_move(move, u);
|
||||
RootPosition.do_move(move, st);
|
||||
if (RootPosition.rule_50_counter() == 0)
|
||||
RootPosition.reset_game_ply();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user