private static void DoPerft() { var fen = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"; //var fen = "8/8/3k4/8/3K4/8/8/8 w - - 0 1"; //var fen = "rnbqkbnr/2pppppp/p7/Pp6/8/8/1PPPPPPP/RNBQKBNR w KQkq b6 0 3 "; //var fen = "8/3R1k2/8/4B3/1K6/p6B/5p1P/8 b - - 1 67 "; //var fen = "8/1k6/8/2Pp3r/2K5/8/8/8 w - d6"; //var fen = "8/8/4k3/8/2p5/8/B2P2K1/8 w - - 0 1"; //var fen = "8/8/1k6/2b5/2pP4/8/5K2/8 b - d3 0 1"; //fen = "8/1kP5/8/K2p3r/8/8/8/8 w - - 1 53 "; //fen = "r1b1k2r/ppppnppp/2n2q2/2b5/3NP3/2P1B3/PP3PPP/RN1QKB1R w KQkq - 0 1"; //fen = "2k5/8/8/8/8/8/6p1/2K5 w - - 1 1 "; //fen = "rnbqkbnr/1ppppppp/8/p7/1P6/P7/2PPPPPP/RNBQKBNR b KQkq b3 0 2 "; var boardFactory = new BoardFactory(); using var testClient = new InternalPerftClient(MoveGenerator, boardFactory); //using var verificationClient = new SharperPerftClient(@"C:\Chess\Engines\Sharper\Sharper.exe"); using var verificationClient = new StockfishPerftClient(@"C:\Chess\Engines\stockfish_13_win_x64_avx2\stockfish_13_win_x64_avx2.exe"); var fenSerializer = new FenSerializerService(); var perftRunner = new PerftRunner(testClient, verificationClient, boardFactory, fenSerializer); perftRunner.OnOut += Console.Write; perftRunner.Test(fen, 6); }
public static void DoPerftClient() { var boardFactory = new BoardFactory(); using var testClient = new InternalPerftClient(MoveGenerator, boardFactory); //using var verificationClient = new SharperPerftClient(@"C:\Chess\Engines\Sharper\Sharper.exe"); using var verificationClient = new StockfishPerftClient(@"C:\Chess\Engines\stockfish_13_win_x64_avx2\stockfish_13_win_x64_avx2.exe"); }
private static void DoPerftSuite() { var boardFactory = new BoardFactory(); using var testClient = new InternalPerftClient(MoveGenerator, boardFactory); //using var verificationClient = new SharperPerftClient(@"C:\Chess\Engines\Sharper\Sharper.exe"); using var verificationClient = new StockfishPerftClient(@"C:\Chess\Engines\stockfish_13_win_x64_avx2\stockfish_13_win_x64_avx2.exe"); var fenSerializer = new FenSerializerService(); var perftRunner = new PerftRunner(testClient, verificationClient, boardFactory, fenSerializer); perftRunner.OnOut += Console.Write; //var suite = new PerftSuite(perftRunner); //suite.Run(); var suite = new PerftSuiteRunner(perftRunner); var path = Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), "hartmann.epd"); suite.RunSuite(path); }