| 187 | } |
| 188 | |
| 189 | static Key RandomTarget(Random* rnd) { |
| 190 | switch (rnd->Next() % 10) { |
| 191 | case 0: |
| 192 | // Seek to beginning |
| 193 | return MakeKey(0, 0); |
| 194 | case 1: |
| 195 | // Seek to end |
| 196 | return MakeKey(K, 0); |
| 197 | default: |
| 198 | // Seek to middle |
| 199 | return MakeKey(rnd->Next() % K, 0); |
| 200 | } |
| 201 | } |
| 202 | |
| 203 | // Per-key generation |
| 204 | struct State { |