All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
osl::eval::ml::OpenMidEndingEval Class Reference

#include <openMidEndingEval.h>

Collaboration diagram for osl::eval::ml::OpenMidEndingEval:
Collaboration graph
[legend]

Public Member Functions

 OpenMidEndingEval (const NumEffectState &state=NumEffectState(), bool limit_progress_independent_value=!OslConfig::hasByoyomi())
 
OpenMidEndingEvaloperator= (const OpenMidEndingEval &src)
 
void changeTurn ()
 
int progressIndependentValue () const
 
void debug () const
 
MultiInt stageValue () const
 
int openingValue () const
 
int midgameValue () const
 
int midgame2Value () const
 
int endgameValue () const
 
void invalidateCache ()
 
int composeOpenMidEndgame () const
 
int value () const
 
const Move suggestMove (const NumEffectState &state) const
 
int expect (const NumEffectState &state, Move move) const
 
template<Player P>
void updateSub (const NumEffectState &new_state, Move last_move)
 
void update (const NumEffectState &new_state, Move last_move)
 
const Progress32 progress32 () const
 
const Progress16 progress16 () const
 
int progressValue () const
 
int progressMax () const
 
OpenMidEndingEvalDebugInfo debugInfo (const NumEffectState &state)
 
bool progressIndependentValueLimit () const
 
template<class Reader >
void doResetWeights (Reader &reader)
 

Static Public Member Functions

static bool initialized ()
 
static bool setUp (const char *filename)
 
static bool setUp ()
 
static std::string defaultFilename ()
 
static int progressIndependentValueAdjusted (int value, int progress, int progress_max)
 
static int infty ()
 
static int captureValue (PtypeO ptypeO)
 
static int seeScale ()
 
static void setRandom ()
 
static void resetWeights (const int *w, size_t length)
 

Static Public Attributes

static OpenMidEndingPtypeTable Piece_Value
 

Private Types

enum  { INVALID =EvalTraits<BLACK>::MAX_VALUE+1 }
 
enum  { ProgressIndependentValueLimit = 4000 }
 
enum  LoadStatus { Zero =0, Loaded, Random }
 
typedef
osl::progress::ml::NewProgress 
progress_t
 

Private Member Functions

void updateGoldSilverNearKing (const NumEffectState &state)
 

Static Private Member Functions

static int roundUp (int v)
 
template<class Reader >
static void doResetWeights (Reader &reader)
 

Private Attributes

progress_t progress
 
MultiIntPair kingx_blocked
 
MultiIntPair king25_effect_each
 
MultiIntPair king25_both_side
 
MultiIntPair king_rook_bishop
 
MultiIntPair piece_stand_turn
 
MultiIntPair non_pawn_attacked
 
MultiIntPair non_pawn_attacked_ptype
 
MultiIntPair piece_fork_turn
 
MultiInt ptypey
 
MultiInt ptypex
 
MultiInt king_table_value
 
MultiInt piece_stand_value
 
MultiInt recalculated_stage_value
 
MultiInt pawn_advance
 
MultiInt rook_mobility
 
MultiInt bishop_mobility
 
MultiInt lance_mobility
 
MultiInt knight_advance
 
MultiInt pawn_drop
 
MultiInt promoted_minor_piece
 
MultiInt rook_pawn
 
MultiInt rook_effect
 
MultiInt bishop_effect
 
MultiInt bishop_head
 
MultiInt nosupport
 
MultiInt ptype_yy
 
MultiInt king3pieces
 
MultiInt rook_promote_defense
 
MultiInt piece_stand_combination
 
MultiInt piece_stand_y
 
MultiInt knight_check
 
MultiInt knight_head
 
MultiInt pawn_ptypeo
 
MultiInt ptype_count_value
 
MultiInt lance_effect_piece
 
MultiInt ptype_y_pawn_y
 
MultiInt bishop_and_king
 
MultiInt rook_silver_knight
 
MultiInt bishop_silver_knight
 
CArray< BoardMask, 2 > knight_fork_squares
 
CArray< PieceMask, 2 > effect25
 
CArray< PieceMask, 2 > effect25_supported
 
CArray< PieceMask, 2 > effected_mask
 
CArray< PieceMask, 2 > effected_mask_for_attacked
 
CArray< PieceMask, 40 > attacked_mask
 
CArray< int, 5 > black_vertical
 
CArray< int, 5 > white_vertical
 
CArray< int, 5 > black_king_vertical
 
CArray< int, 5 > white_king_vertical
 
CArray< int, 2 > piece_pair_king_value
 
CArray< int, 2 > non_pawn_stand_count
 
CArray2d< int, 2, 3 > gs_near_king_count
 
CArray2d< int, 2, PTYPE_SIZEptype_count
 
CArray2d< int, 2, PTYPE_SIZEptype_board_count
 
CArray< std::pair< Square, int >, 2 > knight_drop
 
CArray< std::pair< Square, int >, 2 > silver_drop
 
CArray< std::pair< Square, int >, 2 > bishop_drop
 
CArray< std::pair< Square, int >, 2 > rook_drop
 
