#include <newProgress.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) |
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 () |
Private メソッド | |
void | updatePieceKingRelativeBonus (const NumEffectState &state) |
void | updateNonPawnAttackedPtypePair (const NumEffectState &state) |
template<Player Owner> | |
void | updateNonPawnAttackedPtypePairOne (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 (Position king, Position target) |
template<Player P> | |
static int | indexX (Position king, Position target) |
template<Player P> | |
static int | indexY (Position king, Position 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 (Position king, Position target, int count) |
template<Player P> | |
static int | indexPerEffectY (Position king, Position target, int count) |
template<Player P> | |
static int | indexPerEffectX (Position king, Position target, int count) |
template<Player P> | |
static int | indexRelative (const Position king, const Ptype ptype, const Position pos) |
static int | indexRelative (const Player player, const Position 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 int | max_progress |
newProgress.h の 24 行で定義されています。
anonymous enum |
newProgress.h の 27 行で定義されています。
osl::progress::ml::NewProgress::NewProgress | ( | const NumEffectState & | state | ) |
newProgress.cc の 421 行で定義されています。
参照先 osl::progress::ml::NewProgressData::attack5x5_progresses, osl::BLACK, osl::progress::ml::NewProgressData::defenses, osl::PtypeTable::getIndexMin(), osl::PlayerTraits< WHITE >::index, osl::PlayerTraits< BLACK >::index, initialized_flag, osl::PieceStand::order, osl::progress::ml::NewProgressData::progresses, osl::Ptype_Table, osl::progress::ml::NewProgressData::stand_progresses, stand_weight, updateNonPawnAttackedPtypePair(), updatePieceKingRelativeBonus(), と osl::WHITE.
int osl::progress::ml::NewProgress::attack5x5Value | ( | const NumEffectState & | state | ) | const [inline, private] |
newProgress.cc の 333 行で定義されています。
参照先 attack5x5_x_weight, attack5x5_y_weight, osl::BISHOP, osl::progress::ml::NewProgressData::bishop, osl::BLACK, osl::GOLD, osl::progress::ml::NewProgressData::gold, index5x5x(), index5x5y(), osl::progress::ml::NewProgressData::promoted, osl::ROOK, osl::progress::ml::NewProgressData::rook, osl::SILVER, と osl::progress::ml::NewProgressData::silver.
static int osl::progress::ml::NewProgress::index | ( | Position | king, | |
Position | target | |||
) | [inline, static, private] |
newProgress.h の 54 行で定義されています。
static int osl::progress::ml::NewProgress::index5x5 | ( | int | rook, | |
int | bishop, | |||
int | gold, | |||
int | silver, | |||
int | promoted | |||
) | [inline, static, private] |
newProgress.h の 87 行で定義されています。
static int osl::progress::ml::NewProgress::index5x5x | ( | int | rook, | |
int | bishop, | |||
int | gold, | |||
int | silver, | |||
int | promoted, | |||
int | king_x | |||
) | [inline, static, private] |
newProgress.h の 93 行で定義されています。
参照元 attack5x5Value().
static int osl::progress::ml::NewProgress::index5x5y | ( | int | rook, | |
int | bishop, | |||
int | gold, | |||
int | silver, | |||
int | promoted, | |||
int | king_y | |||
) | [inline, static, private] |
newProgress.h の 100 行で定義されています。
参照元 attack5x5Value().
static int osl::progress::ml::NewProgress::indexPerEffect | ( | Position | king, | |
Position | target, | |||
int | count | |||
) | [inline, static, private] |
newProgress.h の 108 行で定義されています。
参照先 osl::BLACK, osl::eval::min(), osl::Position::x(), と osl::Position::y().
static int osl::progress::ml::NewProgress::indexPerEffectX | ( | Position | king, | |
Position | target, | |||
int | count | |||
) | [inline, static, private] |
newProgress.h の 128 行で定義されています。
参照先 osl::BLACK, osl::eval::min(), osl::WHITE, osl::Position::x(), と osl::Position::y().
static int osl::progress::ml::NewProgress::indexPerEffectY | ( | Position | king, | |
Position | target, | |||
int | count | |||
) | [inline, static, private] |
newProgress.h の 118 行で定義されています。
参照先 osl::BLACK, osl::eval::min(), osl::Position::x(), と osl::Position::y().
static int osl::progress::ml::NewProgress::indexRelative | ( | const Player | player, | |
const Position | king, | |||
const Piece | piece | |||
) | [inline, static, private] |
newProgress.h の 150 行で定義されています。
参照先 osl::BLACK, osl::Piece::position(), と osl::Piece::ptype().
static int osl::progress::ml::NewProgress::indexRelative | ( | const Position | king, | |
const Ptype | ptype, | |||
const Position | pos | |||
) | [inline, static, private] |
newProgress.h の 142 行で定義されています。
参照先 osl::BLACK, osl::PTYPE_PIECE_MIN, osl::Position::x(), と osl::Position::y().
static int osl::progress::ml::NewProgress::indexX | ( | Position | king, | |
Position | target | |||
) | [inline, static, private] |
newProgress.h の 62 行で定義されています。
参照先 osl::BLACK, osl::WHITE, osl::Position::x(), と osl::Position::y().
static int osl::progress::ml::NewProgress::indexY | ( | Position | king, | |
Position | target | |||
) | [inline, static, private] |
newProgress.h の 79 行で定義されています。
static bool osl::progress::ml::NewProgress::initialized | ( | ) | [inline, static] |
newProgress.h の 243 行で定義されています。
参照先 initialized_flag.
static int osl::progress::ml::NewProgress::maxProgress | ( | ) | [inline, static] |
newProgress.h の 183 行で定義されています。
参照先 max_progress, と ProgressScale.
参照元 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::seeScale().
int osl::progress::ml::NewProgress::progress | ( | ) | const [inline] |
newProgress.h の 166 行で定義されています。
参照先 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::progresses, ProgressScale, と osl::progress::ml::NewProgressData::stand_progresses.
参照元 osl::eval::ml::OpenMidEndingEval::composeOpenMid2Endgame(), osl::eval::ml::OpenMidEndingEval::composeOpenMidEndgame(), osl::eval::ml::OpenMidEndingEval::expect(), と progress16().
const Progress16 osl::progress::ml::NewProgress::progress16 | ( | Player | p | ) | const [inline] |
newProgress.h の 200 行で定義されています。
参照先 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::progress16 | ( | ) | const [inline] |
const Progress16 osl::progress::ml::NewProgress::progressAttack | ( | Player | p | ) | const [inline] |
newProgress.h の 217 行で定義されています。
参照先 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] |
newProgress.h の 231 行で定義されています。
参照先 osl::alt(), osl::progress::ml::NewProgressData::defenses, 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, と ProgressScale.
void osl::progress::ml::NewProgress::progressOne | ( | const NumEffectState & | state, | |
int & | attack, | |||
int & | defense | |||
) | [inline, static, private] |
const NewProgressData osl::progress::ml::NewProgress::rawData | ( | ) | const [inline] |
newProgress.h の 249 行で定義されています。
bool osl::progress::ml::NewProgress::setUp | ( | ) | [static] |
bool osl::progress::ml::NewProgress::setUp | ( | const char * | filename | ) | [static] |
newProgress.cc の 32 行で定義されています。
参照先 osl::Centering5x3::adjustCenter(), attack5x5_weight, attack5x5_x_weight, attack5x5_y_weight, attack_relative, attacked_ptype_pair_weight, osl::progress::ml::NewProgressData::bishop, center, 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, ProgressScale, osl::progress::ml::NewProgressData::promoted, osl::PTYPE_SIZE, osl::eval::ml::Weights::resetDimension(), osl::progress::ml::NewProgressData::rook, osl::progress::ml::NewProgressData::silver, osl::Piece::SIZE, stand_weight, target, osl::Position::x(), と osl::Position::y().
void osl::progress::ml::NewProgress::update | ( | const NumEffectState & | new_state, | |
Move | last_move | |||
) | [inline] |
void osl::progress::ml::NewProgress::updateAttack5x5Pieces | ( | PieceMask | mask, | |
const NumEffectState & | state | |||
) | [inline, private] |
newProgress.cc の 314 行で定義されています。
参照先 osl::BISHOP, osl::progress::ml::NewProgressData::bishop, osl::GOLD, osl::progress::ml::NewProgressData::gold, osl::eval::min(), osl::progress::ml::NewProgressData::promoted, osl::ROOK, osl::progress::ml::NewProgressData::rook, と osl::progress::ml::NewProgressData::silver.
void osl::progress::ml::NewProgress::updateAttack5x5PiecesAndState | ( | const NumEffectState & | state | ) | [inline, private] |
void osl::progress::ml::NewProgress::updateMain | ( | const NumEffectState & | new_state, | |
Move | last_move | |||
) | [inline, private] |
newProgress.cc の 462 行で定義されています。
参照先 osl::BLACK, osl::container::Board_Mask_Table5x3_Center, osl::captured(), osl::Move::capturePtype(), osl::progress::ml::NewProgressData::defenses, osl::Move::from(), osl::PtypeTable::getIndexMin(), osl::PlayerTraits< BLACK >::index, osl::PlayerTraits< WHITE >::index, osl::Move::isDrop(), osl::KING, osl::progress::ml::NewProgressData::king_relative_attack, osl::progress::ml::NewProgressData::king_relative_defense, king_relative_weight, 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::unpromote(), updateNonPawnAttackedPtypePair(), updatePieceKingRelativeBonus(), と osl::WHITE.
void osl::progress::ml::NewProgress::updateNonPawnAttackedPtypePair | ( | const NumEffectState & | state | ) | [private] |
newProgress.cc の 415 行で定義されています。
参照元 NewProgress(), と updateMain().
void osl::progress::ml::NewProgress::updateNonPawnAttackedPtypePairOne | ( | const NumEffectState & | state | ) | [inline, private] |
void osl::progress::ml::NewProgress::updatePieceKingRelativeBonus | ( | const NumEffectState & | state | ) | [private] |
newProgress.cc の 357 行で定義されています。
参照先 osl::alt(), osl::BLACK, indexRelative(), osl::Piece::isOnBoard(), osl::KING, osl::progress::ml::NewProgressData::king_relative_attack, osl::progress::ml::NewProgressData::king_relative_defense, king_relative_weight, osl::Piece::owner(), osl::Piece::ptype(), osl::Piece::SIZE, と osl::WHITE.
参照元 NewProgress(), と updateMain().
void osl::progress::ml::NewProgress::updateSub | ( | const NumEffectState & | new_state, | |
Move | last_move | |||
) | [inline] |
newProgress.cc の 557 行で定義されています。
参照先 osl::progress::ml::NewProgressData::attack5x5_progresses, osl::BLACK, osl::container::Board_Mask_Table5x5, osl::captured(), osl::Move::capturePtype(), osl::PlayerTraits< BLACK >::index, osl::PlayerTraits< WHITE >::index, osl::Move::isDrop(), osl::Move::isPass(), osl::KING, osl::Move::ptype(), osl::PTYPE_EMPTY, と osl::WHITE.
osl::misc::CArray< int, 1125 > osl::progress::ml::NewProgress::attack5x5_weight [static, private] |
newProgress.h の 31 行で定義されています。
参照元 setUp().
osl::misc::CArray< int, 5625 > osl::progress::ml::NewProgress::attack5x5_x_weight [static, private] |
newProgress.h の 32 行で定義されています。
参照元 attack5x5Value(), と setUp().
osl::misc::CArray< int, 10125 > osl::progress::ml::NewProgress::attack5x5_y_weight [static, private] |
newProgress.h の 33 行で定義されています。
参照元 attack5x5Value(), と setUp().
osl::misc::CArray< int, 81 *15 *10 > osl::progress::ml::NewProgress::attack_relative [static, private] |
newProgress.h の 35 行で定義されています。
参照元 progressOne(), と setUp().
osl::CArray< int, 262144 > osl::progress::ml::NewProgress::attacked_ptype_pair_weight [static, private] |
newProgress.h の 38 行で定義されています。
osl::misc::CArray< int, 81 *15 *10 > osl::progress::ml::NewProgress::defense_relative [static, private] |
newProgress.h の 36 行で定義されています。
参照元 progressOne(), と setUp().
osl::misc::CArray< int, 75 > osl::progress::ml::NewProgress::effectstate_weight [static, private] |
newProgress.h の 34 行で定義されています。
bool osl::progress::ml::NewProgress::initialized_flag [static, private] |
newProgress.h の 29 行で定義されています。
参照元 initialized(), NewProgress(), と setUp().
osl::misc::CArray< int, 4284 > osl::progress::ml::NewProgress::king_relative_weight [static, private] |
newProgress.h の 37 行で定義されています。
参照元 setUp(), updateMain(), と updatePieceKingRelativeBonus().
int osl::progress::ml::NewProgress::max_progress [static, private] |
newProgress.h の 39 行で定義されています。
参照元 maxProgress(), progress(), progress16(), progressAttack(), progressDefense(), と setUp().
osl::misc::CArray< int, osl::Piece::SIZE > osl::progress::ml::NewProgress::stand_weight [static, private] |
newProgress.h の 30 行で定義されています。
参照元 NewProgress(), setUp(), と updateMain().