1#![doc = include_str!("../README.md")]
2#![forbid(unsafe_code)]
3
4mod evaluation;
5mod mv;
6mod perft;
7mod position;
8mod protocol;
9mod reference;
10mod search;
11
12#[cfg(not(target_arch = "wasm32"))]
13mod cassio;
14
15#[cfg(feature = "wasm")]
16mod wasm;
17
18pub use evaluation::{Evaluation, EvaluationProfile, EvaluationWeights, evaluate};
19pub use mv::{Move, MoveList, Square};
20pub use perft::perft;
21pub use position::{GameResult, MoveError, Position, Side, Undo};
22pub use protocol::Engine;
23pub use search::{
24 Candidate, SEARCH_PRESETS, Score, ScoreKind, SearchConfig, SearchPreset, SearchReport,
25 SearchStats, search, search_preset, search_until,
26};
27
28#[cfg(not(target_arch = "wasm32"))]
29pub use cassio::CassioEngine;
30
31pub mod verification {
36 pub use crate::perft::reference_perft;
37 pub use crate::reference::{ReferencePosition, ReferenceUndo};
38}