CArray2d< int, 2, 9 > pawns
 
int progress_independent_value
 
int recalculated_value
 
int piece_pair_value
 
int black_pawn_count
 
int black_major_count
 
int black_gold_count
 
int black_attack_effect
 
int black_attack_piece
 
int white_attack_effect
 
int white_attack_piece
 
int black_attack_supported_piece
 
int white_attack_supported_piece
 
int black_defense_effect
 
int black_defense_piece
 
int white_defense_effect
 
int white_defense_piece
 
int cache
 
Player turn
 
unsigned int ptypeo_mask
 
CArray< bool, 2 > can_check
 
bool use_progress_independent_value_limit
 

Static Private Attributes

static volatile LoadStatus initialized_flag = osl::eval::ml::OpenMidEndingEval::Zero
 
static Weights piece_pair_weights
 
static const int ROUND_UP = 2
 

Detailed Description

Definition at line 124 of file openMidEndingEval.h.

Member Typedef Documentation

Definition at line 139 of file openMidEndingEval.h.

Member Enumeration Documentation

anonymous enum
private
Enumerator
INVALID 

Definition at line 130 of file openMidEndingEval.h.

anonymous enum
private
Enumerator
ProgressIndependentValueLimit 

one should attack king after when he captured almost all pieces

Definition at line 131 of file openMidEndingEval.h.

Enumerator
Zero 
Loaded 
Random 

Definition at line 135 of file openMidEndingEval.h.

Constructor & Destructor Documentation

osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval ( const NumEffectState &  state = NumEffectState(),
bool  limit_progress_independent_value = OslConfig::hasByoyomi() 
)
explicit

Definition at line 503 of file openMidEndingEval.cc.

References attacked_mask, bishop_and_king, bishop_drop, bishop_effect, bishop_head, bishop_mobility, bishop_silver_knight, osl::BLACK, black_attack_effect, black_attack_piece, black_attack_supported_piece, black_defense_effect, black_defense_piece, black_gold_count, black_king_vertical, black_major_count, black_pawn_count, black_vertical, can_check, effect25, effect25_supported, effected_mask, effected_mask_for_attacked, osl::eval::ml::PieceEval::eval(), osl::eval::ml::PiecePairKing::eval(), osl::eval::ml::PiecePair::eval(), osl::eval::ml::PieceStand::eval(), osl::eval::ml::RookMobilityAll::eval(), osl::eval::ml::PinPtypeAll::eval(), osl::eval::ml::KingPieceRelative::eval(), osl::eval::ml::NonPawnPieceStand::eval(), osl::eval::ml::KingPieceRelativeNoSupport::eval(), osl::eval::ml::NonPawnPieceStandCombination::eval(), osl::eval::ml::RookPawnY::eval(), osl::eval::ml::PtypeYY::eval(), osl::eval::ml::CheckShadowPtype::eval(), osl::eval::ml::PawnDropBoth::eval(), osl::eval::ml::NonPawnPieceStandTurn::eval(), osl::eval::ml::BishopMobilityAll::eval(), osl::eval::ml::AllMajor::eval(), osl::eval::ml::LanceMobilityAll::eval(), osl::eval::ml::PieceStandY::eval(), osl::eval::ml::RookEffectBase::eval(), osl::eval::ml::PieceStandCombinationBoth::eval(), osl::eval::ml::King25EffectAttack::eval(), osl::eval::ml::KingXBlocked::eval(), osl::eval::ml::King25EffectDefense::eval(), osl::eval::ml::KingXBlockedY::eval(), osl::eval::ml::King25EffectYAttack::eval(), osl::eval::ml::KingXBothBlocked::eval(), osl::eval::ml::King25EffectYDefense::eval(), osl::eval::ml::RookPromoteDefense::eval(), osl::eval::ml::KingXBlocked3::eval(), osl::eval::ml::BishopEffectBase::eval(), osl::eval::ml::AnagumaEmpty::eval(), osl::eval::ml::King25EffectSupported::eval(), osl::eval::ml::King25EffectSupportedY::eval(), osl::eval::ml::BishopHead::eval(), osl::eval::ml::NoPawnOnStand::eval(), osl::eval::ml::NumPiecesBetweenBishopAndKing::eval(), osl::eval::ml::BishopBishopPiece::eval(), osl::eval::ml::PawnAdvance::eval(), osl::eval::ml::SilverFeatures::eval(), osl::eval::ml::RookRook::eval(), osl::eval::ml::GoldFeatures::eval(), osl::eval::ml::King25EffectEachBoth::eval(), osl::eval::ml::RookRookPiece::eval(), osl::eval::ml::BishopStandFile5::eval(), osl::eval::ml::King3Pieces::eval(), osl::eval::ml::MajorCheckWithCapture::eval(), osl::eval::ml::RookSilverKnight::eval(), osl::eval::ml::BishopSilverKnight::eval(), osl::eval::ml::AttackMajorsInBase::eval(), osl::eval::ml::KnightAdvance::eval(), osl::eval::ml::AllGold::eval(), osl::eval::ml::KingMobility::eval(), osl::eval::ml::PtypeY::eval(), osl::eval::ml::PtypeX::eval(), osl::eval::ml::KingMobilitySum::eval(), osl::eval::ml::KnightCheck::eval(), osl::eval::ml::KnightHead::eval(), osl::eval::ml::King25Mobility::eval(), osl::eval::ml::PawnPtypeOPtypeO::eval(), osl::eval::ml::PromotedMinorPieces::eval(), osl::eval::ml::King25Effect3::eval(), osl::eval::ml::NonPawnAttacked::eval(), osl::eval::ml::King25EffectCountCombination::eval(), osl::eval::ml::BishopExchangeSilverKing::eval(), osl::eval::ml::EnterKingDefense::eval(), osl::eval::ml::NonPawnAttackedPtype::eval(), osl::eval::ml::NonPawnAttackedPtypePair::eval(), osl::eval::ml::PtypeCount::eval(), osl::eval::ml::LanceEffectPieceKingRelative::eval(), osl::eval::ml::PtypeYPawnY::eval(), osl::eval::ml::GoldAndSilverNearKing::eval(), osl::eval::ml::PtypeCombination::eval(), osl::eval::ml::SilverFork::eval(), osl::eval::ml::BishopRookFork::eval(), osl::eval::ml::KnightFork::eval(), osl::eval::ml::SilverAdvance26::eval(), osl::eval::ml::Promotion37::eval(), gs_near_king_count, initialized_flag, invalidateCache(), osl::Piece::isOnBoard(), osl::Piece::isPromoted(), osl::KING, king25_both_side, king25_effect_each, king3pieces, king_rook_bishop, king_table_value, kingx_blocked, knight_advance, knight_check, knight_drop, knight_fork_squares, knight_head, lance_effect_piece, lance_mobility, non_pawn_attacked, non_pawn_attacked_ptype, non_pawn_stand_count, nosupport, osl::PieceStand::order, osl::Piece::owner(), osl::PAWN, pawn_advance, pawn_drop, pawn_ptypeo, pawns, piece_fork_turn, piece_pair_king_value, piece_pair_value, piece_pair_weights, piece_stand_combination, piece_stand_turn, piece_stand_value, piece_stand_y, progress_independent_value, promoted_minor_piece, osl::Piece::ptype(), ptype_board_count, ptype_count, ptype_count_value, ptype_y_pawn_y, ptype_yy, osl::Piece::ptypeO(), ptypeo_mask, osl::PTYPEO_MIN, ptypex, ptypey, recalculated_stage_value, recalculated_value, rook_drop, rook_effect, rook_mobility, rook_pawn, rook_promote_defense, rook_silver_knight, silver_drop, osl::Piece::SIZE, osl::Piece::square(), turn, updateGoldSilverNearKing(), osl::WHITE, white_attack_effect, white_attack_piece, white_attack_supported_piece, white_defense_effect, white_defense_piece, white_king_vertical, white_vertical, osl::Square::x(), osl::Square::y(), and Zero.

