| 30 | |
| 31 | template <typename T> |
| 32 | static T ReverseBitsSlow(T v) { |
| 33 | T r = v; // r will be reversed bits of v; first get LSB of v |
| 34 | ui32 s = sizeof(v) * 8 - 1; // extra shift needed at end |
| 35 | |
| 36 | for (v >>= 1; v; v >>= 1) { |
| 37 | r <<= 1; |
| 38 | r |= v & 1; |
| 39 | --s; |
| 40 | } |
| 41 | |
| 42 | r <<= s; // shift when v's highest bits are zero |
| 43 | return r; |
| 44 | } |
| 45 | |
| 46 | // DO_NOT_STYLE |
| 47 | Y_UNIT_TEST_SUITE(TBitOpsTest) { |