Module bio::data_structures::rank_select
[−]
[src]
Rank/Select data structure based on Gonzalez, Grabowski, Mäkinen, Navarro (2005). This implementation uses only a single level of blocks, and performs well for large n.
Example
extern crate bit_vec; use bio::data_structures::rank_select::RankSelect; use bit_vec::BitVec; let mut bits = BitVec::from_elem(64, false); bits.set(5, true); bits.set(32, true); let rs = RankSelect::new(bits, 1); assert!(rs.rank(1).unwrap() == 0); assert!(rs.rank(5).unwrap() == 1); assert!(rs.rank(6).unwrap() == 1); assert!(rs.rank(32).unwrap() == 2); assert!(rs.rank(33).unwrap() == 2); assert!(rs.rank(64) == None); assert!(rs.select(0).unwrap() == 0); assert!(rs.select(1).unwrap() == 5);
Structs
RankSelect |
A rank/select data structure. |