My Project
osl::eval::ml::NonPawnAttacked Class Reference

#include <minorPiece.h>

Public Types

enum  { ONE_DIM = 64 , DIM = ONE_DIM * EvalStages }

Static Public Member Functions

static void setUp (const Weights &weights)
static void eval (const NumEffectState &state, MultiIntPair &out)
template<Player P>
static void evalWithUpdateBang (const NumEffectState &state, Move moved, const CArray< PieceMask, 2 > &effected_mask, MultiIntPair &last_value_and_out)
template<int Sign>
static void adjust (int black_turn_king_attack, int black_turn_king_defense, int white_turn_king_attack, int white_turn_king_defense, MultiIntPair &result)

Static Private Member Functions

static int index (bool same_turn, bool has_support, Ptype ptype)
template<bool Attack>
static int indexK (Square king, bool same_turn, bool has_support, Square position, Player owner, Ptype ptype)
template<bool Attack>
static int indexK (Square king, bool same_turn, bool has_support, Piece piece)
template<Player Attacked>
static void updateEffectChanged (const NumEffectState &state, const CArray< PieceMask, 2 > &effected_mask, const CArray< PieceMask, 2 > &new_mask, int moved_piece_number, MultiIntPair &result)

Static Private Attributes

static CArray< MultiInt, 64 > table
static CArray< MultiInt, 19584 > king_table

Friends

class NonPawnAttackedKingRelative

Detailed Description

Definition at line 909 of file minorPiece.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
ONE_DIM 
DIM 

Definition at line 913 of file minorPiece.h.

Member Function Documentation

◆ adjust()

template<int Sign>
void osl::eval::ml::NonPawnAttacked::adjust ( int black_turn_king_attack,
int black_turn_king_defense,
int white_turn_king_attack,
int white_turn_king_defense,
MultiIntPair & result )
static

Definition at line 1134 of file minorPiece.cc.

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

Referenced by eval(), evalWithUpdateBang(), and updateEffectChanged().

◆ eval()

◆ evalWithUpdateBang()

◆ index()

int osl::eval::ml::NonPawnAttacked::index ( bool same_turn,
bool has_support,
Ptype ptype )
inlinestaticprivate

Definition at line 929 of file minorPiece.h.

References osl::PTYPE_SIZE.

◆ indexK() [1/2]

template<bool Attack>
int osl::eval::ml::NonPawnAttacked::indexK ( Square king,
bool same_turn,
bool has_support,
Piece piece )
inlinestaticprivate

Definition at line 947 of file minorPiece.h.

References indexK(), osl::Piece::owner(), osl::Piece::ptype(), and osl::Piece::square().

◆ indexK() [2/2]

template<bool Attack>
int osl::eval::ml::NonPawnAttacked::indexK ( Square king,
bool same_turn,
bool has_support,
Square position,
Player owner,
Ptype ptype )
inlinestaticprivate

◆ setUp()

void osl::eval::ml::NonPawnAttacked::setUp ( const Weights & weights)
static

Definition at line 1102 of file minorPiece.cc.

References osl::NStages, ONE_DIM, table, and osl::eval::ml::Weights::value().

◆ updateEffectChanged()

template<Player Attacked>
void osl::eval::ml::NonPawnAttacked::updateEffectChanged ( const NumEffectState & state,
const CArray< PieceMask, 2 > & effected_mask,
const CArray< PieceMask, 2 > & new_mask,
int moved_piece_number,
MultiIntPair & result )
inlinestaticprivate

◆ NonPawnAttackedKingRelative

friend class NonPawnAttackedKingRelative
friend

Definition at line 911 of file minorPiece.h.

References NonPawnAttackedKingRelative.

Referenced by NonPawnAttackedKingRelative.

Member Data Documentation

◆ king_table

osl::CArray< MultiInt, 19584 > osl::eval::ml::NonPawnAttacked::king_table
staticprivate

Definition at line 1075 of file minorPiece.h.

Referenced by adjust(), and osl::eval::ml::NonPawnAttackedKingRelative::setUp().

◆ table

osl::CArray< MultiInt, 64 > osl::eval::ml::NonPawnAttacked::table
staticprivate

Definition at line 1074 of file minorPiece.h.

Referenced by setUp(), and osl::eval::ml::NonPawnAttackedKingRelative::setUp().


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