My Project
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Static Private Attributes | List of all members
osl::progress::ml::NewProgress Class Reference

#include <progress.h>

Inheritance diagram for osl::progress::ml::NewProgress:
osl::progress::ml::NewProgressData

Public Types

enum  { ProgressScale = 2 }
 

Public Member Functions

 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 Member Functions

static int maxProgress ()
 
static bool initialized ()
 
static bool setUp (const char *filename)
 
static bool setUp ()
 
static std::string defaultFilename ()
 

Private Member Functions

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 Member Functions

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 Attributes

static bool initialized_flag
 
static CArray< int, Piece::SIZEstand_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
 

Additional Inherited Members

- Private Attributes inherited from osl::progress::ml::NewProgressData
CArray< MultiInt, 2 > non_pawn_ptype_attacked_pair_eval
 
MultiInt promotion37_eval
 
CArray< int, 2 > progresses
 
CArray< int, 2 > attack5x5_progresses
 
CArray< int, 2 > stand_progresses
 
CArray< int, 2 > effect_progresses
 
CArray< int, 2 > defenses
 
CArray< int, 2 > rook
 
CArray< int, 2 > bishop
 
CArray< int, 2 > gold
 
CArray< int, 2 > silver
 
CArray< int, 2 > promoted
 
CArray< int, 2 > king_relative_attack
 
CArray< int, 2 > king_relative_defense
 
CArray< int, 2 > non_pawn_ptype_attacked_pair
 
int pawn_facing
 
int promotion37
 
int piecestand7
 

Detailed Description

Definition at line 75 of file progress.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
ProgressScale 

Definition at line 78 of file progress.h.

Constructor & Destructor Documentation

◆ NewProgress()

osl::progress::ml::NewProgress::NewProgress ( const NumEffectState state)

Member Function Documentation

◆ attack5x5Value()

template<osl::Player P>
int osl::progress::ml::NewProgress::attack5x5Value ( const NumEffectState state) const
private

◆ debugInfo()

osl::progress::ml::NewProgressDebugInfo osl::progress::ml::NewProgress::debugInfo ( ) const

◆ defaultFilename()

std::string osl::progress::ml::NewProgress::defaultFilename ( )
static

Definition at line 288 of file progress.cc.

References osl::OslConfig::home().

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

◆ index()

template<Player P>
static int osl::progress::ml::NewProgress::index ( Square  king,
Square  target 
)
inlinestaticprivate

Definition at line 113 of file progress.h.

References osl::BLACK, osl::Square::x(), and osl::Square::y().

◆ index5x5()

static int osl::progress::ml::NewProgress::index5x5 ( int  rook,
int  bishop,
int  gold,
int  silver,
int  promoted 
)
inlinestaticprivate

◆ index5x5x()

static int osl::progress::ml::NewProgress::index5x5x ( int  rook,
int  bishop,
int  gold,
int  silver,
int  promoted,
int  king_x 
)
inlinestaticprivate

◆ index5x5y()

static int osl::progress::ml::NewProgress::index5x5y ( int  rook,
int  bishop,
int  gold,
int  silver,
int  promoted,
int  king_y 
)
inlinestaticprivate

◆ indexPerEffect()

template<Player P>
static int osl::progress::ml::NewProgress::indexPerEffect ( Square  king,
Square  target,
int  count 
)
inlinestaticprivate

Definition at line 167 of file progress.h.

References osl::BLACK, osl::Square::x(), and osl::Square::y().

◆ indexPerEffectX()

template<Player P>
static int osl::progress::ml::NewProgress::indexPerEffectX ( Square  king,
Square  target,
int  count 
)
inlinestaticprivate

Definition at line 187 of file progress.h.

References osl::BLACK, osl::WHITE, osl::Square::x(), and osl::Square::y().

◆ indexPerEffectY()

template<Player P>
static int osl::progress::ml::NewProgress::indexPerEffectY ( Square  king,
Square  target,
int  count 
)
inlinestaticprivate

