voxj-codec 0.1.0

Encodes voxj types into .voxj / .voxjz documents.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/// Number of binary digits in `n`, with `bit_length(0) == 0`.
pub fn bit_length(n: u32) -> u32 {
    u32::BITS - n.leading_zeros()
}

#[cfg(test)]
mod tests {
    use crate::bit_length;

    #[test]
    fn matches_reference() {
        assert_eq!(bit_length(0), 0);
        assert_eq!(bit_length(1), 1);
        assert_eq!(bit_length(2), 2);
        assert_eq!(bit_length(255), 8);
    }
}