| 163 | } |
| 164 | |
| 165 | static int irand32(int l, int h) |
| 166 | { |
| 167 | assert(l < h); |
| 168 | if (l >= h) |
| 169 | return l; |
| 170 | |
| 171 | uint32_t range = static_cast<uint32_t>(h - l); |
| 172 | |
| 173 | uint32_t rnd = urand32(); |
| 174 | |
| 175 | uint32_t rnd_range = static_cast<uint32_t>((((uint64_t)range) * ((uint64_t)rnd)) >> 32U); |
| 176 | |
| 177 | int result = l + rnd_range; |
| 178 | assert((result >= l) && (result < h)); |
| 179 | return result; |
| 180 | } |
| 181 | |
| 182 | void hash_map_test() |
| 183 | { |
no test coverage detected