Definition at line 177 of file progress.h.

References osl::BLACK, osl::Square::x(), and osl::Square::y().

◆ indexRelative() [1/2]

static int osl::progress::ml::NewProgress::indexRelative ( const Player  player,
const Square  king,
const Piece  piece 
)
inlinestaticprivate

Definition at line 209 of file progress.h.

References osl::BLACK, osl::Piece::ptype(), and osl::Piece::square().

◆ indexRelative() [2/2]

template<Player P>
static int osl::progress::ml::NewProgress::indexRelative ( const Square  king,
const Ptype  ptype,
const Square  pos 
)
inlinestaticprivate

Definition at line 201 of file progress.h.

References osl::BLACK, osl::PTYPE_PIECE_MIN, osl::Square::x(), and osl::Square::y().

◆ indexX()

template<Player P>
static int osl::progress::ml::NewProgress::indexX ( Square  king,
Square  target 
)
inlinestaticprivate

Definition at line 121 of file progress.h.

References osl::BLACK, osl::WHITE, osl::Square::x(), and osl::Square::y().

◆ indexY()

template<Player P>
static int osl::progress::ml::NewProgress::indexY ( Square  king,
Square  target 
)
inlinestaticprivate

Definition at line 138 of file progress.h.

References osl::BLACK, osl::Square::x(), and osl::Square::y().

◆ initialized()

static bool osl::progress::ml::NewProgress::initialized ( )
inlinestatic

Definition at line 304 of file progress.h.

References initialized_flag.

◆ maxProgress()

static int osl::progress::ml::NewProgress::maxProgress ( )
inlinestatic

◆ progress()

int osl::progress::ml::NewProgress::progress ( ) const
inline

◆ progress16() [1/2]

const Progress16 osl::progress::ml::NewProgress::progress16 ( ) const
inline

Definition at line 257 of file progress.h.

References maxProgress(), and progress().

◆ progress16() [2/2]

const Progress16 osl::progress::ml::NewProgress::progress16 ( Player  p) const
inline

◆ progressAttack()

const Progress16 osl::progress::ml::NewProgress::progressAttack ( Player  p) const
inline

◆ progressDefense()

const Progress16 osl::progress::ml::NewProgress::progressDefense ( Player  p) const
inline

◆ progressOne()

template<osl::Player P>
void osl::progress::ml::NewProgress::progressOne ( const NumEffectState state,
int &  attack,
int &  defense 
)
staticprivate

◆ promotion37One()

template<osl::Player P>
void osl::progress::ml::NewProgress::promotion37One ( const NumEffectState state,
int  rank 
)
private

◆ rawData()

const NewProgressData osl::progress::ml::NewProgress::rawData ( ) const
inline

Definition at line 311 of file progress.h.

Referenced by osl::progress::ml::operator==().

◆ setUp() [1/2]

bool osl::progress::ml::NewProgress::setUp ( )
static

Definition at line 283 of file progress.cc.

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

◆ setUp() [2/2]

bool osl::progress::ml::NewProgress::setUp ( const char *  filename)
static

◆ update()

void osl::progress::ml::NewProgress::update ( const NumEffectState new_state,
Move  last_move 
)
inline

Definition at line 246 of file progress.h.

References osl::BLACK, and osl::SimpleState::turn().

◆ updateAttack5x5Pieces()

template<osl::Player P>
void osl::progress::ml::NewProgress::updateAttack5x5Pieces ( PieceMask  mask,
const NumEffectState state 
)
private

◆ updateAttack5x5PiecesAndState()

template<osl::Player P>
void osl::progress::ml::NewProgress::updateAttack5x5PiecesAndState ( const NumEffectState state)
private

◆ updateMain()

template<osl::Player P>
void osl::progress::ml::NewProgress::updateMain ( const NumEffectState new_state,
Move  last_move 
)
inlineprivate

◆ updateNonPawnAttackedPtypePair()

void osl::progress::ml::NewProgress::updateNonPawnAttackedPtypePair ( const NumEffectState state)
private

