My Project
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()

◆ 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: