+
Skip to content

tigerros/reco

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tests clippy coverage docs.rs crates.io

reco

Rust Encyclopaedia of Chess Openings.

This crate is an implementation of the ECO database using shakmaty for relevant types.

Contains:

no-std and no-alloc compatible.

Features

  • alloc (default): adds functionality which requires alloc.
  • std (default): adds functionality which requires std. Huge performance increase when using find_line_from_setup. Most notably, it adds a lazily evaluated book::SETUP_TO_LINE static that maps shakmaty::Setups to Lines drastically improving opening lookup time.
  • book (default): adds ECO entries as statics.
  • book-flattened: adds a compile time evaluated book::FLATTENED static that flattens the tree structure of book::ALL.
  • serde: adds serde support for applicable types. All implementations are derived with no parameters. This includes types that have a FromStr and Display implementation.
  • arbitrary: adds arbitrary support. Requires std.
  • proptest: adds proptest support. Requires std.

Sourcing

The ECO entries are generated using the unpublished librarian crate. To make sure they are up to date, there's a workflow that runs librarian every day and makes a PR if any changes are detected.

See librarian's README for information about running.

Safety

reco declares #![forbid(unsafe_code)].

Cloning

If you clone this repository, exclude the src/book_gen directory from your IDE. Open the files in there with a well optimized text editor.

About

An ECO (Encyclopaedia of Chess Openings) crate.

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  

Languages

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载