Member Function Documentation

static int osl::eval::ml::OpenMidEndingEval::captureValue ( PtypeO  ptypeO)
inlinestatic
void osl::eval::ml::OpenMidEndingEval::changeTurn ( )
inline

Definition at line 239 of file openMidEndingEval.h.

int osl::eval::ml::OpenMidEndingEval::composeOpenMidEndgame ( ) const
inline
void osl::eval::ml::OpenMidEndingEval::debug ( ) const

Definition at line 1283 of file openMidEndingEval.cc.

References osl::BLACK, DEBUGPRINT, and osl::WHITE.

osl::eval::ml::OpenMidEndingEvalDebugInfo osl::eval::ml::OpenMidEndingEval::debugInfo ( const NumEffectState &  state)

Definition at line 1125 of file openMidEndingEval.cc.

References osl::eval::ml::OpenMidEndingEvalDebugInfo::ALL_GOLD, osl::eval::ml::OpenMidEndingEvalDebugInfo::ALL_MAJOR, osl::eval::ml::OpenMidEndingEvalDebugInfo::ANAGUMA_EMPTY, osl::eval::ml::OpenMidEndingEvalDebugInfo::ATTACK_MAJORS_IN_BASE, osl::eval::ml::OpenMidEndingEvalDebugInfo::BISHOP_AND_KING, osl::eval::ml::OpenMidEndingEvalDebugInfo::BISHOP_BISHOP_PIECE, osl::eval::ml::OpenMidEndingEvalDebugInfo::BISHOP_EFFECT, osl::eval::ml::OpenMidEndingEvalDebugInfo::BISHOP_EXCHANGE_SILVER_KING, osl::eval::ml::OpenMidEndingEvalDebugInfo::BISHOP_HEAD, osl::eval::ml::OpenMidEndingEvalDebugInfo::BISHOP_MOBILITY, osl::eval::ml::OpenMidEndingEvalDebugInfo::BISHOP_SILVER_KNIGHT, osl::eval::ml::OpenMidEndingEvalDebugInfo::BISHOP_STAND_FILE5, osl::BLACK, osl::eval::ml::OpenMidEndingEvalDebugInfo::ENTER_KING_DEFENSE, osl::eval::ml::PinPtypeAll::eval(), osl::eval::ml::NonPawnPieceStand::eval(), osl::eval::ml::AllMajor::eval(), osl::eval::ml::King25EffectBoth::eval(), osl::eval::ml::King25EffectDefense::eval(), osl::eval::ml::King25EffectYDefense::eval(), osl::eval::ml::KingXBlocked3::eval(), osl::eval::ml::King25EffectY::eval(), osl::eval::ml::AnagumaEmpty::eval(), osl::eval::ml::King25EffectSupported::eval(), osl::eval::ml::King25EffectSupportedY::eval(), osl::eval::ml::NoPawnOnStand::eval(), osl::eval::ml::BishopBishopPiece::eval(), osl::eval::ml::SilverFeatures::eval(), osl::eval::ml::RookRook::eval(), osl::eval::ml::GoldFeatures::eval(), osl::eval::ml::RookRookPiece::eval(), osl::eval::ml::BishopStandFile5::eval(), osl::eval::ml::MajorCheckWithCapture::eval(), osl::eval::ml::AttackMajorsInBase::eval(), osl::eval::ml::AllGold::eval(), osl::eval::ml::KingMobility::eval(), osl::eval::ml::KingMobilitySum::eval(), osl::eval::ml::King25Mobility::eval(), osl::eval::ml::King25Effect3::eval(), osl::eval::ml::King25EffectCountCombination::eval(), osl::eval::ml::BishopExchangeSilverKing::eval(), osl::eval::ml::EnterKingDefense::eval(), osl::eval::ml::NonPawnAttackedPtypePair::eval(), osl::eval::ml::GoldAndSilverNearKing::eval(), osl::eval::ml::PtypeCombination::eval(), osl::eval::ml::SilverAdvance26::eval(), osl::eval::ml::OpenMidEndingEvalDebugInfo::GOLD_AND_SILVER_NEAR_KING, osl::eval::ml::OpenMidEndingEvalDebugInfo::GOLD_RETREAT, osl::eval::ml::OpenMidEndingEvalDebugInfo::KING25_BOTH_SIDE, osl::eval::ml::OpenMidEndingEvalDebugInfo::KING25_EFFECT3, osl::eval::ml::OpenMidEndingEvalDebugInfo::KING25_EFFECT_ATTACK, osl::eval::ml::OpenMidEndingEvalDebugInfo::KING25_EFFECT_COUNT_COMBINATION, osl::eval::ml::OpenMidEndingEvalDebugInfo::KING25_EFFECT_DEFENSE, osl::eval::ml::OpenMidEndingEvalDebugInfo::KING25_EFFECT_EACH, osl::eval::ml::OpenMidEndingEvalDebugInfo::KING25_EFFECT_SUPPORTED, osl::eval::ml::OpenMidEndingEvalDebugInfo::KING25_MOBILITY, osl::eval::ml::OpenMidEndingEvalDebugInfo::KING3PIECES, osl::eval::ml::OpenMidEndingEvalDebugInfo::KING_MOBILITY, osl::eval::ml::OpenMidEndingEvalDebugInfo::KING_PIECE_RELATIVE, osl::eval::ml::OpenMidEndingEvalDebugInfo::KING_PIECE_RELATIVE_NOSUPPORT, osl::eval::ml::OpenMidEndingEvalDebugInfo::KING_ROOK_BISHOP, osl::eval::ml::OpenMidEndingEvalDebugInfo::KING_X_BLOCKED3, osl::eval::ml::OpenMidEndingEvalDebugInfo::KNIGHT_CHECK, osl::eval::ml::OpenMidEndingEvalDebugInfo::KNIGHT_HEAD, osl::eval::ml::OpenMidEndingEvalDebugInfo::LANCE_EFFECT_PIECE, osl::eval::ml::OpenMidEndingEvalDebugInfo::LANCE_MOBILITY, osl::eval::ml::OpenMidEndingEvalDebugInfo::MAJOR_CHECK_WITH_CAPTURE, osl::eval::ml::OpenMidEndingEvalDebugInfo::NO_PAWN_ON_STAND, osl::eval::ml::OpenMidEndingEvalDebugInfo::NON_PAWN_ATTACKED, osl::eval::ml::OpenMidEndingEvalDebugInfo::NON_PAWN_ATTACKED_PTYPE, osl::eval::ml::OpenMidEndingEvalDebugInfo::NON_PAWN_ATTACKED_PTYPE_PAIR, osl::eval::ml::OpenMidEndingEvalDebugInfo::NON_PAWN_PIECE_STAND, osl::eval::ml::OpenMidEndingEvalDebugInfo::PAWN_ADVANCE, osl::eval::ml::OpenMidEndingEvalDebugInfo::PAWN_DROP, osl::eval::ml::OpenMidEndingEvalDebugInfo::PAWN_PTYPEO, osl::eval::ml::OpenMidEndingEvalDebugInfo::PIECE, osl::eval::ml::OpenMidEndingEvalDebugInfo::PIECE_FORK_TURN, osl::eval::ml::OpenMidEndingEvalDebugInfo::PIECE_PAIR, osl::eval::ml::OpenMidEndingEvalDebugInfo::PIECE_PAIR_KING, osl::eval::ml::OpenMidEndingEvalDebugInfo::PIECE_STAND, osl::eval::ml::OpenMidEndingEvalDebugInfo::PIECE_STAND_COMBINATION, osl::eval::ml::OpenMidEndingEvalDebugInfo::PIECE_STAND_TURN, osl::eval::ml::OpenMidEndingEvalDebugInfo::PIECE_STAND_Y, osl::eval::ml::OpenMidEndingEvalDebugInfo::PIN_PTYPE_ALL, osl::eval::ml::OpenMidEndingEvalDebugInfo::progress, osl::eval::ml::OpenMidEndingEvalDebugInfo::progress_independent_values, osl::eval::ml::OpenMidEndingEvalDebugInfo::PROMOTED_MINOR_PIECE, osl::eval::ml::OpenMidEndingEvalDebugInfo::PTYPE_COMBINATION, osl::eval::ml::OpenMidEndingEvalDebugInfo::PTYPE_COUNT, osl::eval::ml::OpenMidEndingEvalDebugInfo::PTYPE_Y_PAWN_Y, osl::eval::ml::OpenMidEndingEvalDebugInfo::PTYPE_YY, osl::eval::ml::OpenMidEndingEvalDebugInfo::PTYPEX, osl::eval::ml::OpenMidEndingEvalDebugInfo::PTYPEY, osl::eval::ml::OpenMidEndingEvalDebugInfo::ROOK_EFFECT, osl::eval::ml::OpenMidEndingEvalDebugInfo::ROOK_MOBILITY, osl::eval::ml::OpenMidEndingEvalDebugInfo::ROOK_PAWN, osl::eval::ml::OpenMidEndingEvalDebugInfo::ROOK_PROMOTE_DEFENSE, osl::eval::ml::OpenMidEndingEvalDebugInfo::ROOK_ROOK, osl::eval::ml::OpenMidEndingEvalDebugInfo::ROOK_ROOK_PIECE, osl::eval::ml::OpenMidEndingEvalDebugInfo::ROOK_SILVER_KNIGHT, osl::eval::ml::OpenMidEndingEvalDebugInfo::SILVER_ADVANCE26, osl::eval::ml::OpenMidEndingEvalDebugInfo::SILVER_RETREAT, osl::eval::ml::OpenMidEndingEvalDebugInfo::stage_values, osl::eval::ml::OpenMidEndingEvalDebugInfo::value, and osl::WHITE.

Referenced by show().

std::string osl::eval::ml::OpenMidEndingEval::defaultFilename ( )
static

Definition at line 490 of file openMidEndingEval.cc.

References osl::OslConfig::home().

Referenced by osl::OslConfig::healthCheck().

template<class Reader >
void osl::eval::ml::OpenMidEndingEval::doResetWeights ( Reader &  reader)
template<class Reader >
static void osl::eval::ml::OpenMidEndingEval::doResetWeights ( Reader &  reader)
staticprivate
int osl::eval::ml::OpenMidEndingEval::endgameValue ( ) const
inline

Definition at line 282 of file openMidEndingEval.h.

References osl::EndgameIndex.

Referenced by show().

int osl::eval::ml::OpenMidEndingEval::expect ( const NumEffectState &  state,
Move  move 
) const
static int osl::eval::ml::OpenMidEndingEval::infty ( )
inlinestatic
static bool osl::eval::ml::OpenMidEndingEval::initialized ( )
inlinestatic

Definition at line 240 of file openMidEndingEval.h.

void osl::eval::ml::OpenMidEndingEval::invalidateCache ( )
inline

Definition at line 286 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

int osl::eval::ml::OpenMidEndingEval::midgame2Value ( ) const
inline

Definition at line 278 of file openMidEndingEval.h.

Referenced by show().

int osl::eval::ml::OpenMidEndingEval::midgameValue ( ) const
inline

Definition at line 274 of file openMidEndingEval.h.

Referenced by show().

int osl::eval::ml::OpenMidEndingEval::openingValue ( ) const
inline

Definition at line 270 of file openMidEndingEval.h.

Referenced by show().

OpenMidEndingEval& osl::eval::ml::OpenMidEndingEval::operator= ( const OpenMidEndingEval src)
inline

Definition at line 233 of file openMidEndingEval.h.

const Progress16 osl::eval::ml::OpenMidEndingEval::progress16 ( ) const
inline

Definition at line 419 of file openMidEndingEval.h.

Referenced by show().

const Progress32 osl::eval::ml::OpenMidEndingEval::progress32 ( ) const
inline

Definition at line 414 of file openMidEndingEval.h.

References osl::BLACK, and osl::WHITE.

int osl::eval::ml::OpenMidEndingEval::progressIndependentValue ( ) const
inline

Definition at line 247 of file openMidEndingEval.h.

References osl::BLACK, and osl::WHITE.

static int osl::eval::ml::OpenMidEndingEval::progressIndependentValueAdjusted ( int  value,
int  progress,
int  progress_max 
)
inlinestatic

Definition at line 287 of file openMidEndingEval.h.

