All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Static Private Member Functions | List of all members
osl::eval::ml::BishopRookFork Class Reference

#include <minorPiece.h>

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

Public Types

enum  { DROP_DIM = PTYPE_SIZE*PTYPE_SIZE, ONE_DIM = 2*DROP_DIM*2, DIM = ONE_DIM * EvalStages }
 

Public Member Functions

template<osl::Player Defense>
osl::MultiIntPair evalOne (const NumEffectState &state, const PieceVector &target, std::pair< Square, int > &bishop_drop, std::pair< Square, int > &rook_drop)
 

Static Public Member Functions

static const Square isBishopForkSquare (const NumEffectState &state, Player defense, const Square a, const Square b, bool maybe_empty=false)
 
static const Square isRookForkSquare (const NumEffectState &state, Player defense, const Square a, const Square b)
 
static int bishopIndex (Ptype a, Ptype b)
 
static int rookIndex (Ptype a, Ptype b)
 
static void setUp (const Weights &weights)
 
template<Player Defense>
static MultiIntPair evalOne (const NumEffectState &state, const PieceVector &target, std::pair< Square, int > &bishop_drop, std::pair< Square, int > &rook_drop)
 
static MultiIntPair eval (const NumEffectState &state, CArray< std::pair< Square, int >, 2 > &bishop_drop, CArray< std::pair< Square, int >, 2 > &rook_drop)
 

Static Public Attributes

static CArray< MultiInt, ONE_DIMtable
 

Static Private Member Functions

static const Square findDropInLine (const NumEffectState &state, Player defense, const Square a, const Square b, Piece king)
 
static bool testCenter (const NumEffectState &state, Player defense, const Square a, const Square b, Piece king, Square center, bool maybe_empty=false)
 

Detailed Description

Definition at line 1641 of file minorPiece.h.

Member Enumeration Documentation

anonymous enum
Enumerator
DROP_DIM 
ONE_DIM 
DIM 

Definition at line 1644 of file minorPiece.h.

Member Function Documentation

static int osl::eval::ml::BishopRookFork::bishopIndex ( Ptype  a,
Ptype  b 
)
inlinestatic

Definition at line 1650 of file minorPiece.h.

References osl::PTYPE_SIZE.

Referenced by rookIndex().

osl::MultiIntPair osl::eval::ml::BishopRookFork::eval ( const NumEffectState &  state,
CArray< std::pair< Square, int >, 2 > &  bishop_drop,
CArray< std::pair< Square, int >, 2 > &  rook_drop 
)
static
template<Player Defense>
static MultiIntPair osl::eval::ml::BishopRookFork::evalOne ( const NumEffectState &  state,
const PieceVector &  target,
std::pair< Square, int > &  bishop_drop,
std::pair< Square, int > &  rook_drop 
)
static

Referenced by isRookForkSquare().

template<osl::Player Defense>
osl::MultiIntPair osl::eval::ml::BishopRookFork::evalOne ( const NumEffectState &  state,
const PieceVector &  target,
std::pair< Square, int > &  bishop_drop,
std::pair< Square, int > &  rook_drop 
)
const osl::Square osl::eval::ml::BishopRookFork::findDropInLine ( const NumEffectState &  state,
Player  defense,
const Square  a,
const Square  b,
Piece  king 
)
inlinestaticprivate
const osl::Square osl::eval::ml::BishopRookFork::isBishopForkSquare ( const NumEffectState &  state,
Player  defense,
const Square  a,
const Square  b,
bool  maybe_empty = false 
)
static
const osl::Square osl::eval::ml::BishopRookFork::isRookForkSquare ( const NumEffectState &  state,
Player  defense,
const Square  a,
const Square  b 
)
inlinestatic

Definition at line 2522 of file minorPiece.cc.

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

static int osl::eval::ml::BishopRookFork::rookIndex ( Ptype  a,
Ptype  b 
)
inlinestatic

Definition at line 1651 of file minorPiece.h.

References bishopIndex(), and DROP_DIM.

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

Definition at line 2443 of file minorPiece.cc.

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

bool osl::eval::ml::BishopRookFork::testCenter ( const NumEffectState &  state,
Player  defense,
const Square  a,
const Square  b,
Piece  king,
Square  center,
bool  maybe_empty = false 
)
inlinestaticprivate

Definition at line 2480 of file minorPiece.cc.

References osl::alt(), and osl::Piece::isEmpty().

Member Data Documentation

osl::CArray< osl::MultiInt, 256 *2 *2 > osl::eval::ml::BishopRookFork::table
static

Definition at line 1660 of file minorPiece.h.


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