Skip to content

Commit a341a71

Browse files
yperesscarlescufi
authored andcommitted
math: Update ilog2_compile_time_const_u32 to wrap n with ()
This bug was found when passing a value along with '- 1' to the macro. Signed-off-by: Yuval Peress <[email protected]>
1 parent d15f8e6 commit a341a71

File tree

1 file changed

+31
-31
lines changed

1 file changed

+31
-31
lines changed

include/zephyr/math/ilog2.h

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -38,37 +38,37 @@
3838
*/
3939
#define ilog2_compile_time_const_u32(n) \
4040
( \
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 : \
7272
1 \
7373
)
7474

0 commit comments

Comments
 (0)