run_perft

Function run_perft 

Source
pub fn run_perft(depth: usize, fen: &str, moves: Vec<&str>) -> usize
Expand description

Run perft test

ยงExamples

use chess_lib::run_perft;

// Starting position after move e2 to e4
let result = run_perft(5, "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1", vec!["e2e4"]);

assert_eq!(result, 9771632);

// Kiwipete position: https://www.chessprogramming.org/Perft_Results#Position_2
let result = run_perft(4, "r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq -", vec![]);

assert_eq!(result, 4085603);