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