Function broadword::count_ones [] [src]

pub fn count_ones(x: u64) -> usize

Counts the number of ones in a u64.

Branchless. Uses the broadword algorithm from Vigna.

Examples

use broadword::count_ones;

assert_eq!( count_ones(0x0000_0000_0000_0000), 0 );
assert_eq!( count_ones(0x0000_0001_0000_0000), 1 );
assert_eq!( count_ones(0x0000_0001_0400_0000), 2 );
assert_eq!( count_ones(0x0000_0001_0600_0000), 3 );
assert_eq!( count_ones(0x3333_0001_0600_0000), 11 );