敵玉の8近傍の状態を表す. More...
#include <king8Info.h>

| Public Member Functions | |
| King8Info (uint64_t v) | |
| uint64_t | uint64Value () const | 
| unsigned int | dropCandidate () const | 
| 0-7 bit 目を返す  More... | |
| unsigned int | liberty () const | 
| 8-15 bit 目を 0-7bitにshiftして返す  More... | |
| unsigned int | libertyDropMask () const | 
| 0-15bit  More... | |
| unsigned int | libertyCandidate () const | 
| 16-23 bit 目を 0-7bitにshiftして返す  More... | |
| unsigned int | moveCandidate2 () const | 
| 24-31 bit 目を 0-7bitにshiftして返す  More... | |
| unsigned int | spaces () const | 
| unsigned int | moves () const | 
| unsigned int | libertyCount () const | 
| libertyの数  More... | |
| template<Player P, Direction Dir> | |
| unsigned int | moveCandidateDir (NumEffectState const &state, Square target) const | 
| template<Player P> | |
| unsigned int | countMoveCandidate (NumEffectState const &state) const | 
| unsigned int | countMoveCandidate (Player player, NumEffectState const &state) const | 
| template<Player P> | |
| unsigned int | moveCandidateMask (NumEffectState const &state) const | 
| template<Player P> | |
| bool | hasMoveCandidate (NumEffectState const &state) const | 
| template<osl::Player P, osl::Direction Dir> | |
| uint64_t | hasEffectMask (NumEffectState const &state, Square target, PieceMask pinned, PieceMask on_board_defense) | 
| template<osl::Player P> | |
| const osl::checkmate::King8Info | make (NumEffectState const &state, Square target, PieceMask pinned) | 
| template<osl::Player P> | |
| const osl::checkmate::King8Info | make (NumEffectState const &state, Square target) | 
| Static Public Member Functions | |
| template<Player P> | |
| static const King8Info | make (NumEffectState const &state, Square king, PieceMask pinned) | 
| template<Player P> | |
| static const King8Info | make (NumEffectState const &state, Square king) | 
| static const King8Info | make (Player attack, NumEffectState const &state) | 
| alt(attack) のking について計算  More... | |
| static const King8Info | makeWithPin (Player attack, NumEffectState const &state, const PieceMask &pinned) | 
| alt(attack) のking について計算.  More... | |
| Static Private Member Functions | |
| template<Player P, Direction Dir> | |
| static uint64_t | hasEffectMask (NumEffectState const &state, Square target, PieceMask pinned, PieceMask on_board_defense) | 
| alt(P)の玉にDirの方向で迫るcanMoveMaskを計算する.  More... | |
| Private Attributes | |
| uint64_t | value | 
敵玉の8近傍の状態を表す.
王手がかかっている場合も含むことにする. Dirは相手の玉に対してDir方向で王手をかける位置 0-7 : 敵玉以外の利きがなく,自分の利きがある空白 (駒を打つ候補となりうる点) 8-15 : 敵玉がDirに移動可能(王手がかかっている場合は長い利きも延ばす) 16-23 : 空白か味方の駒(利き次第では移動可能になる) 24-31 : 敵玉以外の利きがなく,自分の利きがある空白,敵駒 (OLD 24-31 : 敵玉以外の利きがなく,自分の利きが2つ以上ある空白,敵駒 (駒を動かす候補となりうる点) ) 32-39 : 空白(駒打ち王手の候補) 40-47 : 味方の利き(kingの利きも含んでいる)がある空白,敵駒 48-51 : 敵玉がDirに移動可能(王手がかかっている場合は長い利きも延ばす)な数
Definition at line 30 of file king8Info.h.
| 
 | inlineexplicit | 
Definition at line 34 of file king8Info.h.
Referenced by make().
| 
 | inline | 
Definition at line 97 of file king8Info.h.
Referenced by osl::checkmate::ProofNumberTable::disproofAfterAllCheck().
| 
 | inline | 
Definition at line 110 of file king8Info.h.
References osl::BLACK.
| 
 | inline | 
0-7 bit 目を返す
Definition at line 51 of file king8Info.h.
References value.
Referenced by osl::checkmate::ProofNumberTable::disproofAfterAllCheck(), osl::search::BreakThreatmate::generate(), and osl::checkmate::operator<<().
| uint64_t osl::checkmate::King8Info::hasEffectMask | ( | NumEffectState const & | state, | 
| Square | target, | ||
| PieceMask | pinned, | ||
| PieceMask | on_board_defense | ||
| ) | 
Definition at line 68 of file king8Info.cc.
References osl::Piece::canMoveOn(), osl::Piece::isEdge(), osl::Piece::isEmpty(), osl::Piece::isOnBoardByOwner(), and target.
| 
 | staticprivate | 
alt(P)の玉にDirの方向で迫るcanMoveMaskを計算する.
| P(template) | - 攻撃側のplayer | 
| Dir(template) | - 敵玉に迫る方向(shortの8方向) | 
| state | - 初期状態 | 
| target | - alt(P)の玉があるpotision | 
| 
 | inline | 
Definition at line 130 of file king8Info.h.
Referenced by osl::threatmate::TreePredictor::predict().
| 
 | inline | 
8-15 bit 目を 0-7bitにshiftして返す
Definition at line 56 of file king8Info.h.
References value.
Referenced by osl::move_probability::KingBlockade::blockAll(), osl::checkmate::ProofNumberTable::countLiberty(), osl::checkmate::ProofNumberTable::countLibertyLong(), osl::checkmate::ProofNumberTable::countLibertyShortNotKnight(), osl::eval::ml::King8EffectAll::eval(), osl::move_generator::piece_on_board::generateKing(), osl::checkmate::ProofNumberTable::libertyAfterAllMove(), osl::move_probability::KingBlockade::match(), osl::checkmate::operator<<(), and osl::checkmate::ImmediateCheckmateTable::ptypeDropMask().
| 
 | inline | 
16-23 bit 目を 0-7bitにshiftして返す
Definition at line 66 of file king8Info.h.
References value.
Referenced by osl::checkmate::operator<<().
| 
 | inline | 
libertyの数
Definition at line 84 of file king8Info.h.
References value.
Referenced by osl::checkmate::PureLibertyEstimator::attackH(), osl::checkmate::ProofNumberTable::libertyAfterAllDrop(), main(), and osl::move_probability::KingBlockade::match().
| 
 | inline | 
0-15bit
Definition at line 61 of file king8Info.h.
References value.
Referenced by osl::checkmate::ImmediateCheckmateTable::dropPtypeMask(), osl::move_probability::StateInfo::findCheckmateDefender(), and osl::checkmate::ProofNumberTable::libertyAfterAllDrop().
| 
 | static | 
Referenced by osl::state::NumEffectState::isConsistent().
| 
 | static | 
| 
 | static | 
alt(attack) のking について計算
Definition at line 150 of file king8Info.cc.
References osl::alt(), and osl::BLACK.
| const osl::checkmate::King8Info osl::checkmate::King8Info::make | ( | NumEffectState const & | state, | 
| Square | target, | ||
| PieceMask | pinned | ||
| ) | 
Definition at line 112 of file king8Info.cc.
References osl::alt(), osl::Board_Table, osl::BoardTable::getShort8(), King8Info(), osl::Piece::square(), and target.
| const osl::checkmate::King8Info osl::checkmate::King8Info::make | ( | NumEffectState const & | state, | 
| Square | target | ||
| ) | 
Definition at line 144 of file king8Info.cc.
References osl::alt(), and target.
| 
 | static | 
alt(attack) のking について計算.
pinが既に求まっている
Definition at line 160 of file king8Info.cc.
References osl::alt(), and osl::BLACK.
| 
 | inline | 
24-31 bit 目を 0-7bitにshiftして返す
Definition at line 71 of file king8Info.h.
References value.
Referenced by osl::checkmate::operator<<().
| 
 | inline | 
Definition at line 89 of file king8Info.h.
References osl::effect_util::AdditionalEffect::hasEffect(), and value.
| 
 | inline | 
| 
 | inline | 
Definition at line 79 of file king8Info.h.
References value.
Referenced by osl::checkmate::Dfpn::attack().
| 
 | inline | 
Definition at line 75 of file king8Info.h.
References value.
Referenced by osl::move_probability::StateInfo::findCheckmateDefender().
| 
 | inline | 
Definition at line 48 of file king8Info.h.
References value.
Referenced by osl::checkmate::detail::blockingDiagonalAttack(), osl::checkmate::ImmediateCheckmate::hasCheckmateMove(), osl::checkmate::ImmediateCheckmate::hasCheckmateMoveDirPiece(), osl::checkmate::detail::hasCheckmateMoveKnight(), osl::state::NumEffectState::isConsistent(), osl::checkmate::EdgeTable::resetEdgeFromLiberty(), osl::checkmate::detail::slowCheckDrop(), and osl::checkmate::ImmediateCheckmate::slowHasCheckmateMoveDirPiece().
| 
 | private | 
Definition at line 32 of file king8Info.h.
Referenced by dropCandidate(), liberty(), libertyCandidate(), libertyCount(), libertyDropMask(), moveCandidate2(), moveCandidateDir(), moves(), spaces(), and uint64Value().
 1.8.4
 1.8.4