reason-othello is a fast, full-featured Othello library for engines and UIs.
This package implements three levels of abstraction:
bitboardcontains the raw, unchecked operations for working with Othello boards. These are fast, but may result in inconsistent state if their contracts are not manually checked. Bitboard operations are also provided through a C FFI.
Boardimplements the core game logic in the same fast, unchecked way as
bitboard. This is suitable for use with engines.
Gameis a high-level, safe interface to all of the Othello game logic. It is slower but safer and more complete than
Low-level bitboard operations.
A C-compatible FFI for core bitboard functions.
Utilities used for testing and benchmarking.
The complete state of an Othello game, seen from one player’s perspective.
A safe interface to game logic. Slower than
A location on the Othello board.
A list of locations on the Othello board, which can be iterated to retrieve them.
An Othello move.
One of the two players in a game.
The number of spaces on one edge of an Othello board.
The number of spaces on an Othello board.