Definition at line 468 of file progress.cc.

◆ updateNonPawnAttackedPtypePairOne()

template<osl::Player Owner>
void osl::progress::ml::NewProgress::updateNonPawnAttackedPtypePairOne ( const NumEffectState state)
private

◆ updatePawnFacing()

void osl::progress::ml::NewProgress::updatePawnFacing ( const NumEffectState state)
private

◆ updatePieceKingRelativeBonus()

void osl::progress::ml::NewProgress::updatePieceKingRelativeBonus ( const NumEffectState state)
private

◆ updatePieceStand7()

void osl::progress::ml::NewProgress::updatePieceStand7 ( const NumEffectState state)
private

◆ updatePromotion37()

void osl::progress::ml::NewProgress::updatePromotion37 ( const NumEffectState state)
private

Definition at line 522 of file progress.cc.

◆ updateSub()

template<osl::Player P>
void osl::progress::ml::NewProgress::updateSub ( const NumEffectState new_state,
Move  last_move 
)

Member Data Documentation

◆ attack5x5_weight

osl::CArray< int, 1125 > osl::progress::ml::NewProgress::attack5x5_weight
staticprivate

Definition at line 82 of file progress.h.

Referenced by setUp().

◆ attack5x5_x_weight

osl::CArray< int, 5625 > osl::progress::ml::NewProgress::attack5x5_x_weight
staticprivate

Definition at line 83 of file progress.h.

Referenced by setUp().

◆ attack5x5_y_weight

osl::CArray< int, 10125 > osl::progress::ml::NewProgress::attack5x5_y_weight
staticprivate

Definition at line 84 of file progress.h.

Referenced by setUp().

◆ attack_relative

osl::CArray< int, 81 *15 *10 > osl::progress::ml::NewProgress::attack_relative
staticprivate

Definition at line 86 of file progress.h.

Referenced by setUp().

◆ attacked_ptype_pair_weight

osl::CArray< int, 262144 > osl::progress::ml::NewProgress::attacked_ptype_pair_weight
staticprivate

Definition at line 89 of file progress.h.

Referenced by setUp().

◆ defense_relative

osl::CArray< int, 81 *15 *10 > osl::progress::ml::NewProgress::defense_relative
staticprivate

Definition at line 87 of file progress.h.

Referenced by setUp().

◆ effectstate_weight

osl::CArray< int, 75 > osl::progress::ml::NewProgress::effectstate_weight
staticprivate

Definition at line 85 of file progress.h.

Referenced by setUp().

◆ initialized_flag

bool osl::progress::ml::NewProgress::initialized_flag
staticprivate

Definition at line 80 of file progress.h.

Referenced by initialized(), and setUp().

◆ king_relative_weight

osl::CArray< int, 4284 > osl::progress::ml::NewProgress::king_relative_weight
staticprivate

Definition at line 88 of file progress.h.

Referenced by setUp().

◆ max_progress

int osl::progress::ml::NewProgress::max_progress
staticprivate

Definition at line 93 of file progress.h.

Referenced by maxProgress(), progress(), progress16(), progressAttack(), progressDefense(), and setUp().

◆ pawn_facing_weight

osl::CArray< int, 10 > osl::progress::ml::NewProgress::pawn_facing_weight
staticprivate

Definition at line 90 of file progress.h.

Referenced by setUp().

◆ piecestand7_weight

osl::CArray< int, 56 > osl::progress::ml::NewProgress::piecestand7_weight
staticprivate

Definition at line 92 of file progress.h.

Referenced by setUp().

◆ promotion37_weight

osl::CArray< int, 16 > osl::progress::ml::NewProgress::promotion37_weight
staticprivate

Definition at line 91 of file progress.h.

Referenced by setUp().

◆ stand_weight

osl::CArray< int, osl::Piece::SIZE > osl::progress::ml::NewProgress::stand_weight
staticprivate

Definition at line 81 of file progress.h.

Referenced by setUp().


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