fm-index 0.3.1

FM index and its variant implementations for Rust.
Documentation
pub fn log2_usize(x: usize) -> usize {
    (std::mem::size_of::<usize>() * 8) - (x.leading_zeros() as usize) - 1
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn test_log2_usize() {
        assert_eq!(log2_usize(2usize), 1);
        assert_eq!(log2_usize(3usize), 1);
        assert_eq!(log2_usize(4usize), 2);
        assert_eq!(log2_usize(5usize), 2);
        assert_eq!(log2_usize(6usize), 2);
        assert_eq!(log2_usize(7usize), 2);
        assert_eq!(log2_usize(8usize), 3);
    }
}