shakmaty-syzygy

A Rust library to probe Syzygy endgame tablebases, based on shakmaty.

Build Status crates.io

Syzygy tables allow optimal play under the 50-move rule. Tables are available for positions with up to 6 (and experimentally 7) pieces.

Example

```rust use shakmaty::Chess; use shakmaty::fen::Fen; use shakmaty_syzygy::{Tablebases, Wdl, Dtz, Syzygy};

let mut tables = Tablebases::new(); tables.add_directory("tables/regular")?;

let pos: Chess = "8/8/8/8/B7/N7/K2k4/8 b - - 0 1" .parse::()? .position()?;

let wdl = tables.probewdl(&pos)?; asserteq!(wdl, Wdl::Loss);

let dtz = tables.probedtz(&pos)?; asserteq!(dtz, Dtz(-59)); ```

Documentation

Read the documentation

Changelog

License

shakmaty-syzygy is licensed under the GPL-3.0 (or any later version at your option). See the COPYING file for the full license text.