<div dir="ltr"><br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">-            unsigned opMask = (1 << N) - 1;<br>

+            unsigned opMask = ~0U >> (32-N);<br></blockquote><div><br>Would it be unreasonable to pull this until a utility header? I find<br>something like<br>--<br>unsigned opMask = bits32::maxValueOfNBits(N);<br>
--<br>more readable & easier to verify.<br><br>Other things I put there are: truncateToNBits, isPowerOfTwo, <br>withoutRightmostBit, isolateRightmostBit and indexOfSingleBit. <br><br> - Daniel <br></div></div><br></div>