Add m_core_ctz32 & m_core_ctz64 functions
(Count trailing zeros)
This commit is contained in:
1 parent
e6fe36d3cd
commit
6b994c2928
2 files changed
+60
-2
No files matched your search
@@ -749,6 +749,18 @@ static void test_builtin(void)
|
||||
assert(m_core_clz64((uint64_t) ((1ULL<<i) | 1)) == 63U - i);
|
||||
}
|
||||
|
||||
assert(m_core_ctz32(0) == 32);
|
||||
for(unsigned i = 0; i < 31; i++) {
|
||||
assert(m_core_ctz32((uint32_t) (1UL<<i)) == i);
|
||||
assert(m_core_ctz32((uint32_t) ((1UL<<i) | 1UL<<31)) == i);
|
||||
}
|
||||
|
||||
assert(m_core_ctz64(0) == 64);
|
||||
for(unsigned i = 0; i < 63; i++) {
|
||||
assert(m_core_ctz64((uint64_t) (1ULL<<i)) == i);
|
||||
assert(m_core_ctz64((uint64_t) ((1ULL<<i) | 1ULL<<63)) == i);
|
||||
}
|
||||
|
||||
assert ( m_core_roundpow2(0) == 0);
|
||||
for(unsigned i = 0; i < 62; i++) {
|
||||
assert ( m_core_roundpow2(1ULL<<i) == 1ULL<<i);
|
||||
|
||||
Reference in new issue
Block a user