Go to the documentation of this file. 1 #ifndef _PROOF_DISPROOF_H
2 #define _PROOF_DISPROOF_H
18 unsigned long long pdp;
44 static unsigned long long
108 const unsigned int lp =
proof();
109 const unsigned int rp = r.
proof();
120 const unsigned int rd = r.
disproof();
157 using checkmate::ProofDisproof;
159 #endif // _PROOF_DISPROOF_H
bool isCheckmateSuccess() const
unsigned int proof() const
bool isLoopDetection() const
static const ProofDisproof NoEscape()
bool isPawnDropFoul(Move move) const
打歩詰めなら真
unsigned long long ulonglongValue() const
@ NO_ESCAPE_DISPROOF
反証数の定数: 詰んだ時には,詰の種類の区別に利用
@ NO_CHECK_MATE_PROOF
証明数の定数: 反証された時には,不詰の種類の区別に利用
const ProofDisproof & betterForAttack(const ProofDisproof &r) const
攻方に都合が良い方を返す
bool operator!=(const ProofDisproof &l, const ProofDisproof &r)
bool isBetterForDefense(const ProofDisproof &r) const
this が r より受方に都合が良い時に真
static const ProofDisproof make(unsigned int proof, unsigned int disproof)
static const ProofDisproof Unknown()
@ DISPROOF_LIMIT
通常の反証数の上限
static void testConsistency()
static const ProofDisproof LoopDetection()
ProofDisproof(unsigned int proof, unsigned int disproof)
ProofDisproof(unsigned long long value)
range check をしない private バージョン
std::ostream & operator<<(std::ostream &, King8Info)
static unsigned long long compose(unsigned long long proof, unsigned long long disproof)
bool isNormal() const
INVALID でも PASS でもない.
static const ProofDisproof makeDirect(unsigned long long value)
static const ProofDisproof AttackBack()
const ProofDisproof & betterForDefense(const ProofDisproof &r) const
受方に都合が良い方を返す
証明数(proof number)と反証数(disproof number).
static const ProofDisproof PawnCheckmate()
static const ProofDisproof Bottom()
攻方にも受方にも不都合な仮想的な数
unsigned int disproof() const
static const ProofDisproof Checkmate()
bool isCheckmateFail() const
bool operator==(const ProofDisproof &l, const ProofDisproof &r)
bool isBetterForAttack(const ProofDisproof &r) const
this が r より攻方に都合が良い時に真
static const unsigned int BigProofNumber
static const ProofDisproof NoCheckmate()
bool operator<(const ProofDisproof &l, const ProofDisproof &r)