bool osl::eval::ml::OpenMidEndingEval::progressIndependentValueLimit ( ) const
inline

Definition at line 458 of file openMidEndingEval.h.

int osl::eval::ml::OpenMidEndingEval::progressMax ( ) const
inline

Definition at line 421 of file openMidEndingEval.h.

int osl::eval::ml::OpenMidEndingEval::progressValue ( ) const
inline

Definition at line 420 of file openMidEndingEval.h.

void osl::eval::ml::OpenMidEndingEval::resetWeights ( const int *  w,
size_t  length 
)
static

Definition at line 200 of file openMidEndingEval.cc.

static int osl::eval::ml::OpenMidEndingEval::roundUp ( int  v)
inlinestaticprivate

Definition at line 187 of file openMidEndingEval.h.

static int osl::eval::ml::OpenMidEndingEval::seeScale ( )
inlinestatic
void osl::eval::ml::OpenMidEndingEval::setRandom ( )
static

Definition at line 1320 of file openMidEndingEval.cc.

References osl::EndgameIndex, and initialize_mutex.

bool osl::eval::ml::OpenMidEndingEval::setUp ( const char *  filename)
static

Definition at line 206 of file openMidEndingEval.cc.

References initialize_mutex.

bool osl::eval::ml::OpenMidEndingEval::setUp ( )
static

Definition at line 497 of file openMidEndingEval.cc.

Referenced by osl::OslConfig::healthCheck(), main(), and osl::OslConfig::setUp().

MultiInt osl::eval::ml::OpenMidEndingEval::stageValue ( ) const
inline

Definition at line 253 of file openMidEndingEval.h.

References osl::BLACK, and osl::WHITE.

const Move osl::eval::ml::OpenMidEndingEval::suggestMove ( const NumEffectState &  state) const
inline

Definition at line 379 of file openMidEndingEval.h.

References osl::BISHOP, osl::KNIGHT, osl::ROOK, and osl::SILVER.

void osl::eval::ml::OpenMidEndingEval::update ( const NumEffectState &  new_state,
Move  last_move 
)
void osl::eval::ml::OpenMidEndingEval::updateGoldSilverNearKing ( const NumEffectState &  state)
inlineprivate
template<osl::Player P>
void osl::eval::ml::OpenMidEndingEval::updateSub ( const NumEffectState &  new_state,
Move  last_move 
)

Definition at line 773 of file openMidEndingEval.cc.

References osl::alt(), osl::BISHOP, osl::BLACK, osl::container::Board_Mask_Table5x5, osl::captured(), osl::Move::capturePtype(), osl::eval::ml::RookMobilityAll::eval(), osl::eval::ml::PinPtypeAll::eval(), osl::eval::ml::NonPawnPieceStand::eval(), osl::eval::ml::RookPawnY::eval(), osl::eval::ml::CheckShadowPtype::eval(), osl::eval::ml::BishopMobilityAll::eval(), osl::eval::ml::AllMajor::eval(), osl::eval::ml::LanceMobilityAll::eval(), osl::eval::ml::RookEffectBase::eval(), osl::eval::ml::PieceStandCombinationBoth::eval(), osl::eval::ml::King25EffectAttack::eval(), osl::eval::ml::King25EffectDefense::eval(), osl::eval::ml::King25EffectYAttack::eval(), osl::eval::ml::King25EffectYDefense::eval(), osl::eval::ml::RookPromoteDefense::eval(), osl::eval::ml::KingXBlocked3::eval(), osl::eval::ml::BishopEffectBase::eval(), osl::eval::ml::AnagumaEmpty::eval(), osl::eval::ml::King25EffectSupported::eval(), osl::eval::ml::King25EffectSupportedY::eval(), osl::eval::ml::BishopHead::eval(), osl::eval::ml::NoPawnOnStand::eval(), osl::eval::ml::NumPiecesBetweenBishopAndKing::eval(), osl::eval::ml::BishopBishopPiece::eval(), osl::eval::ml::SilverFeatures::eval(), osl::eval::ml::RookRook::eval(), osl::eval::ml::GoldFeatures::eval(), osl::eval::ml::RookRookPiece::eval(), osl::eval::ml::BishopStandFile5::eval(), osl::eval::ml::MajorCheckWithCapture::eval(), osl::eval::ml::RookSilverKnight::eval(), osl::eval::ml::BishopSilverKnight::eval(), osl::eval::ml::AttackMajorsInBase::eval(), osl::eval::ml::KnightAdvance::eval(), osl::eval::ml::AllGold::eval(), osl::eval::ml::KingMobility::eval(), osl::eval::ml::KingMobilitySum::eval(), osl::eval::ml::KnightCheck::eval(), osl::eval::ml::KnightHead::eval(), osl::eval::ml::King25Mobility::eval(), osl::eval::ml::King25Effect3::eval(), osl::eval::ml::King25EffectCountCombination::eval(), osl::eval::ml::BishopExchangeSilverKing::eval(), osl::eval::ml::EnterKingDefense::eval(), osl::eval::ml::NonPawnAttackedPtypePair::eval(), osl::eval::ml::LanceEffectPieceKingRelative::eval(), osl::eval::ml::GoldAndSilverNearKing::eval(), osl::eval::ml::PtypeCombination::eval(), osl::eval::ml::SilverFork::eval(), osl::eval::ml::BishopRookFork::eval(), osl::eval::ml::SilverAdvance26::eval(), osl::eval::ml::Promotion37::eval(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::NonPawnPieceStandCombination::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::King25EffectEachBoth::evalWithUpdate(), osl::eval::ml::King3Pieces::evalWithUpdate(), osl::eval::ml::PromotedMinorPieces::evalWithUpdate(), osl::eval::ml::KingXBlockedBoth::evalWithUpdateBang(), osl::eval::ml::PiecePair::evalWithUpdateCompiled(), osl::Move::from(), osl::GOLD, osl::Move::isDrop(), osl::isMajorBasic(), osl::isMajorNonPieceOK(), osl::Move::isPromotion(), osl::KING, osl::KNIGHT, osl::LANCE, osl::container::BoardMaskTable5x5::mask(), osl::eval::max(), osl::PAWN, osl::PBISHOP, osl::Move::player(), osl::PPAWN, osl::PROOK, osl::Move::ptype(), osl::PTYPE_EMPTY, osl::ROOK, osl::SILVER, osl::Move::to(), osl::unpromote(), osl::WHITE, osl::Square::x(), and osl::Square::y().

int osl::eval::ml::OpenMidEndingEval::value ( ) const
inline

Definition at line 357 of file openMidEndingEval.h.

Referenced by osl::search::AlphaBeta3::generateAllMoves(), make1(), make2(), and show().

Member Data Documentation

CArray<PieceMask, 40> osl::eval::ml::OpenMidEndingEval::attacked_mask
private

Definition at line 162 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::bishop_and_king
private

Definition at line 154 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

CArray<std::pair<Square,int>, 2> osl::eval::ml::OpenMidEndingEval::bishop_drop
private

Definition at line 170 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::bishop_effect
private

Definition at line 151 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::bishop_head
private

Definition at line 151 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::bishop_mobility
private

Definition at line 150 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::bishop_silver_knight
private

Definition at line 154 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

int osl::eval::ml::OpenMidEndingEval::black_attack_effect
private

Definition at line 176 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

int osl::eval::ml::OpenMidEndingEval::black_attack_piece
private

Definition at line 176 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

int osl::eval::ml::OpenMidEndingEval::black_attack_supported_piece
private

Definition at line 176 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

int osl::eval::ml::OpenMidEndingEval::black_defense_effect
private

Definition at line 179 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

int osl::eval::ml::OpenMidEndingEval::black_defense_piece
private

Definition at line 179 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

int osl::eval::ml::OpenMidEndingEval::black_gold_count
private

Definition at line 175 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

CArray<int, 5> osl::eval::ml::OpenMidEndingEval::black_king_vertical
private

Definition at line 163 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

int osl::eval::ml::OpenMidEndingEval::black_major_count
private

Definition at line 175 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

int osl::eval::ml::OpenMidEndingEval::black_pawn_count
private

Definition at line 174 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

CArray<int, 5> osl::eval::ml::OpenMidEndingEval::black_vertical
private

Definition at line 163 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

int osl::eval::ml::OpenMidEndingEval::cache
mutableprivate

Definition at line 181 of file openMidEndingEval.h.

CArray<bool, 2> osl::eval::ml::OpenMidEndingEval::can_check
private

Definition at line 184 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

CArray<PieceMask, 2> osl::eval::ml::OpenMidEndingEval::effect25
private

Definition at line 158 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

CArray<PieceMask, 2> osl::eval::ml::OpenMidEndingEval::effect25_supported
private

Definition at line 159 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

CArray<PieceMask, 2> osl::eval::ml::OpenMidEndingEval::effected_mask
private

Definition at line 160 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

CArray<PieceMask, 2> osl::eval::ml::OpenMidEndingEval::effected_mask_for_attacked
private

Definition at line 161 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

CArray2d<int, 2, 3> osl::eval::ml::OpenMidEndingEval::gs_near_king_count
private

Definition at line 168 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

volatile osl::eval::ml::OpenMidEndingEval::LoadStatus osl::eval::ml::OpenMidEndingEval::initialized_flag = osl::eval::ml::OpenMidEndingEval::Zero
staticprivate

Definition at line 136 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiIntPair osl::eval::ml::OpenMidEndingEval::king25_both_side
private

Definition at line 145 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiIntPair osl::eval::ml::OpenMidEndingEval::king25_effect_each
private

Definition at line 144 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::king3pieces
private

Definition at line 151 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiIntPair osl::eval::ml::OpenMidEndingEval::king_rook_bishop
private

Definition at line 145 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::king_table_value
private

Definition at line 148 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiIntPair osl::eval::ml::OpenMidEndingEval::kingx_blocked
private

Definition at line 144 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::knight_advance
private

Definition at line 151 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::knight_check
private

Definition at line 154 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

CArray<std::pair<Square,int>, 2> osl::eval::ml::OpenMidEndingEval::knight_drop
private

Definition at line 170 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

CArray<BoardMask, 2> osl::eval::ml::OpenMidEndingEval::knight_fork_squares
private

Definition at line 157 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::knight_head
private

Definition at line 154 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::lance_effect_piece
private

Definition at line 154 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::lance_mobility
private

Definition at line 150 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiIntPair osl::eval::ml::OpenMidEndingEval::non_pawn_attacked
private

Definition at line 146 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiIntPair osl::eval::ml::OpenMidEndingEval::non_pawn_attacked_ptype
private

Definition at line 146 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

CArray<int, 2> osl::eval::ml::OpenMidEndingEval::non_pawn_stand_count
private

Definition at line 167 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::nosupport
private

Definition at line 151 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::pawn_advance
private

Definition at line 149 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::pawn_drop
private

Definition at line 151 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::pawn_ptypeo
private

Definition at line 154 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

CArray2d<int, 2, 9> osl::eval::ml::OpenMidEndingEval::pawns
private

Definition at line 171 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiIntPair osl::eval::ml::OpenMidEndingEval::piece_fork_turn
private

Definition at line 146 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

CArray<int,2> osl::eval::ml::OpenMidEndingEval::piece_pair_king_value
private

Definition at line 166 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

int osl::eval::ml::OpenMidEndingEval::piece_pair_value
private

Definition at line 172 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

osl::eval::ml::Weights osl::eval::ml::OpenMidEndingEval::piece_pair_weights
staticprivate

Definition at line 137 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::piece_stand_combination
private

Definition at line 154 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiIntPair osl::eval::ml::OpenMidEndingEval::piece_stand_turn
private

Definition at line 146 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::piece_stand_value
private

Definition at line 149 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::piece_stand_y
private

Definition at line 154 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

eval::ml::OpenMidEndingPtypeTable osl::eval::ml::OpenMidEndingEval::Piece_Value
static

Definition at line 457 of file openMidEndingEval.h.

progress_t osl::eval::ml::OpenMidEndingEval::progress
private

Definition at line 143 of file openMidEndingEval.h.

int osl::eval::ml::OpenMidEndingEval::progress_independent_value
private

Definition at line 172 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::promoted_minor_piece
private

Definition at line 151 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

CArray2d<int, 2, PTYPE_SIZE> osl::eval::ml::OpenMidEndingEval::ptype_board_count
private

Definition at line 169 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

CArray2d<int, 2, PTYPE_SIZE> osl::eval::ml::OpenMidEndingEval::ptype_count
private

Definition at line 169 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::ptype_count_value
private

Definition at line 154 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::ptype_y_pawn_y
private

Definition at line 154 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::ptype_yy
private

Definition at line 151 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

unsigned int osl::eval::ml::OpenMidEndingEval::ptypeo_mask
private

Definition at line 183 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::ptypex
private

Definition at line 148 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::ptypey
private

Definition at line 148 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::recalculated_stage_value
private

Definition at line 149 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

int osl::eval::ml::OpenMidEndingEval::recalculated_value
private

Definition at line 172 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

CArray<std::pair<Square,int>, 2> osl::eval::ml::OpenMidEndingEval::rook_drop
private

Definition at line 170 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::rook_effect
private

Definition at line 151 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::rook_mobility
private

Definition at line 150 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::rook_pawn
private

Definition at line 151 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::rook_promote_defense
private

Definition at line 153 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

MultiInt osl::eval::ml::OpenMidEndingEval::rook_silver_knight
private

Definition at line 154 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

const int osl::eval::ml::OpenMidEndingEval::ROUND_UP = 2
staticprivate

Definition at line 186 of file openMidEndingEval.h.

CArray<std::pair<Square,int>, 2> osl::eval::ml::OpenMidEndingEval::silver_drop
private

Definition at line 170 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

Player osl::eval::ml::OpenMidEndingEval::turn
private

Definition at line 182 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

bool osl::eval::ml::OpenMidEndingEval::use_progress_independent_value_limit
private

Definition at line 185 of file openMidEndingEval.h.

int osl::eval::ml::OpenMidEndingEval::white_attack_effect
private

Definition at line 176 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

int osl::eval::ml::OpenMidEndingEval::white_attack_piece
private

Definition at line 176 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

int osl::eval::ml::OpenMidEndingEval::white_attack_supported_piece
private

Definition at line 176 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

int osl::eval::ml::OpenMidEndingEval::white_defense_effect
private

Definition at line 179 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

int osl::eval::ml::OpenMidEndingEval::white_defense_piece
private

Definition at line 179 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

CArray<int, 5> osl::eval::ml::OpenMidEndingEval::white_king_vertical
private

Definition at line 163 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().

CArray<int, 5> osl::eval::ml::OpenMidEndingEval::white_vertical
private

Definition at line 163 of file openMidEndingEval.h.

Referenced by OpenMidEndingEval().


The documentation for this class was generated from the following files: