00001 /* historyTable.h 00002 */ 00003 #ifndef OSL_SEARCH_HISTORYTABLE_H 00004 #define OSL_SEARCH_HISTORYTABLE_H 00005 00006 #include "osl/state/numEffectState.h" 00007 #include "osl/container/moveLogProbVector.h" 00008 #include <boost/shared_ptr.hpp> 00009 #include <iosfwd> 00010 00011 namespace osl 00012 { 00013 namespace search 00014 { 00015 class HistoryTable 00016 { 00017 class Table; 00018 boost::shared_ptr<Table> table; 00019 static const int maximum_logp = 2000; 00020 public: 00021 HistoryTable(); 00022 ~HistoryTable(); 00023 void clear(); 00024 00025 HistoryTable& operator=(const HistoryTable&); 00026 00027 void setMove(int depth_left, Move best_move); 00028 void getMoves(const NumEffectState&, MoveLogProbVector& moves) const; 00029 00031 int logp(Move) const; 00032 static int logp(double); 00033 00034 double count(Move) const; 00035 void dump(std::ostream&) const; 00036 }; 00037 } // namespace search 00038 using search::HistoryTable; 00039 } // namespace osl 00040 00041 #endif /* OSL_SEARCH_HISTORYTABLE_H */ 00042 // ;;; Local Variables: 00043 // ;;; mode:c++ 00044 // ;;; c-basic-offset:2 00045 // ;;; End: