|
38 | 38 | */
|
39 | 39 | #define ilog2_compile_time_const_u32(n) \
|
40 | 40 | ( \
|
41 |
| - (n < 2) ? 0 : \ |
42 |
| - ((n & BIT(31)) == BIT(31)) ? 31 : \ |
43 |
| - ((n & BIT(30)) == BIT(30)) ? 30 : \ |
44 |
| - ((n & BIT(29)) == BIT(29)) ? 29 : \ |
45 |
| - ((n & BIT(28)) == BIT(28)) ? 28 : \ |
46 |
| - ((n & BIT(27)) == BIT(27)) ? 27 : \ |
47 |
| - ((n & BIT(26)) == BIT(26)) ? 26 : \ |
48 |
| - ((n & BIT(25)) == BIT(25)) ? 25 : \ |
49 |
| - ((n & BIT(24)) == BIT(24)) ? 24 : \ |
50 |
| - ((n & BIT(23)) == BIT(23)) ? 23 : \ |
51 |
| - ((n & BIT(22)) == BIT(22)) ? 22 : \ |
52 |
| - ((n & BIT(21)) == BIT(21)) ? 21 : \ |
53 |
| - ((n & BIT(20)) == BIT(20)) ? 20 : \ |
54 |
| - ((n & BIT(19)) == BIT(19)) ? 19 : \ |
55 |
| - ((n & BIT(18)) == BIT(18)) ? 18 : \ |
56 |
| - ((n & BIT(17)) == BIT(17)) ? 17 : \ |
57 |
| - ((n & BIT(16)) == BIT(16)) ? 16 : \ |
58 |
| - ((n & BIT(15)) == BIT(15)) ? 15 : \ |
59 |
| - ((n & BIT(14)) == BIT(14)) ? 14 : \ |
60 |
| - ((n & BIT(13)) == BIT(13)) ? 13 : \ |
61 |
| - ((n & BIT(12)) == BIT(12)) ? 12 : \ |
62 |
| - ((n & BIT(11)) == BIT(11)) ? 11 : \ |
63 |
| - ((n & BIT(10)) == BIT(10)) ? 10 : \ |
64 |
| - ((n & BIT(9)) == BIT(9)) ? 9 : \ |
65 |
| - ((n & BIT(8)) == BIT(8)) ? 8 : \ |
66 |
| - ((n & BIT(7)) == BIT(7)) ? 7 : \ |
67 |
| - ((n & BIT(6)) == BIT(6)) ? 6 : \ |
68 |
| - ((n & BIT(5)) == BIT(5)) ? 5 : \ |
69 |
| - ((n & BIT(4)) == BIT(4)) ? 4 : \ |
70 |
| - ((n & BIT(3)) == BIT(3)) ? 3 : \ |
71 |
| - ((n & BIT(2)) == BIT(2)) ? 2 : \ |
| 41 | + ((n) < 2) ? 0 : \ |
| 42 | + (((n) & BIT(31)) == BIT(31)) ? 31 : \ |
| 43 | + (((n) & BIT(30)) == BIT(30)) ? 30 : \ |
| 44 | + (((n) & BIT(29)) == BIT(29)) ? 29 : \ |
| 45 | + (((n) & BIT(28)) == BIT(28)) ? 28 : \ |
| 46 | + (((n) & BIT(27)) == BIT(27)) ? 27 : \ |
| 47 | + (((n) & BIT(26)) == BIT(26)) ? 26 : \ |
| 48 | + (((n) & BIT(25)) == BIT(25)) ? 25 : \ |
| 49 | + (((n) & BIT(24)) == BIT(24)) ? 24 : \ |
| 50 | + (((n) & BIT(23)) == BIT(23)) ? 23 : \ |
| 51 | + (((n) & BIT(22)) == BIT(22)) ? 22 : \ |
| 52 | + (((n) & BIT(21)) == BIT(21)) ? 21 : \ |
| 53 | + (((n) & BIT(20)) == BIT(20)) ? 20 : \ |
| 54 | + (((n) & BIT(19)) == BIT(19)) ? 19 : \ |
| 55 | + (((n) & BIT(18)) == BIT(18)) ? 18 : \ |
| 56 | + (((n) & BIT(17)) == BIT(17)) ? 17 : \ |
| 57 | + (((n) & BIT(16)) == BIT(16)) ? 16 : \ |
| 58 | + (((n) & BIT(15)) == BIT(15)) ? 15 : \ |
| 59 | + (((n) & BIT(14)) == BIT(14)) ? 14 : \ |
| 60 | + (((n) & BIT(13)) == BIT(13)) ? 13 : \ |
| 61 | + (((n) & BIT(12)) == BIT(12)) ? 12 : \ |
| 62 | + (((n) & BIT(11)) == BIT(11)) ? 11 : \ |
| 63 | + (((n) & BIT(10)) == BIT(10)) ? 10 : \ |
| 64 | + (((n) & BIT(9)) == BIT(9)) ? 9 : \ |
| 65 | + (((n) & BIT(8)) == BIT(8)) ? 8 : \ |
| 66 | + (((n) & BIT(7)) == BIT(7)) ? 7 : \ |
| 67 | + (((n) & BIT(6)) == BIT(6)) ? 6 : \ |
| 68 | + (((n) & BIT(5)) == BIT(5)) ? 5 : \ |
| 69 | + (((n) & BIT(4)) == BIT(4)) ? 4 : \ |
| 70 | + (((n) & BIT(3)) == BIT(3)) ? 3 : \ |
| 71 | + (((n) & BIT(2)) == BIT(2)) ? 2 : \ |
72 | 72 | 1 \
|
73 | 73 | )
|
74 | 74 |
|
|
0 commit comments