00001 #include "osl/checkmate/proofDisproof.h" 00002 #include <boost/static_assert.hpp> 00003 #include <iostream> 00004 00005 void osl::checkmate:: 00006 ProofDisproof::testConsistency() 00007 { 00008 BOOST_STATIC_ASSERT((ProofDisproof::BigProofNumber > ProofDisproof::PAWN_CHECK_MATE_PROOF)); 00009 BOOST_STATIC_ASSERT((ProofDisproof::NO_CHECK_MATE_PROOF > ProofDisproof::PAWN_CHECK_MATE_PROOF)); 00010 } 00011 00012 std::ostream& osl::checkmate:: 00013 operator<<(std::ostream& os, const ProofDisproof& pdp) 00014 { 00015 if (pdp == ProofDisproof::Checkmate()) 00016 os << "Checkmate"; 00017 else if (pdp == ProofDisproof::NoEscape()) 00018 os << "NoEscape"; 00019 else if (pdp == ProofDisproof::NoCheckmate()) 00020 os << "NoCheckmate"; 00021 else if (pdp == ProofDisproof::PawnCheckmate()) 00022 os << "PawnCheckmate"; 00023 else if (pdp == ProofDisproof::LoopDetection()) 00024 os << "LoopDetection"; 00025 else if (pdp == ProofDisproof::AttackBack()) 00026 os << "AttackBack"; 00027 else 00028 os << "pdp-" << pdp.proof() << "," << pdp.disproof(); 00029 return os; 00030 } 00031 00032 /* ------------------------------------------------------------------------- */ 00033 // ;;; Local Variables: 00034 // ;;; mode:c++ 00035 // ;;; c-basic-offset:2 00036 // ;;; End: