open_pql/functions/
hi_rating.rs1use super::*;
2
3#[pqlfn(arg, rtn, eval)]
4pub fn hi_rating(
5 hand: &Hand,
6 street: PQLStreet,
7 (game, board): (PQLGame, Board),
8) -> PQLHiRating {
9 let c64_board = (board, street).into();
10
11 match game {
12 PQLGame::Holdem => eval_holdem(hand, c64_board),
13 PQLGame::ShortDeck => eval_shortdeck(hand, c64_board),
14 PQLGame::Omaha => eval_omaha(hand, c64_board),
15 }
16}
17
18#[inline]
19fn eval_holdem(hand: &Hand, mut c64: Card64) -> PQLHiRating {
20 c64.set(hand[0]);
21 c64.set(hand[1]);
22
23 eval_holdem7(c64)
24}
25
26#[inline]
27fn eval_shortdeck(hand: &Hand, mut c64: Card64) -> PQLHiRating {
28 c64.set(hand[0]);
29 c64.set(hand[1]);
30
31 eval_shortdeck7(c64)
32}
33
34#[inline]
35fn eval_omaha(hand: &Hand, board: Card64) -> PQLHiRating {
36 let h = hand.into();
37
38 eval_omaha9(h, board)
39}