22
33GTEST_TEST (bits, leading_zero_u8)
44{
5- hud_assert_eq (hud::bits::leading_zero (u8 (0 )), 8 );
6- hud_assert_eq (hud::bits::leading_zero (u8 (1 )), 7 );
7- hud_assert_eq (hud::bits::leading_zero (u8 (2 )), 6 );
8- hud_assert_eq (hud::bits::leading_zero (u8 (0xFF )), 0 );
9- hud_assert_eq (hud::bits::leading_zero (u8 (0x80 )), 0 );
10- hud_assert_eq (hud::bits::leading_zero (u8 (0x40 )), 1 );
11- hud_assert_eq (hud::bits::leading_zero (u8 (0x0F )), 4 );
12- hud_assert_eq (hud::bits::leading_zero (u8 (0x10 )), 3 );
5+ hud_assert_eq (hud::bits::leading_zeros (u8 (0 )), 8 );
6+ hud_assert_eq (hud::bits::leading_zeros (u8 (1 )), 7 );
7+ hud_assert_eq (hud::bits::leading_zeros (u8 (2 )), 6 );
8+ hud_assert_eq (hud::bits::leading_zeros (u8 (0xFF )), 0 );
9+ hud_assert_eq (hud::bits::leading_zeros (u8 (0x80 )), 0 );
10+ hud_assert_eq (hud::bits::leading_zeros (u8 (0x40 )), 1 );
11+ hud_assert_eq (hud::bits::leading_zeros (u8 (0x0F )), 4 );
12+ hud_assert_eq (hud::bits::leading_zeros (u8 (0x10 )), 3 );
1313}
1414
1515GTEST_TEST (bits, leading_zero_u16)
1616{
17- hud_assert_eq (hud::bits::leading_zero (u16 (0 )), 16 );
18- hud_assert_eq (hud::bits::leading_zero (u16 (1 )), 15 );
19- hud_assert_eq (hud::bits::leading_zero (u16 (2 )), 14 );
20- hud_assert_eq (hud::bits::leading_zero (u16 (0xFFFF )), 0 );
21- hud_assert_eq (hud::bits::leading_zero (u16 (0x8000 )), 0 );
22- hud_assert_eq (hud::bits::leading_zero (u16 (0x4000 )), 1 );
23- hud_assert_eq (hud::bits::leading_zero (u16 (0x0F00 )), 4 );
24- hud_assert_eq (hud::bits::leading_zero (u16 (0x1000 )), 3 );
17+ hud_assert_eq (hud::bits::leading_zeros (u16 (0 )), 16 );
18+ hud_assert_eq (hud::bits::leading_zeros (u16 (1 )), 15 );
19+ hud_assert_eq (hud::bits::leading_zeros (u16 (2 )), 14 );
20+ hud_assert_eq (hud::bits::leading_zeros (u16 (0xFFFF )), 0 );
21+ hud_assert_eq (hud::bits::leading_zeros (u16 (0x8000 )), 0 );
22+ hud_assert_eq (hud::bits::leading_zeros (u16 (0x4000 )), 1 );
23+ hud_assert_eq (hud::bits::leading_zeros (u16 (0x0F00 )), 4 );
24+ hud_assert_eq (hud::bits::leading_zeros (u16 (0x1000 )), 3 );
2525}
2626
2727GTEST_TEST (bits, leading_zero_u32)
2828{
29- hud_assert_eq (hud::bits::leading_zero (u32 (0 )), 32 );
30- hud_assert_eq (hud::bits::leading_zero (u32 (1 )), 31 );
31- hud_assert_eq (hud::bits::leading_zero (u32 (2 )), 30 );
32- hud_assert_eq (hud::bits::leading_zero (u32 (0xFFFFFFFF )), 0 );
33- hud_assert_eq (hud::bits::leading_zero (u32 (0x80000000 )), 0 );
34- hud_assert_eq (hud::bits::leading_zero (u32 (0x40000000 )), 1 );
35- hud_assert_eq (hud::bits::leading_zero (u32 (0x0F000000 )), 4 );
36- hud_assert_eq (hud::bits::leading_zero (u32 (0x10000000 )), 3 );
29+ hud_assert_eq (hud::bits::leading_zeros (u32 (0 )), 32 );
30+ hud_assert_eq (hud::bits::leading_zeros (u32 (1 )), 31 );
31+ hud_assert_eq (hud::bits::leading_zeros (u32 (2 )), 30 );
32+ hud_assert_eq (hud::bits::leading_zeros (u32 (0xFFFFFFFF )), 0 );
33+ hud_assert_eq (hud::bits::leading_zeros (u32 (0x80000000 )), 0 );
34+ hud_assert_eq (hud::bits::leading_zeros (u32 (0x40000000 )), 1 );
35+ hud_assert_eq (hud::bits::leading_zeros (u32 (0x0F000000 )), 4 );
36+ hud_assert_eq (hud::bits::leading_zeros (u32 (0x10000000 )), 3 );
3737}
3838
3939GTEST_TEST (bits, leading_zero_u64)
4040{
41- hud_assert_eq (hud::bits::leading_zero (u64 (0 )), 64 );
42- hud_assert_eq (hud::bits::leading_zero (u64 (1 )), 63 );
43- hud_assert_eq (hud::bits::leading_zero (u64 (2 )), 62 );
44- hud_assert_eq (hud::bits::leading_zero (u64 (0xFFFFFFFFFFFFFFFF )), 0 );
45- hud_assert_eq (hud::bits::leading_zero (u64 (0x8000000000000000 )), 0 );
46- hud_assert_eq (hud::bits::leading_zero (u64 (0x4000000000000000 )), 1 );
47- hud_assert_eq (hud::bits::leading_zero (u64 (0x00000000FFFFFFFF )), 32 );
48- hud_assert_eq (hud::bits::leading_zero (u64 (0x0000FFFF00000000 )), 16 );
49- hud_assert_eq (hud::bits::leading_zero (u64 (0x00F0000000000000 )), 8 );
50- hud_assert_eq (hud::bits::leading_zero (u64 (0x0F00000000000000 )), 4 );
51- hud_assert_eq (hud::bits::leading_zero (u64 (0x1000000000000000 )), 3 );
52- hud_assert_eq (hud::bits::leading_zero (u64 (0x2000000000000000 )), 2 );
41+ hud_assert_eq (hud::bits::leading_zeros (u64 (0 )), 64 );
42+ hud_assert_eq (hud::bits::leading_zeros (u64 (1 )), 63 );
43+ hud_assert_eq (hud::bits::leading_zeros (u64 (2 )), 62 );
44+ hud_assert_eq (hud::bits::leading_zeros (u64 (0xFFFFFFFFFFFFFFFF )), 0 );
45+ hud_assert_eq (hud::bits::leading_zeros (u64 (0x8000000000000000 )), 0 );
46+ hud_assert_eq (hud::bits::leading_zeros (u64 (0x4000000000000000 )), 1 );
47+ hud_assert_eq (hud::bits::leading_zeros (u64 (0x00000000FFFFFFFF )), 32 );
48+ hud_assert_eq (hud::bits::leading_zeros (u64 (0x0000FFFF00000000 )), 16 );
49+ hud_assert_eq (hud::bits::leading_zeros (u64 (0x00F0000000000000 )), 8 );
50+ hud_assert_eq (hud::bits::leading_zeros (u64 (0x0F00000000000000 )), 4 );
51+ hud_assert_eq (hud::bits::leading_zeros (u64 (0x1000000000000000 )), 3 );
52+ hud_assert_eq (hud::bits::leading_zeros (u64 (0x2000000000000000 )), 2 );
5353}
0 commit comments