15 releases

0.1.15 Mar 23, 2024
0.1.14 Mar 11, 2023
0.1.13 May 12, 2022
0.1.11 Apr 26, 2022
0.1.2 Jan 31, 2022

#299 in Encoding

Download history 28/week @ 2023-12-18 10/week @ 2023-12-25 58/week @ 2024-02-19 10/week @ 2024-02-26 5/week @ 2024-03-11 126/week @ 2024-03-18 46/week @ 2024-03-25 64/week @ 2024-04-01

241 downloads per month
Used in fudd

Apache-2.0

380KB
6.5K SLoC

ckc-rs

License: Apache 2.0 Build and Test Crates.io Version Rustdocs

Implementation of a modified Cactus Kev's Poker Hand Evaluator library in Rust. Code inspired and lookup tables borrowed from Vladislav Supalov's pokereval-rs library, which in turn was inspired by Cactus Kev's work in C.

The primary entity in the library is a PokerCard. PokerCard is a u32 variant of Cactus Kev's binary representation of a poker card. The variation being that the Suit bits order is inverted for easier sorting by other libraries:

+--------+--------+--------+--------+
|xxxbbbbb|bbbbbbbb|SHDCrrrr|xxpppppp|
+--------+--------+--------+--------+

p = prime number of rank (deuce=2,trey=3,four=5,...,ace=41)
r = rank of card (deuce=0,trey=1,four=2,five=3,...,ace=12)
SHDC = suit of card (bit turned on based on suit of card)
b = bit turned on depending on rank of card

This library contains only the bare bones implementation of the library, and is no-std to maintain maximum utility with embedded and wasm Rust.

Possible Dependencies (if needed)

Resources

Dependencies

~0.5–1.2MB
~27K SLoC