ilog2 0.2.2

Integer logarithm library including some bit operations.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
extern crate num;

pub trait Future {
    fn leading_ones(self) -> u32;
    fn trailing_ones(self) -> u32;
}

impl<T: num::PrimInt + num::Unsigned> Future for T {
    fn leading_ones(self) -> u32 {
        let inverse = !self;
        inverse.leading_zeros()
    }
    fn trailing_ones(self) -> u32 {
        let inverse = !self;
        inverse.trailing_zeros()
    }
}