My Project
Static Public Member Functions | Static Private Member Functions | Static Private Attributes | Friends | List of all members
osl::eval::ml::RookMobilityAll Class Reference

#include <mobility.h>

Static Public Member Functions

template<int Sign>
static void adjust (const NumEffectState &, bool promoted, int vertical, int horizontal, Square pos, MultiInt &value)
 
static void eval (const NumEffectState &, MultiInt &out)
 

Static Private Member Functions

static int indexX (Square rook, bool promoted, int count, bool vertical)
 
template<int Sign>
static int indexY (Square rook, bool promoted, int count, bool vertical)
 
template<int Sign>
static int indexXKingX (Square rook, Square king, int count, bool vertical)
 

Static Private Attributes

static CArray< MultiInt, 18 > rook_vertical_table
 
static CArray< MultiInt, 18 > rook_horizontal_table
 
static CArray< MultiInt, 34 > sum_table
 
static CArray< MultiInt, 324 > x_table
 
static CArray< MultiInt, 324 > y_table
 
static CArray< MultiInt, 17 *9 > sumkingx_table
 
static CArray< MultiInt, 9 *2 *5 *9 > xkingx_table
 

Friends

class RookMobility
 
class RookMobilityX
 
class RookMobilityY
 
class RookMobilitySum
 
class RookMobilitySumKingX
 
class RookMobilityXKingX
 

Detailed Description

Definition at line 17 of file mobility.h.

Member Function Documentation

◆ adjust()

template<int Sign>
void osl::eval::ml::RookMobilityAll::adjust ( const NumEffectState state,
bool  promoted,
int  vertical,
int  horizontal,
Square  pos,
MultiInt value 
)
inlinestatic

◆ eval()

void osl::eval::ml::RookMobilityAll::eval ( const NumEffectState state,
MultiInt out 
)
static

◆ indexX()

static int osl::eval::ml::RookMobilityAll::indexX ( Square  rook,
bool  promoted,
int  count,
bool  vertical 
)
inlinestaticprivate

Definition at line 33 of file mobility.h.

References osl::Square::x().

◆ indexXKingX()

template<int Sign>
static int osl::eval::ml::RookMobilityAll::indexXKingX ( Square  rook,
Square  king,
int  count,
bool  vertical 
)
inlinestaticprivate

Definition at line 50 of file mobility.h.

References osl::Square::rotate180(), and osl::Square::x().

◆ indexY()

template<int Sign>
static int osl::eval::ml::RookMobilityAll::indexY ( Square  rook,
bool  promoted,
int  count,
bool  vertical 
)
inlinestaticprivate

Definition at line 42 of file mobility.h.

References osl::Square::y().

Friends And Related Symbol Documentation

◆ RookMobility

friend class RookMobility
friend

Definition at line 19 of file mobility.h.

◆ RookMobilitySum

friend class RookMobilitySum
friend

Definition at line 22 of file mobility.h.

◆ RookMobilitySumKingX

friend class RookMobilitySumKingX
friend

Definition at line 23 of file mobility.h.

◆ RookMobilityX

friend class RookMobilityX
friend

Definition at line 20 of file mobility.h.

◆ RookMobilityXKingX

friend class RookMobilityXKingX
friend

Definition at line 24 of file mobility.h.

◆ RookMobilityY

friend class RookMobilityY
friend

Definition at line 21 of file mobility.h.

Member Data Documentation

◆ rook_horizontal_table

osl::CArray< MultiInt, 18 > osl::eval::ml::RookMobilityAll::rook_horizontal_table
staticprivate

Definition at line 60 of file mobility.h.

◆ rook_vertical_table

osl::CArray< MultiInt, 18 > osl::eval::ml::RookMobilityAll::rook_vertical_table
staticprivate

Definition at line 59 of file mobility.h.

◆ sum_table

osl::CArray< MultiInt, 34 > osl::eval::ml::RookMobilityAll::sum_table
staticprivate

Definition at line 61 of file mobility.h.

◆ sumkingx_table

osl::CArray< MultiInt, 17 *9 > osl::eval::ml::RookMobilityAll::sumkingx_table
staticprivate

Definition at line 64 of file mobility.h.

◆ x_table

osl::CArray< MultiInt, 324 > osl::eval::ml::RookMobilityAll::x_table
staticprivate

Definition at line 62 of file mobility.h.

◆ xkingx_table

osl::CArray< MultiInt, 9 *2 *5 *9 > osl::eval::ml::RookMobilityAll::xkingx_table
staticprivate

Definition at line 65 of file mobility.h.

◆ y_table

osl::CArray< MultiInt, 324 > osl::eval::ml::RookMobilityAll::y_table
staticprivate

Definition at line 63 of file mobility.h.


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