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

#include <minorPiece.h>

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

List of all members.

Public Types

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

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 
) [inline, static]

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<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 
) [static]
const osl::Square osl::eval::ml::BishopRookFork::findDropInLine ( const NumEffectState &  state,
Player  defense,
const Square  a,
const Square  b,
Piece  king 
) [inline, static, private]
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 
) [inline, static]

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 
) [inline, static]

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 
) [inline, static, private]

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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines