From: MA Beaudet Date: Fri, 5 Nov 2021 08:32:21 +0000 (+0100) Subject: refactor: main now in examples X-Git-Url: https://git.beaudet.xyz/?a=commitdiff_plain;h=c96d004acfbd9f8e2ebb5ef1f3c280aa5cfeb2a9;p=poker-eval.git refactor: main now in examples --- diff --git a/examples/freq_count.rs b/examples/freq_count.rs new file mode 100644 index 0000000..91ae6c8 --- /dev/null +++ b/examples/freq_count.rs @@ -0,0 +1,52 @@ +use std::time::Instant; + +use poker_eval::constants::*; +use poker_eval::*; + +fn main() { + let expected_freq: [u32; 10] = [ + 0, 40, 624, 3744, 5108, 10200, 54912, 123552, 1098240, 1302540, + ]; + let deck = init_deck(); + + let start = Instant::now(); + + #[cfg(not(feature = "parallel"))] + println!("Frequency count for all five-hand poker hands"); + let freq = deck_freq_evaluator(&deck); + + #[cfg(feature = "parallel")] + println!("Concurrent frequency count for all five-hand poker hands using rayon"); + #[cfg(feature = "parallel")] + let freq = concurrent_deck_freq_evaluator(&deck); + + let duration = start.elapsed(); + + for i in 1..=9 { + print!("{}: {}", VALUE_STR[i], freq[i]); + if freq[i].ne(&expected_freq[i]) { + println!("(expected {})", expected_freq[i]); + } else { + println!(); + } + } + + println!("\nElapsed time: {:?}", duration); + + println!(); + + let start = Instant::now(); + println!("Concurrent frequency count for all five-hand poker hands"); + let freq = parallel_deck_freq_evaluator(&deck); + let duration = start.elapsed(); + + for i in 1..=9 { + print!("{}: {}", VALUE_STR[i], freq[i]); + if freq[i].ne(&expected_freq[i]) { + println!("(expected {})", expected_freq[i]); + } else { + println!(); + } + } + println!("\nElapsed time: {:?}", duration); +} diff --git a/src/main.rs b/src/main.rs deleted file mode 100644 index 91ae6c8..0000000 --- a/src/main.rs +++ /dev/null @@ -1,52 +0,0 @@ -use std::time::Instant; - -use poker_eval::constants::*; -use poker_eval::*; - -fn main() { - let expected_freq: [u32; 10] = [ - 0, 40, 624, 3744, 5108, 10200, 54912, 123552, 1098240, 1302540, - ]; - let deck = init_deck(); - - let start = Instant::now(); - - #[cfg(not(feature = "parallel"))] - println!("Frequency count for all five-hand poker hands"); - let freq = deck_freq_evaluator(&deck); - - #[cfg(feature = "parallel")] - println!("Concurrent frequency count for all five-hand poker hands using rayon"); - #[cfg(feature = "parallel")] - let freq = concurrent_deck_freq_evaluator(&deck); - - let duration = start.elapsed(); - - for i in 1..=9 { - print!("{}: {}", VALUE_STR[i], freq[i]); - if freq[i].ne(&expected_freq[i]) { - println!("(expected {})", expected_freq[i]); - } else { - println!(); - } - } - - println!("\nElapsed time: {:?}", duration); - - println!(); - - let start = Instant::now(); - println!("Concurrent frequency count for all five-hand poker hands"); - let freq = parallel_deck_freq_evaluator(&deck); - let duration = start.elapsed(); - - for i in 1..=9 { - print!("{}: {}", VALUE_STR[i], freq[i]); - if freq[i].ne(&expected_freq[i]) { - println!("(expected {})", expected_freq[i]); - } else { - println!(); - } - } - println!("\nElapsed time: {:?}", duration); -}