From 2645673ae3e16ee5d7ce24a1efbf367d9fe9a8f0 Mon Sep 17 00:00:00 2001 From: eug-vs Date: Mon, 21 Aug 2023 23:29:58 +0300 Subject: feat: add pondering Also use SeqCst as the strongest ordering to avoid data races --- src/grossmeister/search.rs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'src/grossmeister/search.rs') diff --git a/src/grossmeister/search.rs b/src/grossmeister/search.rs index 532e9ed..7b40fab 100644 --- a/src/grossmeister/search.rs +++ b/src/grossmeister/search.rs @@ -133,7 +133,7 @@ impl Grossmeister { } // Could not finish in time, return what we have so far - if self.should_halt.load(std::sync::atomic::Ordering::Relaxed) { + if self.should_halt.load(std::sync::atomic::Ordering::SeqCst) { break; } } @@ -227,11 +227,8 @@ impl Grossmeister { break; } - if self.should_halt.load(std::sync::atomic::Ordering::Relaxed) { - if self.debug { - println!("info string aborting"); - } - self.should_halt.store(false, std::sync::atomic::Ordering::Relaxed); + if self.should_halt.load(std::sync::atomic::Ordering::SeqCst) { + println!("info string halting search"); break; } @@ -273,7 +270,11 @@ impl Grossmeister { match result { Some(r) => { - println!("bestmove {}", r.1[0]); + print!("bestmove {}", r.1[0]); + if r.1.len() > 1 { + print!(" ponder {}", r.1[1]) + } + println!(); r } None => { -- cgit v1.2.3