Extracted from private static method of ReaderWriterQueue
| 72 | |
| 73 | /// Extracted from private static method of ReaderWriterQueue |
| 74 | static size_t ceilToPow2(size_t x) |
| 75 | { |
| 76 | // From http://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2 |
| 77 | --x; |
| 78 | x |= x >> 1; |
| 79 | x |= x >> 2; |
| 80 | x |= x >> 4; |
| 81 | for (size_t i = 1; i < sizeof(size_t); i <<= 1) { |
| 82 | x |= x >> (i << 3); |
| 83 | } |
| 84 | ++x; |
| 85 | return x; |
| 86 | } |
| 87 | |
| 88 | |
| 89 | class ReaderWriterQueueTests : public TestClass<ReaderWriterQueueTests> |