quadrank 0.2.0

Fast rank over binary and size-4 DNA alphabets.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::binary::BiRanker;

pub use vers_vecs::RsVec;

impl BiRanker for vers_vecs::RsVec {
    fn new_packed(seq: &[u64]) -> Self {
        let bv = vers_vecs::BitVec::from_limbs_iter(seq.iter().map(|x| !*x));
        Self::from_bit_vec(bv)
    }

    fn size(&self) -> usize {
        self.heap_size()
    }

    unsafe fn rank_unchecked(&self, pos: usize) -> u64 {
        self.rank0(pos) as u64
    }
}