feat: refactor AlgorithmicEvaluator to stateless, add game engine module and holdem_sim CLI
- Refactor AlgorithmicEvaluator from stateful Arc<Evaluator> wrapper to pure stateless evaluator with zero-allocation construction - Extract shared evaluation logic into pub(crate) methods, eliminating ~220 lines of duplicated code from Evaluator - Add game module: table, hand runner, tournament, bots, config, stats - Add holdem_sim CLI binary crate for running simulations - Convert MathEvaluator to thread-safe singleton with Arc<Inner> pattern - Replace heap-allocated combination generation with const-generics stack-based approach in AlgorithmicEvaluator::evaluate_n_card_hand - Add thiserror 2 dependency for GameError derive - Update docs: README, ACHIEVEMENTS, ROADMAP
This commit is contained in:
parent
dd605e8a66
commit
17d0440c86
43 changed files with 12329 additions and 494 deletions
|
|
@ -424,8 +424,8 @@ pub struct IntegrationTestResults {
|
|||
pub passed_tests: usize,
|
||||
/// Number of failed tests
|
||||
pub failed_tests: usize,
|
||||
/// Test execution time in milliseconds
|
||||
pub execution_time_ms: u64,
|
||||
/// Test execution time in microseconds
|
||||
pub execution_time_us: u64,
|
||||
}
|
||||
|
||||
impl IntegrationTestSuite {
|
||||
|
|
@ -479,7 +479,7 @@ impl IntegrationTestSuite {
|
|||
total_tests,
|
||||
passed_tests,
|
||||
failed_tests,
|
||||
execution_time_ms: elapsed.as_millis() as u64,
|
||||
execution_time_us: elapsed.as_micros() as u64,
|
||||
};
|
||||
|
||||
println!("Integration tests completed: {:?}", results);
|
||||
|
|
@ -733,6 +733,6 @@ mod tests {
|
|||
|
||||
let results = results.unwrap();
|
||||
assert!(results.total_tests > 0);
|
||||
assert!(results.execution_time_ms > 0);
|
||||
assert!(results.execution_time_us > 0);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue