All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Types | Static Public Member Functions | Private Types | Static Private Member Functions | Static Private Attributes | Friends
osl::eval::ml::King3Pieces Class Reference

#include <kingTable.h>

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

List of all members.

Public Types

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

Static Public Member Functions

static void setUp (const Weights &weights)
static MultiInt eval (const NumEffectState &state)
static MultiInt evalWithUpdate (const NumEffectState &state, Move last_move, MultiInt &last_value)

Private Types

enum  Direction { HORIZONTAL = 0, VERTICAL, DIAGONAL }

Static Private Member Functions

template<Player King, Direction Dir>
static int index (PtypeO p1, PtypeO p2)
template<Player King, Direction Dir>
static int indexY (const Square king_position, PtypeO p1, PtypeO p2)
template<Player King, Direction Dir>
static int indexX (const Square king_position, PtypeO p1, PtypeO p2)
static MultiInt value (int vertical_index, int horizontal_index, int diagonal_index1, int diagonal_index2, int vertical_index_x, int horizontal_index_x, int diagonal_index1_x, int diagonal_index2_x, int vertical_index_y, int horizontal_index_y, int diagonal_index1_y, int diagonal_index2_y)
template<Player King>
static void evalOne (const NumEffectState &state, MultiInt &result)

Static Private Attributes

static CArray< MultiInt, 3072 > table
static CArray< MultiInt, 15360 > x_table
static CArray< MultiInt, 27648 > y_table

Friends

class King3PiecesXY

Detailed Description

Definition at line 629 of file kingTable.h.


Member Enumeration Documentation

anonymous enum
Enumerator:
ONE_DIM 
DIM 

Definition at line 633 of file kingTable.h.

Enumerator:
HORIZONTAL 
VERTICAL 
DIAGONAL 

Definition at line 640 of file kingTable.h.


Member Function Documentation

MultiInt osl::eval::ml::King3Pieces::eval ( const NumEffectState &  state) [static]

Definition at line 1310 of file kingTable.cc.

References result.

Referenced by osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval().

template<osl::Player King>
void osl::eval::ml::King3Pieces::evalOne ( const NumEffectState &  state,
MultiInt result 
) [static, private]

Definition at line 1233 of file kingTable.cc.

References osl::BLACK.

MultiInt osl::eval::ml::King3Pieces::evalWithUpdate ( const NumEffectState &  state,
Move  last_move,
MultiInt last_value 
) [static]
template<Player King, Direction Dir>
static int osl::eval::ml::King3Pieces::index ( PtypeO  p1,
PtypeO  p2 
) [inline, static, private]

Definition at line 647 of file kingTable.h.

References osl::altIfPiece(), osl::ptypeOIndex(), and osl::WHITE.

template<Player King, Direction Dir>
static int osl::eval::ml::King3Pieces::indexX ( const Square  king_position,
PtypeO  p1,
PtypeO  p2 
) [inline, static, private]
template<Player King, Direction Dir>
static int osl::eval::ml::King3Pieces::indexY ( const Square  king_position,
PtypeO  p1,
PtypeO  p2 
) [inline, static, private]
void osl::eval::ml::King3Pieces::setUp ( const Weights weights) [static]

Definition at line 1209 of file kingTable.cc.

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

static MultiInt osl::eval::ml::King3Pieces::value ( int  vertical_index,
int  horizontal_index,
int  diagonal_index1,
int  diagonal_index2,
int  vertical_index_x,
int  horizontal_index_x,
int  diagonal_index1_x,
int  diagonal_index2_x,
int  vertical_index_y,
int  horizontal_index_y,
int  diagonal_index1_y,
int  diagonal_index2_y 
) [inline, static, private]

Definition at line 691 of file kingTable.h.

References osl::eval::ml::ppair::x_table, and osl::eval::ml::ppair::y_table.


Friends And Related Function Documentation

friend class King3PiecesXY [friend]

Definition at line 631 of file kingTable.h.


Member Data Documentation

osl::CArray< MultiInt, 3072 > osl::eval::ml::King3Pieces::table [static, private]

Definition at line 709 of file kingTable.h.

osl::CArray< MultiInt, 15360 > osl::eval::ml::King3Pieces::x_table [static, private]

Definition at line 710 of file kingTable.h.

Referenced by osl::eval::ml::King3PiecesXY::setUp().

osl::CArray< MultiInt, 27648 > osl::eval::ml::King3Pieces::y_table [static, private]

Definition at line 711 of file kingTable.h.

Referenced by osl::eval::ml::King3PiecesXY::setUp().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines