Coverage Report

Created: 2018-07-03 15:31

/home/travis/build/MoarVM/MoarVM/src/bithacks.h
Line
Count
Source (jump to first uncovered line)
1
0
static MVMuint32 MVM_bithacks_count_bits(MVMuint64 value) {
2
0
    MVMuint32 count;
3
0
4
0
    for (count = 0; value; count++)
5
0
        value &= value - 1;
6
0
7
0
    return count;
8
0
}
9
10
static int MVM_bithacks_is_pow2z(MVMuint64 value)
11
0
{
12
0
    return (value & (value - 1)) == 0;
13
0
}
14
15
static MVMuint64 MVM_bithacks_next_greater_pow2(MVMuint64 value)
16
5
{
17
5
    enum { BITS = 64 };
18
5
    int exp;
19
5
20
35
    for(exp = 0; (1 << exp) < BITS; exp++)
21
30
        value |= value >> (1 << exp);
22
5
23
5
    return value + 1;
24
5
}