Chess.jl

From Chessprogramming wiki
Revision as of 13:53, 29 June 2021 by GerdIsenberg (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision β†’ (diff)
Jump to: navigation, search

Home * Software * Utilities * Chess.jl

Chess.jl,
a chess programming library by Tord Romstad, written in the Julia programming language [1]. Chess.jl has functions to create and manipulate chess games, chess positions and sets of squares on the board (aka Bitboards [2]). It can read and write chess games in PGN format (including support for comments and variations), create opening books, and interact with UCI chess engines [3], for instance to play engine versus engine matches for tuning and NNUE training purposes.

Types

Chess.jl features following data types and APIs. Scalar data types like Squares and Pieces with discrete enumerated value range are internally wrapper around integer.

SquareSet

The SquareSet aka Bitboard API [4] provide setwise operations including shifts, and piece-wise attack getter - for sliding pieces from a given square and occupancy. There are also functions to transform a SquareSet into a vector of squares.

Board

Using a chess board object through a Pluto [5] or Jupyter notebook, features a graphical board, along with a board representation link in lichess.

See also

Forum Posts

External Links

References

Up one Level