Skip to content

tb_probe_wdl

Andrew Grant edited this page Jul 16, 2024 · 2 revisions
unsigned tb_probe_wdl(
    uint64_t white,     uint64_t black,
    uint64_t kings,     uint64_t queens,
    uint64_t rooks,     uint64_t bishops,
    uint64_t knights,   uint64_t pawns,
    unsigned ep,        bool     turn);

Calling Conditions:

  • Can only be called when the most recent move was a capture or pawn push (Zeroing)
  • Can only be called when neither player has any Castling Rights remaining
  • Can only be called when the # of pieces is less than TB_LARGEST
  • Can be called by multiple threads at the same time safely

Non-trivial Parameters:

  • ep is the Enpassant Square, as described in a typical FEN. If there is no square, the value must be 0
  • turn must either be PYRRHIC_WHITE, or PYRRHIC_BLACK. Those constants may differ from your own engine

Return Value:

  • Failure returns TB_RESULT_FAILED
  • Success returns one of { TB_LOSS, TB_BLESSED_LOSS, TB_DRAW, TB_CURSED_WIN, TB_WIN }
Clone this wiki locally