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

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 1638 of file minorPiece.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
DROP_DIM 
ONE_DIM 
DIM 

Definition at line 1641 of file minorPiece.h.

Member Function Documentation

◆ bishopIndex()

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

Definition at line 1647 of file minorPiece.h.

References osl::PTYPE_SIZE.

Referenced by rookIndex().

◆ eval()

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

◆ evalOne() [1/2]

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 
)

◆ evalOne() [2/2]

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

References eval().

◆ findDropInLine()

const osl::Square osl::eval::ml::BishopRookFork::findDropInLine ( const NumEffectState state,
Player  defense,
const Square  a,
const Square  b,
Piece  king 
)
inlinestaticprivate

◆ isBishopForkSquare()

const osl::Square osl::eval::ml::BishopRookFork::isBishopForkSquare ( const NumEffectState state,
Player  defense,
const Square  a,
const Square  b,
bool  maybe_empty = false 
)
static

◆ isRookForkSquare()

const osl::Square osl::eval::ml::BishopRookFork::isRookForkSquare ( const NumEffectState state,
Player  defense,
const Square  a,
const Square  b 
)
inlinestatic

◆ rookIndex()

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

Definition at line 1648 of file minorPiece.h.

References bishopIndex(), and DROP_DIM.

◆ setUp()

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().

◆ testCenter()

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

Member Data Documentation

◆ table

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

Definition at line 1657 of file minorPiece.h.


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