#include <progress.h>
Public 型 | |
enum | { ProgressScale = 2 } |
Public メソッド | |
NewProgress (const NumEffectState &state) | |
int | progress () const |
template<Player P> | |
void | updateSub (const NumEffectState &new_state, Move last_move) |
void | update (const NumEffectState &new_state, Move last_move) |
NewProgressDebugInfo | debugInfo () const |
const Progress16 | progress16 () const |
const Progress16 | progress16 (Player p) const |
const Progress16 | progressAttack (Player p) const |
const Progress16 | progressDefense (Player p) const |
const NewProgressData | rawData () const |
Static Public メソッド | |
static int | maxProgress () |
static bool | initialized () |
static bool | setUp (const char *filename) |
static bool | setUp () |
static std::string | defaultFilename () |
Private メソッド | |
void | updatePieceKingRelativeBonus (const NumEffectState &state) |
void | updateNonPawnAttackedPtypePair (const NumEffectState &state) |
template<Player Owner> | |
void | updateNonPawnAttackedPtypePairOne (const NumEffectState &state) |
void | updatePawnFacing (const NumEffectState &state) |
template<Player Attack> | |
void | promotion37One (const NumEffectState &state, int rank) |
void | updatePromotion37 (const NumEffectState &state) |
void | updatePieceStand7 (const NumEffectState &state) |
template<Player P> | |
void | updateAttack5x5PiecesAndState (const NumEffectState &state) |
template<Player P> | |
void | updateAttack5x5Pieces (PieceMask, const NumEffectState &) |
template<Player P> | |
int | attack5x5Value (const NumEffectState &state) const |
template<Player P> | |
void | updateMain (const NumEffectState &new_state, Move last_move) |
Static Private メソッド | |
template<Player P> | |
static void | progressOne (const NumEffectState &state, int &attack, int &defense) |
template<Player P> | |
static int | index (Square king, Square target) |
template<Player P> | |
static int | indexX (Square king, Square target) |
template<Player P> | |
static int | indexY (Square king, Square target) |
static int | index5x5 (int rook, int bishop, int gold, int silver, int promoted) |
static int | index5x5x (int rook, int bishop, int gold, int silver, int promoted, int king_x) |
static int | index5x5y (int rook, int bishop, int gold, int silver, int promoted, int king_y) |
template<Player P> | |
static int | indexPerEffect (Square king, Square target, int count) |
template<Player P> | |
static int | indexPerEffectY (Square king, Square target, int count) |
template<Player P> | |
static int | indexPerEffectX (Square king, Square target, int count) |
template<Player P> | |
static int | indexRelative (const Square king, const Ptype ptype, const Square pos) |
static int | indexRelative (const Player player, const Square king, const Piece piece) |
Static Private 変数 | |
static bool | initialized_flag |
static CArray< int, Piece::SIZE > | stand_weight |
static CArray< int, 1125 > | attack5x5_weight |
static CArray< int, 5625 > | attack5x5_x_weight |
static CArray< int, 10125 > | attack5x5_y_weight |
static CArray< int, 75 > | effectstate_weight |
static CArray< int, 81 *15 *10 > | attack_relative |
static CArray< int, 81 *15 *10 > | defense_relative |
static CArray< int, 4284 > | king_relative_weight |
static CArray< int, 262144 > | attacked_ptype_pair_weight |
static CArray< int, 10 > | pawn_facing_weight |
static CArray< int, 16 > | promotion37_weight |
static CArray< int, 56 > | piecestand7_weight |
static int | max_progress |
progress.h の 75 行で定義されています。
anonymous enum |
progress.h の 78 行で定義されています。
osl::progress::ml::NewProgress::NewProgress | ( | const NumEffectState & | state | ) |
progress.cc の 546 行で定義されています。
参照先 osl::progress::ml::NewProgressData::attack5x5_progresses, osl::BLACK, osl::progress::ml::NewProgressData::defenses, osl::CArray< T, Capacity >::fill(), osl::PtypeTable::getIndexMin(), initialized_flag, osl::PieceStand::order, osl::progress::ml::NewProgressData::progresses, osl::Ptype_Table, osl::progress::ml::NewProgressData::stand_progresses, stand_weight, updateNonPawnAttackedPtypePair(), updatePawnFacing(), updatePieceKingRelativeBonus(), updatePieceStand7(), updatePromotion37(), と osl::WHITE.
int osl::progress::ml::NewProgress::attack5x5Value | ( | const NumEffectState & | state | ) | const [private] |
progress.cc の 386 行で定義されています。
参照先 osl::alt(), attack5x5_x_weight, attack5x5_y_weight, osl::BISHOP, osl::progress::ml::NewProgressData::bishop, osl::BLACK, osl::SimpleState::countPiecesOnStand(), osl::GOLD, osl::progress::ml::NewProgressData::gold, index5x5x(), index5x5y(), osl::SimpleState::kingSquare(), osl::progress::ml::NewProgressData::promoted, osl::ROOK, osl::progress::ml::NewProgressData::rook, osl::SILVER, と osl::progress::ml::NewProgressData::silver.
osl::progress::ml::NewProgressDebugInfo osl::progress::ml::NewProgress::debugInfo | ( | ) | const |
progress.cc の 726 行で定義されています。
参照先 osl::progress::ml::NewProgressData::attack5x5_progresses, osl::progress::ml::NewProgressDebugInfo::black_values, osl::progress::ml::NewProgressData::defenses, osl::progress::ml::NewProgressData::effect_progresses, osl::progress::ml::NewProgressData::king_relative_attack, osl::progress::ml::NewProgressData::king_relative_defense, osl::progress::ml::NewProgressData::non_pawn_ptype_attacked_pair, osl::progress::ml::NewProgressData::progresses, osl::progress::ml::NewProgressData::stand_progresses, と osl::progress::ml::NewProgressDebugInfo::white_values.
std::string osl::progress::ml::NewProgress::defaultFilename | ( | ) | [static] |
progress.cc の 288 行で定義されています。
参照元 osl::OslConfig::healthCheck(), と setUp().
static int osl::progress::ml::NewProgress::index | ( | Square | king, | |
Square | target | |||
) | [inline, static, private] |
progress.h の 113 行で定義されています。
参照先 osl::BLACK, osl::Square::x(), と osl::Square::y().
static int osl::progress::ml::NewProgress::index5x5 | ( | int | rook, | |
int | bishop, | |||
int | gold, | |||
int | silver, | |||
int | promoted | |||
) | [inline, static, private] |
progress.h の 146 行で定義されています。
static int osl::progress::ml::NewProgress::index5x5x | ( | int | rook, | |
int | bishop, | |||
int | gold, | |||
int | silver, | |||
int | promoted, | |||
int | king_x | |||
) | [inline, static, private] |
progress.h の 152 行で定義されています。
参照元 attack5x5Value().
static int osl::progress::ml::NewProgress::index5x5y | ( | int | rook, | |
int | bishop, | |||
int | gold, | |||
int | silver, | |||
int | promoted, | |||
int | king_y | |||
) | [inline, static, private] |
progress.h の 159 行で定義されています。
参照元 attack5x5Value().
static int osl::progress::ml::NewProgress::indexPerEffect | ( | Square | king, | |
Square | target, | |||
int | count | |||
) | [inline, static, private] |
progress.h の 167 行で定義されています。
参照先 osl::BLACK, osl::eval::min(), osl::Square::x(), と osl::Square::y().
static int osl::progress::ml::NewProgress::indexPerEffectX | ( | Square | king, | |
Square | target, | |||
int | count | |||
) | [inline, static, private] |
progress.h の 187 行で定義されています。
参照先 osl::BLACK, osl::eval::min(), osl::WHITE, osl::Square::x(), と osl::Square::y().
static int osl::progress::ml::NewProgress::indexPerEffectY | ( | Square | king, | |
Square | target, | |||
int | count | |||
) | [inline, static, private] |
progress.h の 177 行で定義されています。
参照先 osl::BLACK, osl::eval::min(), osl::Square::x(), と osl::Square::y().
static int osl::progress::ml::NewProgress::indexRelative | ( | const Square | king, | |
const Ptype | ptype, | |||
const Square | pos | |||
) | [inline, static, private] |
progress.h の 201 行で定義されています。
参照先 osl::BLACK, osl::PTYPE_PIECE_MIN, osl::Square::x(), と osl::Square::y().
static int osl::progress::ml::NewProgress::indexRelative | ( | const Player | player, | |
const Square | king, | |||
const Piece | piece | |||
) | [inline, static, private] |
progress.h の 209 行で定義されています。
参照先 osl::BLACK, osl::Piece::ptype(), と osl::Piece::square().
static int osl::progress::ml::NewProgress::indexX | ( | Square | king, | |
Square | target | |||
) | [inline, static, private] |
progress.h の 121 行で定義されています。
参照先 osl::BLACK, osl::WHITE, osl::Square::x(), と osl::Square::y().
static int osl::progress::ml::NewProgress::indexY | ( | Square | king, | |
Square | target | |||
) | [inline, static, private] |
progress.h の 138 行で定義されています。
参照先 osl::BLACK, osl::Square::x(), と osl::Square::y().
static bool osl::progress::ml::NewProgress::initialized | ( | ) | [inline, static] |
progress.h の 304 行で定義されています。
参照先 initialized_flag.
static int osl::progress::ml::NewProgress::maxProgress | ( | ) | [inline, static] |
progress.h の 243 行で定義されています。
参照先 max_progress.
参照元 osl::eval::ml::OpenMidEndingEval::composeOpenMid2Endgame(), osl::eval::ml::OpenMidEndingEval::composeOpenMidEndgame(), osl::eval::ml::OpenMidEndingEval::expect(), osl::eval::ml::OpenMidEndingEval::infty(), progress16(), progressAttack(), progressDefense(), osl::eval::ml::OpenMidEndingEval::progressMax(), と osl::eval::ml::OpenMidEndingEval::seeScale().
int osl::progress::ml::NewProgress::progress | ( | ) | const [inline] |
progress.h の 225 行で定義されています。
参照先 osl::progress::ml::NewProgressData::attack5x5_progresses, osl::progress::ml::NewProgressData::defenses, osl::progress::ml::NewProgressData::effect_progresses, osl::progress::ml::NewProgressData::king_relative_attack, osl::progress::ml::NewProgressData::king_relative_defense, osl::eval::max(), max_progress, osl::eval::min(), osl::progress::ml::NewProgressData::non_pawn_ptype_attacked_pair, osl::progress::ml::NewProgressData::pawn_facing, osl::progress::ml::NewProgressData::piecestand7, osl::progress::ml::NewProgressData::progresses, ProgressScale, osl::progress::ml::NewProgressData::promotion37, と osl::progress::ml::NewProgressData::stand_progresses.
参照元 osl::eval::ml::OpenMidEndingEval::composeOpenMid2Endgame(), osl::eval::ml::OpenMidEndingEval::composeOpenMidEndgame(), osl::eval::ml::OpenMidEndingEval::expect(), progress16(), と osl::eval::ml::OpenMidEndingEval::progressValue().
const Progress16 osl::progress::ml::NewProgress::progress16 | ( | ) | const [inline] |
const Progress16 osl::progress::ml::NewProgress::progress16 | ( | Player | p | ) | const [inline] |
progress.h の 261 行で定義されています。
参照先 osl::alt(), osl::progress::ml::NewProgressData::attack5x5_progresses, osl::progress::ml::NewProgressData::defenses, osl::progress::ml::NewProgressData::effect_progresses, osl::progress::ml::NewProgressData::king_relative_attack, osl::progress::ml::NewProgressData::king_relative_defense, osl::eval::max(), max_progress, maxProgress(), osl::eval::min(), osl::progress::ml::NewProgressData::non_pawn_ptype_attacked_pair, osl::playerToIndex(), osl::progress::ml::NewProgressData::progresses, ProgressScale, と osl::progress::ml::NewProgressData::stand_progresses.
const Progress16 osl::progress::ml::NewProgress::progressAttack | ( | Player | p | ) | const [inline] |
progress.h の 278 行で定義されています。
参照先 osl::alt(), osl::progress::ml::NewProgressData::attack5x5_progresses, osl::progress::ml::NewProgressData::effect_progresses, osl::progress::ml::NewProgressData::king_relative_attack, osl::eval::max(), max_progress, maxProgress(), osl::eval::min(), osl::progress::ml::NewProgressData::progresses, ProgressScale, と osl::progress::ml::NewProgressData::stand_progresses.
const Progress16 osl::progress::ml::NewProgress::progressDefense | ( | Player | p | ) | const [inline] |
void osl::progress::ml::NewProgress::progressOne | ( | const NumEffectState & | state, | |
int & | attack, | |||
int & | defense | |||
) | [static, private] |
void osl::progress::ml::NewProgress::promotion37One | ( | const NumEffectState & | state, | |
int | rank | |||
) | [private] |
progress.cc の 492 行で定義されています。
参照先 osl::alt(), osl::NumEffectState::countEffect(), osl::NumEffectState::findCheapAttack(), osl::isPiece(), osl::isPromoted(), osl::progress::ml::NewProgressData::promotion37, osl::progress::ml::NewProgressData::promotion37_eval, promotion37_weight, osl::Piece::ptype(), osl::PTYPE_BASIC_MIN, と osl::sign().
const NewProgressData osl::progress::ml::NewProgress::rawData | ( | ) | const [inline] |
progress.h の 311 行で定義されています。
参照元 osl::progress::ml::operator==(), と osl::eval::ml::OpenMidEndingEval::updateSub().
bool osl::progress::ml::NewProgress::setUp | ( | ) | [static] |
progress.cc の 283 行で定義されています。
参照先 defaultFilename().
bool osl::progress::ml::NewProgress::setUp | ( | const char * | filename | ) | [static] |
progress.cc の 54 行で定義されています。
参照先 osl::Centering5x3::adjustCenter(), attack5x5_weight, attack5x5_x_weight, attack5x5_y_weight, attack_relative, attacked_ptype_pair_weight, osl::progress::ml::NewProgressData::bishop, defense_relative, osl::eval::ml::Weights::dimension(), effectstate_weight, osl::progress::ml::NewProgressData::gold, osl::eval::ml::NonPawnAttackedPtypePair::index2(), initialized_flag, king_relative_weight, max_progress, pawn_facing_weight, piecestand7_weight, ProgressScale, osl::progress::ml::NewProgressData::promoted, promotion37_weight, osl::PTYPE_SIZE, osl::eval::ml::Weights::resetDimension(), osl::progress::ml::NewProgressData::rook, osl::progress::ml::NewProgressData::silver, osl::Piece::SIZE, stand_weight, osl::Square::x(), と osl::Square::y().
void osl::progress::ml::NewProgress::update | ( | const NumEffectState & | new_state, | |
Move | last_move | |||
) | [inline] |
progress.h の 246 行で定義されています。
void osl::progress::ml::NewProgress::updateAttack5x5Pieces | ( | PieceMask | mask, | |
const NumEffectState & | state | |||
) | [private] |
progress.cc の 367 行で定義されています。
参照先 osl::alt(), osl::BISHOP, osl::progress::ml::NewProgressData::bishop, osl::PieceMask::clearBit(), osl::GOLD, osl::progress::ml::NewProgressData::gold, osl::eval::min(), osl::NumEffectState::piecesOnBoard(), osl::progress::ml::NewProgressData::promoted, osl::NumEffectState::promotedPieces(), osl::ROOK, osl::progress::ml::NewProgressData::rook, osl::PieceMask::selectBit(), と osl::progress::ml::NewProgressData::silver.
void osl::progress::ml::NewProgress::updateAttack5x5PiecesAndState | ( | const NumEffectState & | state | ) | [private] |
void osl::progress::ml::NewProgress::updateMain | ( | const NumEffectState & | new_state, | |
Move | last_move | |||
) | [inline, private] |
progress.cc の 590 行で定義されています。
参照先 osl::alt(), osl::BLACK, osl::container::Board_Mask_Table5x3_Center, osl::captured(), osl::Move::capturePtype(), osl::NumEffectState::changedEffects(), osl::SimpleState::countPiecesOnStand(), osl::progress::ml::NewProgressData::defenses, osl::Move::from(), osl::PtypeTable::getIndexMin(), osl::Move::isDrop(), osl::progress::ml::NewProgressData::king_relative_attack, osl::progress::ml::NewProgressData::king_relative_defense, king_relative_weight, osl::SimpleState::kingSquare(), osl::Move::oldPtype(), osl::Move::player(), osl::progress::ml::NewProgressData::progresses, osl::Move::ptype(), osl::PTYPE_EMPTY, osl::Ptype_Table, osl::progress::ml::NewProgressData::stand_progresses, stand_weight, osl::Move::to(), osl::SimpleState::turn(), osl::unpromote(), updateNonPawnAttackedPtypePair(), updatePawnFacing(), updatePieceKingRelativeBonus(), updatePieceStand7(), updatePromotion37(), と osl::WHITE.
void osl::progress::ml::NewProgress::updateNonPawnAttackedPtypePair | ( | const NumEffectState & | state | ) | [private] |
progress.cc の 469 行で定義されています。
参照元 NewProgress(), と updateMain().
void osl::progress::ml::NewProgress::updateNonPawnAttackedPtypePairOne | ( | const NumEffectState & | state | ) | [private] |
progress.cc の 436 行で定義されています。
参照先 osl::alt(), osl::PieceMask::any(), attacked_ptype_pair_weight, osl::BLACK, osl::PieceMask::clearBit(), osl::NumEffectState::effectedMask(), osl::PieceMask::getMask(), osl::SimpleState::kingPiece(), osl::progress::ml::NewProgressData::non_pawn_ptype_attacked_pair, osl::progress::ml::NewProgressData::non_pawn_ptype_attacked_pair_eval, osl::Piece::number(), osl::PieceMask::orMask(), osl::PAWN, osl::SimpleState::pieceOf(), osl::NumEffectState::piecesOnBoard(), osl::NumEffectState::promotedPieces(), osl::FixedCapacityVector< T, Capacity >::push_back(), osl::PieceMask::reset(), osl::PieceMask::selectBit(), と osl::FixedCapacityVector< T, Capacity >::size().
void osl::progress::ml::NewProgress::updatePawnFacing | ( | const NumEffectState & | state | ) | [private] |
progress.cc の 476 行で定義されています。
参照先 osl::BLACK, osl::NumEffectState::effectedMask(), osl::PieceMask::getMask(), osl::NumEffectState::hasEffectByPtypeStrict(), osl::PAWN, osl::progress::ml::NewProgressData::pawn_facing, pawn_facing_weight, osl::SimpleState::pieceOf(), osl::NumEffectState::piecesOnBoard(), osl::NumEffectState::promotedPieces(), osl::PieceMask::selectBit(), osl::Piece::square(), と osl::WHITE.
参照元 NewProgress(), と updateMain().
void osl::progress::ml::NewProgress::updatePieceKingRelativeBonus | ( | const NumEffectState & | state | ) | [private] |
progress.cc の 410 行で定義されています。
参照先 osl::alt(), osl::BLACK, osl::CArray< T, Capacity >::fill(), indexRelative(), osl::Piece::isOnBoard(), osl::KING, osl::progress::ml::NewProgressData::king_relative_attack, osl::progress::ml::NewProgressData::king_relative_defense, king_relative_weight, osl::SimpleState::kingSquare(), osl::Piece::owner(), osl::SimpleState::pieceOf(), osl::Piece::ptype(), osl::Piece::SIZE, と osl::WHITE.
参照元 NewProgress(), と updateMain().
void osl::progress::ml::NewProgress::updatePieceStand7 | ( | const NumEffectState & | state | ) | [private] |
void osl::progress::ml::NewProgress::updatePromotion37 | ( | const NumEffectState & | state | ) | [private] |
progress.cc の 523 行で定義されています。
参照先 osl::progress::ml::NewProgressData::promotion37, と osl::progress::ml::NewProgressData::promotion37_eval.
参照元 NewProgress(), と updateMain().
void osl::progress::ml::NewProgress::updateSub | ( | const NumEffectState & | new_state, | |
Move | last_move | |||
) |
progress.cc の 684 行で定義されています。
参照先 osl::alt(), osl::progress::ml::NewProgressData::attack5x5_progresses, osl::BLACK, osl::container::Board_Mask_Table5x5, osl::captured(), osl::Move::capturePtype(), osl::NumEffectState::changedEffects(), osl::Move::isDrop(), osl::Move::isPass(), osl::SimpleState::kingSquare(), osl::Move::ptype(), osl::SimpleState::turn(), と osl::WHITE.
osl::CArray< int, 1125 > osl::progress::ml::NewProgress::attack5x5_weight [static, private] |
progress.h の 82 行で定義されています。
参照元 setUp().
osl::CArray< int, 5625 > osl::progress::ml::NewProgress::attack5x5_x_weight [static, private] |
progress.h の 83 行で定義されています。
参照元 attack5x5Value(), と setUp().
osl::CArray< int, 10125 > osl::progress::ml::NewProgress::attack5x5_y_weight [static, private] |
progress.h の 84 行で定義されています。
参照元 attack5x5Value(), と setUp().
osl::CArray< int, 81 *15 *10 > osl::progress::ml::NewProgress::attack_relative [static, private] |
progress.h の 86 行で定義されています。
参照元 progressOne(), と setUp().
osl::CArray< int, 262144 > osl::progress::ml::NewProgress::attacked_ptype_pair_weight [static, private] |
progress.h の 89 行で定義されています。
osl::CArray< int, 81 *15 *10 > osl::progress::ml::NewProgress::defense_relative [static, private] |
progress.h の 87 行で定義されています。
参照元 progressOne(), と setUp().
osl::CArray< int, 75 > osl::progress::ml::NewProgress::effectstate_weight [static, private] |
progress.h の 85 行で定義されています。
bool osl::progress::ml::NewProgress::initialized_flag [static, private] |
progress.h の 80 行で定義されています。
参照元 initialized(), NewProgress(), と setUp().
osl::CArray< int, 4284 > osl::progress::ml::NewProgress::king_relative_weight [static, private] |
progress.h の 88 行で定義されています。
参照元 setUp(), updateMain(), と updatePieceKingRelativeBonus().
int osl::progress::ml::NewProgress::max_progress [static, private] |
progress.h の 93 行で定義されています。
参照元 maxProgress(), progress(), progress16(), progressAttack(), progressDefense(), と setUp().
osl::CArray< int, 10 > osl::progress::ml::NewProgress::pawn_facing_weight [static, private] |
progress.h の 90 行で定義されています。
参照元 setUp(), と updatePawnFacing().
osl::CArray< int, 56 > osl::progress::ml::NewProgress::piecestand7_weight [static, private] |
progress.h の 92 行で定義されています。
参照元 setUp(), と updatePieceStand7().
osl::CArray< int, 16 > osl::progress::ml::NewProgress::promotion37_weight [static, private] |
progress.h の 91 行で定義されています。
参照元 promotion37One(), と setUp().
osl::CArray< int, osl::Piece::SIZE > osl::progress::ml::NewProgress::stand_weight [static, private] |
progress.h の 81 行で定義されています。
参照元 NewProgress(), setUp(), と updateMain().