00001
00002
00003 #ifndef GAME_PLAYING_HISTORYTOTABLE_H
00004 #define GAME_PLAYING_HISTORYTOTABLE_H
00005 namespace osl
00006 {
00007 class Move;
00008 namespace hash
00009 {
00010 class HashKey;
00011 }
00012 namespace search
00013 {
00014 class SimpleHashTable;
00015 class HashRejections;
00016 }
00017 namespace game_playing
00018 {
00019 class GameState;
00020 class PVHistory;
00021 struct HistoryToTable
00022 {
00024 static const int LIMIT;
00028 static void adjustDominance(const hash::HashKey& key,
00029 search::SimpleHashTable& table,
00030 int black_win, int white_win,
00031 const Move& good_move);
00035 static void adjustTable(const GameState&,
00036 search::SimpleHashTable& table,
00037 int black_win, int draw, int white_win);
00038 static void setPV(const PVHistory&, const GameState&,
00039 search::SimpleHashTable& table);
00040 };
00041 }
00042 }
00043
00044 #endif
00045
00046
00047
00048