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

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 evalOne(), rookIndex(), and setUp().

◆ eval()

◆ evalOne() [1/2]

◆ evalOne() [2/2]

template<Player Defense>
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().

Referenced by 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()

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

Definition at line 1648 of file minorPiece.h.

References bishopIndex(), and DROP_DIM.

Referenced by evalOne(), and setUp().

◆ setUp()

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

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

Referenced by evalOne(), and setUp().


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