ofcp_data/
rank55.rs

1use crate::{
2    rank54_00, rank54_00_unchecked, rank54_01, rank54_01_unchecked, rank54_11, rank54_11_unchecked,
3    Ranks,
4};
5
6#[inline(always)]
7pub fn rank55_0(i0: usize, i1: usize, i2: usize, i3: usize, i4: usize) -> u64 {
8    let ranks = rank54_00(i1, i2, i3, i4);
9    ranks[i0]
10}
11
12/// # Safety
13/// 0 <= i0 < i1 < i2 < i3 < i4 < 52
14#[inline(always)]
15pub unsafe fn rank55_0_unchecked(i0: usize, i1: usize, i2: usize, i3: usize, i4: usize) -> u64 {
16    let ranks = rank54_00_unchecked(i1, i2, i3, i4);
17    *ranks.get_unchecked(i0)
18}
19
20#[inline(always)]
21pub fn rank55_1(i0: usize, i1: usize, i2: usize, i3: usize) -> &'static Ranks {
22    rank54_01(i0, i1, i2, i3)
23}
24
25/// # Safety
26/// 0 <= i0 < i1 < i2 < i3 < 52
27#[inline(always)]
28pub unsafe fn rank55_1_unchecked(i0: usize, i1: usize, i2: usize, i3: usize) -> &'static Ranks {
29    rank54_01_unchecked(i0, i1, i2, i3)
30}
31
32#[inline(always)]
33pub fn rank55_2(i0: usize, i1: usize, i2: usize) -> &'static Ranks {
34    rank54_11(i0, i1, i2)
35}
36
37/// # Safety
38/// 0 <= i0 < i1 < i2 < 52
39#[inline(always)]
40pub unsafe fn rank55_2_unchecked(i0: usize, i1: usize, i2: usize) -> &'static Ranks {
41    rank54_11_unchecked(i0, i1, i2)
42}