00001 /* dotAnalyzerProof.h 00002 */ 00003 #ifndef _DOTANALYZERPROOF_H 00004 #define _DOTANALYZERPROOF_H 00005 00006 #include "osl/search/analyzer/dotAnalyzer.h" 00007 00008 namespace osl 00009 { 00010 class MoveLogProb; 00011 namespace search 00012 { 00013 class SimpleHashRecord; 00014 namespace analyzer 00015 { 00025 class DotAnalyzerProof : public DotAnalyzer 00026 { 00027 public: 00028 DotAnalyzerProof(const SimpleHashTable&, std::ostream&); 00029 ~DotAnalyzerProof(); 00030 00031 void analyze(const HashKey& root, int limit); 00032 void analyzeQuiescence(const HashKey& root); 00033 private: 00038 void absoluteBound(unsigned int depth, bool is_lower, int bound, 00039 Player turn, int limit, 00040 const SimpleHashRecord *from, 00041 const SimpleHashRecord *to, 00042 const MoveLogProb& move); 00043 }; 00044 } // namespace analyzer 00045 } // namespace search 00046 } // namespace osl 00047 00048 00049 #endif /* _DOTANALYZERPROOF_H */ 00050 // ;;; Local Variables: 00051 // ;;; mode:c++ 00052 // ;;; c-basic-offset:2 00053 // ;;; End: