RustPoker

Fast range vs. range equity calculation for poker written in rust

Hand Evaluator

Usage

rust use rust_poker::evaluator::{Hand, CARDS, evaluate}; // cards are indexed 0->51 where index is 4 * rank + suit let hand = Hand::empty() + CARDS[0] + CARDS[1]; let score = evaluate(&hand);

Equity Calculator

Usage

rust use rust_poker::hand_range::{HandRange, get_card_mask}; use rust_poker::equity_calculator::EquityCalc; let ranges = HandRange::from_str_arr(["AK,22+", "random"].to_vec()); let public_cards = get_card_mask("2h3d4c"); let n_games = 10000; let n_threads = 4; let equities = EquityCalc::start(&ranges, public_cards, n_threads, n_games);

Credit

The hand evaluator and equity calculator library is a rust rewrite of zekyll's C++ equity calculator, OMPEval