proofDisproof.cc
Go to the documentation of this file.
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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines