https://github.com/bigbuildbench/niklasf_shakmaty

https://github.com/bigbuildbench/niklasf_shakmaty

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (6.1%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: BigBuildBench
  • License: gpl-3.0
  • Language: Rust
  • Default Branch: master
  • Size: 2.26 MB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog Funding License

README.md

shakmaty

A Rust library for chess move generation

crates.io docs.rs

Features

  • Generate legal moves:

```rust use shakmaty::{Chess, Position};

let pos = Chess::default(); let legals = pos.legalmoves(); asserteq!(legals.len(), 20); ```

  • Play moves:

```rust use shakmaty::{Square, Move, Role};

// 1. e4 let pos = pos.play(&Move::Normal { role: Role::Pawn, from: Square::E2, to: Square::E4, capture: None, promotion: None, })?; ```

  • Detect game end conditions: pos.is_checkmate(), pos.is_stalemate(), pos.is_insufficient_material(), pos.outcome().

  • Read and write FEN, SAN and UCI notation.

  • Supports all Lichess variants: Standard chess, Chess960, Antichess, Atomic, King of the Hill, Three-Check, Crazyhouse, Racing Kings and Horde. Provides vocabulary to implement other variants.

  • Bitboards and compact fixed shift magic attack tables.

  • Zobrist hash positions.

  • Probe Syzygy tablebases with shakmaty-syzygy.

Documentation

Read the documentation

Benchmarks

Simple perft of the initial position. No hashtables. i7-6850K CPU @ 3.60GHz.

| perft | 4 | 5 | | -------------------------------------------------------- | ------ | ------- | | shakmaty 0.16.0 | 1.0 ms | 24.1 ms | | jordanbray/chess 3.1.1 | 0.8 ms | 18.6 ms | | Stockfish 8 (x86-64-bmi2) | 4 ms | 33 ms |

It should be noted that Stockfish is not optimized for perft speed and also maintains additional data structures for evaluation. Newer versions of Stockfish put even less emphasis on this.

License

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

Owner

  • Name: BigBuildBench
  • Login: BigBuildBench
  • Kind: organization

abbr. B3, benchmarking the repo-level understanding capability of your LLMs by reconstructing project build-file.

GitHub Events

Total
  • Create event: 6
Last Year
  • Create event: 6

Dependencies

.github/workflows/test.yml actions
  • actions/checkout v4 composite
  • dtolnay/rust-toolchain master composite
  • dtolnay/rust-toolchain stable composite
  • dtolnay/rust-toolchain nightly composite
Cargo.toml cargo
  • csv 1.3 development
  • iai 0.1 development
  • serde 1.0.197 development
  • serde_with 3.6.1 development
fuzz/Cargo.toml cargo